Create an account


Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 20,190
» Latest member: noah032515
» Forum threads: 22,011
» Forum posts: 22,898

Full Statistics

Online Users
There are currently 817 online users.
» 1 Member(s) | 810 Guest(s)
Applebot, Baidu, Bing, DuckDuckGo, Google, Yandex, seetuvarma5

 
  Microsoft - PIM, PAM, MIM, MAM… Check out our guide to identity acronyms
Posted by: xSicKxBot - 03-03-2020, 03:29 PM - Forum: Windows - No Replies

PIM, PAM, MIM, MAM… Check out our guide to identity acronyms

As a security advisor working with one to three Chief Information Security Officers (CISOs) each week, the topic of identity comes up often. These are smart people who have often been in industry for decades. They have their own vocabulary of acronyms that only security professionals know such as DDoS, CEH, CERT, RAT, and 0-Day (if you don’t know one or several of these terms, I encourage you to look them up to build your vocabulary), but they often find themselves confused by Microsoft’s own set of acronyms.

This is the first in a blog series that aims to lessen some confusion around identity by sharing with you some of the terms used at Microsoft. Terms like MFA, PIM, PAM, MIM, MAM, MDM, and a few others. What do they mean and how do they relate to each other?

Multi-Factor Authentication or MFA


Let’s start with what identity means to Microsoft. Identity is the ability to clearly and without doubt ensure the identification of a person, device, location, or application. This is done by establishing trust verification and identity verification using what Microsoft calls Multi-Factor Authentication or MFA. This is a combination of capabilities that allow the entity to establish trust and verify who or what they are.

MFA is an authentication method in which a computer user is granted access only after successfully presenting two or more pieces of evidence (or factors) to an authentication mechanism: something the user and only the user knows (such as a password or PIN), something the user and only the user has (such as a mobile device or FIDO key), and something the user and only the user is (a biometric such as a fingerprint or iris scan).

Microsoft does this with technologies such as Azure Active Directory (Azure AD) in the cloud combined with Windows Hello. Azure AD is Microsoft’s identity and access management solution. Windows Hello is a Windows capability that allows a user to verify who they are with an image, a pin, or other biometric. The person’s identity is stored via an encrypted hash in the cloud, so it’s never shared in the clear (unencrypted). A cryptographic hash is a checksum that allows someone to proof that they know the original input (e.g., a password) and that the input (e.g., a document) has not been modified.

Privileged Identity Management or PIM


What is Privileged Identity Management or PIM? Organizations use PIM to assign, activate, and approve privileged identities in Azure AD. PIM provides time-based and approval-based role activation to mitigate the risks of excessive, unnecessary, or misused access permissions to sensitive resources.

Key features of PIM include:

  • Just-in-time privileged access to Azure AD and Azure resources.
  • Time-bound access to resources.
  • An approval process to activate privileged roles.
  • MFA enforcement.
  • Justification to understand why users activate.
  • Notifications when roles are activated.
  • Access reviews and internal and external audit history.

Privileged Access Management or PAM


What is Privileged Access Management or PAM? Often confused with PIM, PAM is a capability to help organizations manage identities for existing on-premises Active Directory environments. PAM is an instance of PIM that is accessed using Microsoft Identity Manager or MIM. Confused? Let me explain.

PAM helps organizations solve a few problems including:

  • Making it harder for attackers to penetrate a network and obtain privileged account access.
  • Adding protection to privileged groups that control access to domain-joined computers and the applications on those computers.
  • Providing monitoring, visibility, and fine-grained controls so organizations can see who their privileged admins are and what they are doing.

PAM gives organizations more insight into how admin accounts are being used in the environment.

Microsoft Identity Manager or MIM


But I also mentioned MIM… What is this? Microsoft Identity Manager or MIM helps organizations manage the users, credentials, policies, and access within their organizations and hybrid environments. With MIM, organizations can simplify identity lifecycle management with automated workflows, business rules, and easy integration with heterogenous platforms across the datacenter. MIM enables Active Directory to have the right users and access rights for on-premises apps. Azure AD Connect can then make those users and permissions available in Azure AD for Office 365 and cloud-hosted apps.

OK, so now we know that:

  • PIM is a capability to help companies manage identities in Azure AD.
  • PAM is an on-premises capability to manage identities in Active Directory.
  • MIM helps organizations manage users, credentials, policies, and on-premises access.

Mobile Application Management or MAM


What’s left… Oh yes: Mobile Application Management or MAM. MAM is important because if organizations can only manage identities—but not the apps then they miss a key aspect of protecting data. MAM is connected to a Microsoft capability called Microsoft Intune and is a suite of management features to publish, push, configure, secure, monitor, and update mobile apps for users.

MAM works with or without enrollment of the device, which means organizations can protect sensitive data on almost any device using MAM-WE (without enrollment). If organizations enable MFA, they can verify the user on the device. MAM also helps manage that apps the trusted user or entity can access. If you add in the Mobile Device Management or MDM feature of Intune, you can force enrollment of devices and then use MAM to manage the apps.

It’s well known that Microsoft has a lot of acronyms. This is the first in a series of blog posts aimed to assist you in navigating the acronym forest created by companies and industry. The Microsoft Platform includes a powerful set of capabilities to help encourage users to make the right decisions and gives security leadership, like you, the ability to manage and monitor identities and control access to critical files and network assets.



https://www.sickgaming.net/blog/2020/02/...-acronyms/

Print this item

  News - What Gives Me Pause
Posted by: xSicKxBot - 03-03-2020, 03:29 PM - Forum: Lounge - No Replies

What Gives Me Pause

MARS


“I’m willing to overlook your past.”

Crimson light quivers, exhales, and surges in waves across bedrock walls at quickening tempo. Deified machination ripples in judgement.

“Trust doesn’t come easily with you.” Osiris’s eyes wash in Warmind light. He remembers Saladin’s words. Remembers the names that were. He feels small again, against the wash. Alone.

Osiris feels the weight of Rasputin’s assessment. Rhythmic cipher crashes over him as displays sling projections into maddening motion. Osiris’s face splits into golden multitudes to consume the information. Eyes in all directions, searching for the path. Rasputin constructs a model of the system, highlighting an anomalous signal near the edge of Sol’s influence. Osiris’s mind sieves the data into manufactured purpose.

He is led.

Never one to follow.

With nothing left to chase.

Oxidized dust scours the landing pad. Sagira greets Osiris as he exits the bunker and slumps into his jumpship.

“How did it go?”

“Better than expected.”

“Did you say hi to Ana?”

“She is busy. We have a lead.”

Osiris grips the flight stick. His gaze slips betwixt and between points of focus.

“Do we have to leave right now?” Sagira floats into his sightline. “I’m sure Saint woul—“

Their eyes don’t meet.

“We have a long flight.”

Sagira relents. Her tone sharpens. “How long?”

KUIPER-OORT EXPANSE

||KUIPER SLINGSHOT ACHIEVED: COURSE CORRECTION; NEGATIVE; BREAK LINE TRAJECTORY FAILURE||

||ALERT: GRAVITATIONAL ANOMALY: BOW||

Solar warmth peels away into guideless vacuum as Osiris skims across the Heliopause. A hollow serenity bathes his face.

“What is it?”

Osiris breathes a sigh of relief at the sight of the anomaly.

“An answer.”

“I… feel strange.” Sagira settles from her orbit about Osiris’s shoulders, her voice crackling with interference.

“It might be best if you stay with the ship.”

“It might be best if you had better ideas.”

Osiris grunts under his breath and cuts the engines. “I won’t be long.”

|COURSE CORRECTION;NEGATIVE;BREAK LINE TRAJECTORY FAILURE||

“That’s never true.” Sagira scans the warping stillness. “There’s nothing in there, Osiris.”

“No reason to worry then.”

Sagira narrows her iris at him. “I can’t even find a point to transmat you to.”

“No matter.”

“What?” Sagira faces the anomaly. “What are you trying to prove?”

Osiris affixes a visor to his helmet and clips a localizing beacon to his belt. With a hiss, his head swims in pressurizing atmosphere.

“It has to lead somewhere.” His helmet radio vies with interference.

Sagira droops in disappointment. “Does it?”

He looks through her, eyes sullen and heavy. He nods.

A great Maw yawns before them, wicked and soft. Brilliant unfurling layers of opaque invitation. They drift. The Deep comfort hums through his skin, breeding a resilient calm. A silent static stasis boiling away at the brim of consciousness.

||COLLISION ALERT: BOW | COURSE CORRECTION;NEGATIVE;COLLISION IMMINENT||

The Anomalous Maw welcomes. It is a gullet, endless in hunger and depth that splits reality like petals opening to consume the Sun. The depth warps. Sweet flavor spins through the senses. It cradles him, locks in motionless descent, rocks away fear with warm recognition. Stretches, and wraps, and cribs.

||COLLISION ALERT: STARBOARD;BOW;ABEAM;RADIAL;AFT;BOW;ABEAM;PORT:AFT;RADIAL;PORT:BOW | COURSE CORRECTION: NEGATIVE;TRAJECTORY FAILURE;COLLISION: FAILURE||

It threads through space set adrift beyond and before, until there is only within. Within: a point. Lone and stark amid the undulating expanse. Distant, at the edges, and forward, only deeper.

Osiris a wayfaring witness. A reluctant heir. A broken promise made true. A husk to fill a throne of sustenance. A shear to prune the vine. A warden to vacancy. A mind elated and crestfallen. A sojourner of meaning ever seeking.

He turns back. Sagira’s light blinks from shaded canopy within his vessel. Starless bends weave and break through pools of luminescent memory. They flow to the point beyond.

The point grows gaunt, and if he were to reach out, he would brush the walls with his fingertips. Osiris stands in dark quiet comfort. He treads placid trim. He swims in depth lined by pale rivers of white gnashing, far below and above.

He sends forth his Echoes. Their sight finds no purchase in the gullet. They push the walls beyond his fingers and let stand only the path of want. They drift until no longer felt. The skeins neither snap nor remain.

Before him, the gnarled point softens and splits into a blooming cathedra. A metal seed laid barren in the bosom of the throne in a pool of light. A nexus. He plucks it from the pool. From its drippings spawn a rapturous light, spreading through the enormity and ravenously washing over the gullet at increasing pace.

Dark gives way to cold reflective alloy.

To logic and formless calculous.

The cathedra, overwhelmed by prediction, rings with the dull mimicked tone of congruence. They scream to Osiris. His mind. They crave, never to tire, his unique causality. They would grow, unceasing. Death to death, forever.

The path of want falls to assimilation.

Osiris flees to the safety of Sagira’s blinking light. The gullet quivers reverberation that trails his every step in sentient chromic glisten. He calls for her. To open the ship. To break the false-light wave that besets his every step. To—

“I’m glad you changed your mind.”

Sagira’s shell shines a reflection across the cockpit as Osiris’s jumpship rolls to face the Sun. “Ready to go?”

||KUIPER SLINGSHOT JUMP-LOCK: TRAJECTORY CLEAR; GREEN LINE||

“Sagira…” He grips a cold metal seed. “Yes.”

The Sun hangs dim and distant in a sea of ink. Its waning glare burns the focus out of Osiris’s eyes. Blind to all other points, they drift; engines humming in anticipation; vessel drenched in an angular shadow.



https://www.sickgaming.net/blog/2020/02/...-me-pause/

Print this item

  News - E3 2020 “Moving Ahead Full Speed” Despite Coronavirus Concerns
Posted by: xSicKxBot - 03-03-2020, 03:28 PM - Forum: Nintendo Discussion - No Replies

E3 2020 “Moving Ahead Full Speed” Despite Coronavirus Concerns

E3

After seeing a number of publishers pull out of PAX East last week due to concerns surrounding the coronavirus outbreak, as well as the postponement of GDC, thoughts naturally fall to another major gaming event coming up in the near future: E3.

The 2020 show is set to take place this summer from 9th – 11th June, and last month saw Nintendo, Xbox, and a number of third party publishers named as attending. The coronavirus no doubt throws a spanner in the works, but E3 organiser Entertainment Software Association has issued a statement regarding its plans.

Here’s what it said to Vice:

“Everyone is watching the situation very closely. We will continue to be vigilant, as our first priority is the health, wellness and safety of all of our exhibitors and attendees. Given what we know at this time, we are moving ahead full speed with E3 2020 planning. Exhibit and registration sales are on track for an exciting show in June.”

With Sony already opting out of this year’s show, E3’s organisers will no doubt be hoping that other major names stay on board despite the current risks.



https://www.sickgaming.net/blog/2020/03/...-concerns/

Print this item

  News - Longtime Call of Duty dev and co-studio head Jason Blundell departs Treyarch
Posted by: xSicKxBot - 03-03-2020, 03:28 PM - Forum: Lounge - No Replies

Longtime Call of Duty dev and co-studio head Jason Blundell departs Treyarch

Jason Blundell, a longtime force behind Call of Duty’s various Zombies modes, has announced his departure from Treyarch.

“After thirteen fantastic, action-packed years, I am moving on from Treyarch,” writes Blundell.

“During my time at the studio, I’ve been privileged to work on a variety of projects, wearing many hats along the way, with my time on the Zombies team proving to be quite special. It’s a team comprised of some of the most creative and talented developers in the industry, many of whom you never see because they’re behind the scenes shaping the direction of each experience.”

Blundell joined the team during the development of Call of Duty 3 and has lent his talents as a producer and game director to a total of seven Call of Duty releases to-date.

Many of his efforts have seen him at the head of each entry’s Zombies mode, most recently for Call of Duty: Black Ops 3, while 2018 saw him assume the role of co-studio head alongside Dan Bunting and Mark Gordon.



https://www.sickgaming.net/blog/2020/02/...-treyarch/

Print this item

  News - Important GDC 2020 Update
Posted by: xSicKxBot - 03-03-2020, 03:28 PM - Forum: Lounge - No Replies

Important GDC 2020 Update

After close consultation with our partners in the game development industry and community around the world, we’ve made the difficult decision to postpone the Game Developers Conference this March.

Having spent the past year preparing for the show with our advisory boards, speakers, exhibitors, and event partners, we’re genuinely upset and disappointed not to be able to host you at this time .

We want to thank all our customers and partners for their support, open discussions and encouragement. As everyone has been reminding us, great things happen when the community comes together and connects at GDC. For this reason, we fully intend to host a GDC event later in the summer. We will be working with our partners to finalize the details and will share more information about our plans in the coming weeks.

For more information, please visit our Frequently Asked Questions page.

Gamasutra and GDC are sibling organizations under parent Informa Tech



https://www.sickgaming.net/blog/2020/02/...20-update/

Print this item

  News - Pokemon Go Thundurus Raid Guide: Best Counters And Battling Tips
Posted by: xSicKxBot - 03-03-2020, 02:01 PM - Forum: Lounge - No Replies

Pokemon Go Thundurus Raid Guide: Best Counters And Battling Tips

A new Legendary Pokemon has arrived in Pokemon Go. Thundurus, one of the three Legendary Forces of Nature from the Unova region in Pokemon Black and White, is now appearing in five-star Raid Battles, making this your first chance to capture one in Niantic's mobile game.

Thundurus will only be available in Raid Battles for a limited time, so you'll need to act quickly if you're hoping to add one to your collection. If you need help capturing the Bolt Strike Pokemon before it leaves the game, we've rounded up some tips on how to battle and capture Thundurus below.

No Caption Provided

Continue Reading at GameSpot

https://www.gamespot.com/articles/pokemo...01-10abi2f

Print this item

  Buildbox Review And Plan Pricing Changes
Posted by: xSicKxBot - 03-03-2020, 05:45 AM - Forum: Game Development - No Replies

Buildbox Review And Plan Pricing Changes

Buildbox is a “no code” 2D/3D game engine for Windows and Mac, capable of targeting those platforms plus Steam and mobile.  Nearing the end of 2019 Buildbox announced a free edition with the release of BuildBox 3.

Since that update they have also announced that the Plus tier of pricing is back and cheaper than before.  Details of that announcement:

This new Buildbox Plus plan will also feature easy export to iOS, Android, and Windows. Plus, AdMob and ironSource SDK integration. Although there are no in-app purchase or custom ads options, it’s a huge upgrade from Buildbox Free, without breaking the bank. You’ll be able to make professional-looking 2D and 3D games for only $9.99 per month or $75.99 per year. All of our subscriptions are set at a 1-year commitment, which you’ll be able to later choose to opt-out of or renew.

Buildbox Plus

Buildbox Plus Plan ($9.99 per month or $75.99 per year)

  • Customizable Splash Screen
  • 5 World Limit
  • Unlimited Scenes
  • Export (iOS, Android, Windows)
  • Easy Monetization AdMob and ironSource SDKs

If you’ve been wanting to upgrade from Free, but not quite ready for Pro, this plan is a great option. With Buildbox Plus, you’ll have access to the latest version of our software, Buildbox 3, which includes all of our no-code and low-code game building features from smart assets to nodes. You can create up to five different immersive 2D and 3D worlds to challenge players. There’s also 100+ preloaded assets in Buildbox 3 to help you quickly build out the levels or scenes in your game. And of course, there’s an option to drag and drop your own assets into the software to use as well.

If you are interested in learning more about BuildBox, check out our hands-on review in the video below.

[embedded content]

GameDev News


<!–

–>



https://www.sickgaming.net/blog/2020/03/...g-changes/

Print this item

  ASP.NET Core Apps Observability
Posted by: xSicKxBot - 03-03-2020, 05:45 AM - Forum: C#, Visual Basic, & .Net Frameworks - No Replies

ASP.NET Core Apps Observability

Francisco Beltrao

Francisco

Thank you Sergey Kanzhelev for the support and review of this ASP.NET Core Apps Observability article.

Modern software development practices value quick and continuous updates, following processes that minimize the impact of software failures. As important as identifying bugs early, finding out if changes are improving business value are equally important. These practices can only work when a monitoring solution is in place. This article explores options for adding observability to .NET Core apps. They have been collected based on interactions with customers using .NET Core in different environments. We will be looking into OpenTelemetry and Application Insights SDKs to add observability to a sample distributed application.

Identifying software error and business impact require a monitoring solution with the ability to observe and report how the system and users behave. The collected data must provide the required information to analyze and identify a bad update. Answering questions such as:

  • Are we observing more errors than before?
  • Were there new error types?
  • Did the request duration unexpectedly increase compared to previous versions?
  • Has the throughput (req/sec) decreased?
  • Has the CPU and/or Memory usage increased?
  • Were there changes in our KPIs?
  • Is it selling less than before?
  • Did our visitor count decrease?

The impact of a bad system update can be minimized by combining the monitoring information with progressive deployment strategies. Such as canary, mirroring, rings, blue/green, etc.

Observability is Built on 3 Pillars:


  • Logging: collects information about events happening in the system. Helping the team analyze unexpected application behavior. Searching through the logs of suspect services can provide the necessary hint to identify the problem root cause. Such as: service throwing out of memory exceptions and app configuration not reflecting expected values. As well as calls to external service with incorrect address, calls to external service returns with unexpected results, and incoming requests with unexpected input.

  • Tracing: collects information to create an end-to-end view of how transactions are executed in a distributed system. A trace is like a stack trace spanning multiple applications. Once a problem has been recognized, traces are a good starting point in identifying the source in distributed operations. Like calls from service A to B are taking longer than normal, service payment calls are failing, etc.

  • Metrics: provide a real-time indication of how the system is running. It can be leveraged to build alerts, allowing proactive reactance to unexpected values. As opposed to logs and traces, the amount of data collected using metrics remains constant as the system load increases. Application problems are often first detected through abnormal metric values. Such as CPU usage being higher than before, payment error count spiking, and queued item count keeps growing.

Adding Observability to a .NET Core Application


There are many ways to add observability aspects to an application. Dapr for example, is a runtime to build distributed applications, transparently adding distribute tracing. Another example is through the usage of service meshes in Kubernetes (Istio, Linkerd).

Built-in and transparent tracing are typically covering basic scenarios and answering generic questions, such as observed request duration or CPU trends. Other questions, such as custom KPIs or user behavior, require adding instrumentation to your code.

To illustrate how observability can be added to a .NET Core application we will be using the following asynchronous distributed transaction example:

Sample Observability Application Overview

  1. Main Api receives a request from a “source”.
  2. Main Api enriches the request body with current day, obtained from Time Api.
  3. Main Api enqueues enriched request to a RabbitMQ queue for asynchronous processing.
  4. RabbitMQProcessor dequeues request.
  5. RabbitMQProcessor, as part of the request processing, calls Time Api to get dbtime.
  6. Time Api calls SQL Server to get current time.

To run the sample application locally (including dependencies and observability tools), follow this guide. The article will walkthrough adding each observability pillar (logging, tracing, metrics) into the sample asynchronous distributed transaction.

Note: for information on bootstrapping OpenTelemetry or Application Insights SDK please refer to the documentation: OpenTelemetry and Application Insights.

Logging was redesigned in .NET Core, bringing an integrated and extensible API. Built-in and external logging providers allow the collection of logs in multiple formats and targets. When deciding a logging platform, consider the following features:

  • Centralized: allowing the collection/storage of all system logs in a central location.
  • Structured logging: allows you to add searchable metadata to logs.
  • Searchable: allows searching by multiple criteria (app version, date, category, level, text, metadata, etc.)
  • Configurable: allows changing verbosity without code changes (based on log level and/or scope).
  • Integrated: integrated into tracing, facilitating analysis of traces and logs in the same tool.

The sample application uses the ILogger interface for logging. The snippet below demonstrates an example of structure logging. Which captures events using message template and generates information that is human and machine readable.

var result = await repository.GetTimeFromSqlAsync();
logger.LogInformation("{operation} result is {result}", nameof(repository.GetTimeFromSqlAsync), result);

When using a logging backend that understands structured logs, such as Application Insights, search instances of the example log items where “operation” is equal to “GetTimeForSqlAsync”:

Observability Application Insights structured log search

Tracing collects required information to enable the observation of a transaction as it “walks” through the system. It must be implemented in every service taking part of the transaction to be effective.

.NET Core defines a common way in which traces can be defined through the System.Diagnostics.Activity class. Through the usage of this class, dependency implementations (i.e. HTTP, SQL, Azure, EF Core, StackExchange.Redis, etc.) can create traces in a neutral way, independent of the monitoring tool used.

It is important to notice that those activities will not be available automatically in a monitoring system. Publishing them is responsibility of the monitoring SDK used. Typically, SDKs have built-in collectors to common activities, transferring them to the destination platform automatically.

In the last quarter of 2019 OpenTelemetry was announced, promising to standardize telemetry instrumentation and collection across languages and tools. Before OpenTelemetry (or its predecessors OpenCensus and OpenTracing), adding observability would often mean adding proprietary SDKs (in)directly to the code base.

The OpenTelemetry .NET SDK is currently in alpha. The Azure Monitor Application Insights team is investing in OpenTelemetry as a next step of Azure Monitor SDKs evolution.

Quick Intro on Tracing with OpenTelemetry


In a nutshell, OpenTelemetry collects traces using spans. A span delimits an operation (HTTP request processing, dependency call). It contains start and end time (among other properties). It has a unique identifier (SpanId, 16 characters, 8 bytes) and a trace identifier (TraceId, 32 characters, 16 bytes). The trace identifier is used to correlate all spans for a given transaction. A span can contain children spans (as calls in a stack trace). If you are familiar with Azure Application Insights, the following table might be helpful to understand OpenTelemetry terms:

Application Insights OpenTelemetry
Request, PageView Span with span.kind = server
Dependency Span with span.kind = client
Id of Request and Dependency SpanId
Operation_Id TraceId
Operation_ParentId ParentId

Adding Tracing to a .NET Core Application


As mentioned previously, an SDK is needed in order to collect and publish distributed tracing in a .NET Core application. Application Insights SDK sends traces to its centralized database while OpenTelemetry supports multiple exporters (including Application Insights). When configured to use OpenTelemetry, the sample application sends traces to a Jaeger instance.

In the asynchronous distributed transaction scenario, track the following operations:

HTTP Requests between microservices


HTTP correlation propagation is part of both SDKs. With the only requirement of setting activity id format to W3C at application start:

public static void Main(string[] args)
{ Activity.DefaultIdFormat = ActivityIdFormat.W3C; Activity.ForceDefaultIdFormat = true; // rest is omitted
}

Dependency calls (SQL, RabbitMQ)


Unlike Application Insights SDK, OpenTelemetry (in early alpha) does not yet have support for SQL Server trace collection. A simple way to track dependencies with OpenTelemetry is to wrap the call like the following example:

var span = this.tracer.StartSpan("My external dependency", SpanKind.Client);
try
{ return CallToMyDependency();
}
catch (Exception ex)
{ span.Status = Status.Internal.WithDescription(ex.ToString()); throw;
}
finally
{ span.End();
}

Asynchronous Processing / Queued Items


There is no built-in trace correlation between publishing and processing a RabbitMQ message. Custom code is required, creating the publishing activity (optional) and referencing the parent trace during the item dequeuing.

We covered previously creating traces by wrapping the dependency call. This option allows expressing additional semantic information such as links between spans for batching and other fan-in patterns. Another option is to use System.Diagnostics.Activity, which is a SDK independent way to create traces. This option has limited set of features, however, is built-in into .NET.

These two options work well with each other and .NET team is working on making .NET Activity and OpenTelemetry spans integration better.

Creating an Operation Trace


The snippet below demonstrates how the publish operation trace can be created. It adds the trace information to the enqueued message header, which will later be used to link both operations.

Activity activity = null;
if (diagnosticSource.IsEnabled("Sample.RabbitMQ"))
{ // Generates the Publishing to RabbitMQ trace // Only generated if there is an actual listener activity = new Activity("Publish to RabbitMQ"); diagnosticSource.StartActivity(activity, null);
} // Add current activity identifier to the RabbitMQ message
basicProperties.Headers.Add("traceparent", Activity.Current.Id); channel.BasicPublish(...) if (activity != null)
{ // Signal the end of the activity diagnosticSource.StopActivity(activity, null);
}

A collector, which subscribes to target activities, is required to publish the trace to a backend. Implementing a collector is not a straightforward task and is intended to be used by SDK implementors. The snippet below is taken from the sample application, where a simplified and not production-ready, RabbitMQ collector for OpenTelemetry was implemented:

public class RabbitMQListener : ListenerHandler
{ public override void OnStartActivity(Activity activity, object payload) { var span = this.Tracer.StartSpanFromActivity(activity.OperationName, activity); foreach (var kv in activity.Tags) span.SetAttribute(kv.Key, kv.Value); } public override void OnStopActivity(Activity activity, object payload) { var span = this.Tracer.CurrentSpan; span.End(); if (span is IDisposable disposableSpan) { disposableSpan.Dispose(); } }
} var subscriber = new DiagnosticSourceSubscriber(new RabbitMQListener("Sample.RabbitMQ", tracer), DefaultFilter);
subscriber.Subscribe();

For more information on how to build collectors, please refer to OpenTelemetry/Application Insights built-in collectors as well as this user guide.

Activity


As mentioned, HTTP requests in ASP.NET have built-in activity correlation injected by the framework. That is not the case for the RabbitMQ consumer. In order to continue the distributed transaction, we must create the span referencing the parent trace. This was injected into the message by the publisher. The snippet below uses an extension method to build the activity:

public static Activity ExtractActivity(this BasicDeliverEventArgs source, string name)
{ var activity = new Activity(name ?? Constants.RabbitMQMessageActivityName); if (source.BasicProperties.Headers.TryGetValue("traceparent", out var rawTraceParent) && rawTraceParent is byte[] binRawTraceParent) { activity.SetParentId(Encoding.UTF8.GetString(binRawTraceParent)); } return activity;
}

The activity is then used to create the concrete trace. In OpenTelemetry the code looks like this:

// Note: OpenTelemetry requires the activity to be started
activity.Start();
tracer.StartActiveSpanFromActivity(activity.OperationName, activity, SpanKind.Consumer, out span);

The snippet below creates the telemetry using Application Insights SDK:

// Note: Application Insights will start the activity
var operation = telemetryClient.StartOperation<Dependencytelemetry>(activity);

The usage of activities gives flexibility in terms of SDK used, as it is a neutral way to create traces. Once instrumented the distributed end-to-end transaction in Jaeger looks like this:

Distributed Trace in Jaeger

The same transaction in Application Insights looks like this:

Distributed Trace in Application Insights

When using single monitoring solution for traces and logs, such as Application Insights, the logs become part of the end-to-end transaction:

Observability Application Insights: traces and logs

Metrics


There are common metrics applicable to most applications, like CPU usage, allocated memory, and request time. As well as business specific like visitors, page views, sold items, and sent items. Exposing business metrics in a .NET Core application typically requires using an SDK.

Collection metrics in .NET Core happens through 3rd-party SDKs which aggregate values locally, before sending to a backend. Most libraries have built-in collection for common application metrics. However, business specific metrics need to be built in the application logic, since they are created based on events that occur in the application domain.

In the sample application we are using metric counters for: enqueued items, successfully processed items and unsuccessfully processed items. The implementation in both SDKs is similar, requiring setting up a metric, dimensions and finally, tracking the counter values.

OpenTelemetry supports multiple exporters and we will be using Prometheus exporter. Prometheus combined with Grafana, for visualization and alerting, is a popular choice for open source monitoring. Application Insights supports metrics as any other instrumentation type, requiring no additional SDK or tool.

Defining a metric and tracking values using OpenTelemetry looks like this:

// Create counter
var simpleProcessor = new UngroupedBatcher(exporter, TimeSpan.FromSeconds(5));
var meterFactory = MeterFactory.Create(simpleProcessor);
var meter = meterFactory.GetMeter("Sample App");
var enqueuedCounter = meter.CreateInt64Counter("Enqueued Item"); // Incrementing counter for specific source
var labelSet = new Dictionary<string, string>() { { "Source", source } }; enqueuedCounter.Add(context, 1L, this.meter.GetLabelSet(labelSet));

The visualization with Grafana is illustrated in the image below:

Metrics with Grafana/Prometheus

The snippet below demonstrates how to define a metric and track its values using the Application Insights SDK:

// create counter
var enqueuedCounter = telemetryClient.GetMetric(new MetricIdentifier("Sample App", "Enqueued Item", "Source")); // Incrementing counter for specific source
enqueuedCounter.TrackValue(metricValue, source);

The visualization in Application Insights is illustrated below:

Observability Application Insights custom metrics

Troubleshooting


Now that we have added the 3 observability pillars to a sample application, let’s use them to troubleshoot a scenario where the application is experiencing problems.

The first signals of an application problems are usually detected by anomalies in metrics. The snapshot below illustrates such a scenario, where the number of failed processed items spikes (red line).

Metrics indicating failure

A possible next step is to look for hints in distributed traces. This should help us identify where the problem is happening. In Jaeger, searching with the tag “error=true” filters the results, listing transaction where at least one error happened.

Jaeger traces with error

In Application Insights, we can search for errors in end-to-end transactions by looking in the Failures/Dependencies or Failures/Exceptions.

Search traces with error in Application Insights

Application Insights error details in trace

The problem seems to be related to the Sample.RabbitMQProcessor service. Logs of this service can help us identify the problem. When using Application Insights logging provider, log and traces are correlated, being displayed in the same view:

Observability Application Insights errors and logs

Looking at the details, we discover that the exception InvalidEventNameException is being raised. Since we are logging the message payload, details of the failed message are available in the monitoring tool. It appears the message being processed has the eventName value of “error”, which is causing the exception to be raised.

When introducing observability into a .NET Core application, two decisions need to be taken:

  • The backend(s) where collected data will be stored and analyzed.
  • How instrumentation will be added to the application code.

Depending on your organization, the monitoring tool might already be selected. However, if you do have the chance to make this decision, consider the following:

  • Centralized: having all data in a single place makes it simple to correlate information. For example, logs, distribute traces and CPU usage. If they are split, more effort is required.
  • Manageability: how simple is to manage the monitoring tool? Is it hosted in the same machines/VMs where your application is running? In that case, shared infrastructure unavailability might leave you in the dark. When monitoring is not working, alerts won’t be triggered and metrics won’t be collected.
  • Vendor Locking: if you need to run the same application in different environments (i.e. on premises and cloud), choosing a solution that can run everywhere might be favored.
  • Application Dependencies: parts of your infrastructure or tooling that might require you to use a specific monitoring vendor. For example, Kubernetes scaling and/or progressive deployment based on Prometheus metrics.

Once the monitoring tool has been defined, choosing an SDK is limited to two options. Using the one provided by the monitoring vendor or a library capable of integrating to multiple backends.

Vendor SDKs typically yield little/no surprises regarding stability and functionality. That is the case with Application Insights, for example. It is stable with a rich feature set, including live stream, which is a feature-specific to this specific monitoring system.

OpenTelemetry


Using OpenTelemetry SDK gives you more flexibility, offering integration with multiple monitoring backends. You can even mesh them: a centralized monitoring solution for all collected data, while having a subset sent to Prometheus to fulfill a requirement. If you are unsure whether OpenTelemetry is a good fit for your project, consider the following:

  • When is your project going to production? The SDK is currently in alpha, meaning breaking changes and non-production-ready is expected.
  • Are you using vendor specific features not yet available through the OpenTelemetry SDK (specific collectors, etc.)?
  • Is your monitoring backend supported by the SDK?
  • Are you replacing a vendor SDK with OpenTelemetry? Plan some time to compare both SDKs, OpenTelemetry exporters might have differences compared to how the vendor SDK collects data.

Source code with the sample application can be found in this GitHub Repository.

Francisco Beltrao



https://www.sickgaming.net/blog/2020/02/...rvability/

Print this item

  AppleInsider - Mario Kart Tour for iOS to gain multiplayer mode on March 8
Posted by: xSicKxBot - 03-03-2020, 05:45 AM - Forum: Apples Mac and OS X - No Replies

Mario Kart Tour for iOS to gain multiplayer mode on March 8

 

Following a months-long closed beta period, Nintendo on Monday announced a long-awaited multiplayer mode will be added to popular iOS racing game Mario Kart Tour on Sunday.

According to a tweet posted to Nintendo’s official Mario Kart Tour account, the upcoming mode supports up to eight simultaneous players including “in-game friends, nearby, or around the world.”

Nintendo breaks down three multiplayer game options in a separate tweet. Players can challenge friends or other nearby players to games with custom rules. A second option, called “Standard Races,” pits players against other other gamers around the world in races with two sets of rules that change daily. Finally, “Gold Races” are restricted to Mario Kart Tour Gold Pass subscribers and allow users to compete in races with four sets of rules that change daily. Rank, or “grades,” are applied to Standard and Gold Races based on performance.

Testing of the multiplayer system commenced in a closed beta round in December and was followed by public testing in January.

Multiplayer competition has been a defining feature of the Mario Kart franchise since its launch on the Super Nintendo Entertainment System in 1992 and its absence on mobile was viewed by some as a hindrance to adoption. Currently, players are limited to racing against AI bots, with in-game incentives like character unlocks and parts pushing users to continue play.

The feature is due to go live on March 8 at 8 p.m. Pacific.

Mario Kart Tour launched in September after multiple delays, with first week performance estimated at 90 million downloads. Android accounted for some 53.5 million downloads, while Apple’s iOS notched 36.5 million downloads, according to Sensor Tower.



https://www.sickgaming.net/blog/2020/03/...n-march-8/

Print this item

  Microsoft - Microsoft Power Automate to add robotic process automation in April
Posted by: xSicKxBot - 03-03-2020, 05:45 AM - Forum: Windows - No Replies

Microsoft Power Automate to add robotic process automation in April

Woman sits at desk using laptop and second monitor.

In case you missed our announcement at Ignite 2019, we launched the preview of UI flows, the new robotic process automation (RPA) capability in Microsoft Power Automate.

Today we’re announcing that UI flows will be generally available worldwide on April 2.

Power Automate already helps hundreds of thousands of organizations automate millions of processes every day. With the addition of RPA, Power Automate will help these organizations to also automate their legacy apps and manual processes through UI-based automation. The key Power Automate capabilities we are announcing today include RPA general availability for attended and unattended scenarios, along with a flexible business model to support any business scenario.

Automate legacy and modern apps on one platform


Power Automate—the most comprehensive cloud-based automation platform—unlocks analog data with AI, automates UI with RPA, and automates cloud applications and databases with built-in connectors. This comprehensive set of capabilities represents the next generation of automation and will be accessible to everyone in an organization including coders and non-coders alike through a low code development environment and uniquely affordable licensing.

With Power Automate, we’re putting automation into the hands of all workers so that everyone can automate repetitive tasks across legacy and modern applications, and simplify how they work in a scalable, more secure way.

Example of dropdown menu for inputs in Power Automate.

Completing the low-code automation portfolio with robotic process automation


Across the software industry, numerous technology solutions help people do their job. But the widespread adoption of technology also means that businesses can end up with disconnected solutions that require them to patch together processes across siloed applications. In the past, joining disparate systems together was difficult or too costly because it required professional developers, especially when some of the data could still be on paper or locked in decades-old Windows or web applications.

Power Automate provides a single solution for end-to-end automation that spans on-premises systems and the cloud. This approach addresses three primary areas:

  • Intelligent understanding of data: Structured and unstructured data from paper-based invoices to images can be easily understood and integrated with other critical business applications. With AI-driven capabilities like forms processing in AI Builder, end users can parse data from analog sources.
  • Connecting to over 300 modern apps and services: It is easy to work with information stored in the cloud or on-premises apps and databases. We offer native connectivity to common apps or a company’s APIs with over 300 connectors out-of-the-box and a no-code way to connect to any internal services.
  • RPA connects to enterprise applications without APIs: Some applications are too old or expensive to support API connectivity. With UI flows, end users can automate their work in these applications by recording manual tasks such as mouse clicks, keyboard inputs, and data entry, and then automate the replay of these steps to integrate with more complex process automations.

The ability to use AI, API connectors, and RPA make Power Automate the most comprehensive automation platform available in the cloud today.

Ingram Micro, one of the world’s largest distributors and IT leaders in technology products, is using Power Automate to improve and automate workflows spanning multiple systems and functions such as new account creation and onboarding, management of customer credit lines, transportation optimization, event management, and integration of external partner data into their internal processes and workflows.

“With Power Automate, we’ve been able to improve the customer and internal associate experience, and at a much faster rate than before, with 75% of Power Automate projects completed in less than 30 days. We are excited to see that Microsoft is investing and delivering in the area of RPA as Power Automate has been an important factor in modernizing our business and we look forward to exploring opportunities with the new RPA capabilities coming this spring.” – Jim Annes, Vice President of US Business Operations and Transformation, Ingram Micro

Democratizing automation for all organizations with attended and unattended RPA


Power Automate offers both attended and unattended RPA. This means you can record and playback actions with or without human interaction (attended and unattended, respectively). And, just as we democratized access to app development with Microsoft Power Apps, and BI with Microsoft Power BI, we are democratizing RPA with Power Automate.

RPA capabilities will be licensed as part of two new Power Automate offers that provide organizations with the flexibility to address a range of attended and unattended scenarios. UI flow authoring and bot orchestration and management are included in both offers, with no add-ons required.*

Attended RPA

The per user with attended RPA plan provides the ability for users to run an attended RPA bot on their workstation. Priced at $40 per user/month, the plan is optimized to span legacy and modern applications by enabling users to combine UI and API-based automation. Additionally, attended RPA includes access to several AI Builder capabilities like forms processing, object detection, prediction, text classification and recognition, and more.

Unattended RPA

An unattended RPA add-on will be available for the new per-user plan with attended RPA, as well as the existing per-flow plan. Each unattended RPA bot is priced at $150 per month, and organizations can choose to scale the number of bots running autonomously as needed.

Both the Power Automate per-user plan with attended RPA and the Power Automate unattended RPA add-on will be available early April. Visit our pricing page to learn more.

Get started now!


Watch an overview of RPA in Power Automate and visit the UI flows web page to learn more about getting started with the RPA preview by clicking ‘Try preview‘. Be sure to stay tuned to the blog for updates like these and future updates to Power Automate and the Power Platform.

*All pricing information provided is intended solely to be a non-binding estimate as of the date this guidance is provided. It does not constitute an offer by Microsoft. The actual pricing will be reflected on the EA Price List, when this offering becomes available. 



https://www.sickgaming.net/blog/2020/03/...-in-april/

Print this item

 
Latest Threads
TℰMU Exclusive Code {"⟪“a...
Last Post: seetuvarma5
Less than 1 minute ago
Poland Temu ⇶ Coupon [[“a...
Last Post: seetuvarma5
4 minutes ago
Sweden Temu ⇶ Coupon [[“a...
Last Post: seetuvarma5
6 minutes ago
Jordan Temu ⇶ Coupon [[“a...
Last Post: seetuvarma5
8 minutes ago
Mauritius Temu ⇶ Coupon [...
Last Post: seetuvarma5
9 minutes ago
Azerbaijan Temu ⇶ Coupon ...
Last Post: seetuvarma5
10 minutes ago
Andorra Temu ⇶ Coupon [[“...
Last Post: seetuvarma5
11 minutes ago
Georgia Temu ⇶ Coupon [[“...
Last Post: seetuvarma5
13 minutes ago
Greece Temu ⇶ Coupon [[“a...
Last Post: seetuvarma5
14 minutes ago
Iceland Temu ⇶ Coupon [[“...
Last Post: seetuvarma5
15 minutes ago

Forum software by © MyBB Theme © iAndrew 2016