Service Fabric Community Q&A call 53

This article is contributed. See the original author and article here.

Starting in August 2020, we introduced a new framework for our monthly community sessions. In addition to our normal Q&A in each community call we will focus on topics related to various components of the Service Fabric platform, provide updates to roadmap, upcoming releases, and showcase solutions developed by our customers that benefit the community.


 


Agenda:



Join us to learn more about one of the highly desired feature   last week, how it works, and ask us any questions related to Service Fabric etc. This month’s Q&A features one session on:



As usual, there is no need to RSVP – just navigate to the link to the call and you are in. 


We have posted recordings of all our past Service Fabric Community call  here.

Why you should celebrate your Microsoft skills and certifications

Why you should celebrate your Microsoft skills and certifications

This article is contributed. See the original author and article here.

Earning new Microsoft Certifications and skills takes dedication; from completing courses and studying for the big day to finally passing the certification exam or putting new skills to work on the job, you deserve to celebrate your achievements.


 


Giving yourself a pat on the back and making sure others know you’ve put in all that effort not only feels good, it also empowers you to transform those additional tools into real benefits for your career. It ensures your professional network understands that you’re committed, hard-working, and talented enough to attain your career goals.


 


Letting peers know about your new skills and certifications can also increase your chances of getting ahead. Take LinkedIn for instance: Members listing at least five skills on their profiles are messaged up to 27 times more than those who don’t.1


 


As Daniel Christian, a Microsoft MVP and certified trainer says, “When you earn certifications, in addition to the positive feeling you get, you can also put your badges on LinkedIn and your resume. It’s a simple action that can give you the edge you need to set yourself apart from other candidates – to prove that you’ve got something extra.”


 


Not only can you prove it, but you can also turn new knowledge and ability into added income. About 35% of technical professionals say getting certified led to salary or wage increases, and 26% report job promotions.2 Gaining skills can also move your career forward; 87% of recruiters consider skills to be a critical factor when it comes to vetting candidates.3 These advantages come when your managers and others realize you have the capabilities and dedication to continuously learn.


 


Professional development also creates a measurable boost in confidence. IDC found that IT professionals who were certified were consistently more likely to believe they could learn difficult skills, with 91% of certified IT professionals believing that the effort employees put into acquiring new skills strongly contributes to their success.4


 


Wear your badge proudly


The first step to letting peers know about your achievement, as soon as you pass an exam or earn a certification, is through claiming a digital badge. Microsoft partners with Credly to award badges for certification achievements.


 


Digital badges give you authenticated digital representations of your achievements including an easily-recognized badge image and metadata uniquely linked to you and your achievement. Anyone looking at your information instantly sees your skills aligned to the certification and can verify the badge’s authenticity. You can share your digital badge on popular online sites, such as LinkedIn, Facebook, and Twitter, and embed it into your resume, personal website, or email signature. It’s an easy and objective way to prove you have what it takes to advance in your career.


 


CelebrateCerts_DanielChristian.png


 


One more tip to honor your achievements: keep them up to date. Don’t forget to periodically renew your certifications and update your skills. You can find a wealth of resources to refresh them on Microsoft Learn.


 


Related posts:



 


1LinkedIn, “What You Need to Know To Get Hired This Month: September 2020” 


2Microsoft, “10 reasons to earn a Microsoft certification,” 2020


3LinkedIn, “To Find Your Next Job More Quickly, Tell Your Community You’re Open to Work,” October 2020


4IDC white paper, sponsored by Microsoft, “Business Value of Digital Transformation and the Contribution of a Growth Mindset in IT,” May 2020.

Introducing Multivariate Anomaly Detection

Introducing Multivariate Anomaly Detection

This article is contributed. See the original author and article here.

Microsoft partners and customers have been building metrics monitoring solutions for AIOps and predictive maintenance, by leveraging the easy-to-use time-series anomaly detection Cognitive Service: Anomaly Detector. Because of its ability to analyze time-series individually, Anomaly Detector is benefiting the industry with its simplicity and scalability.


 


What’s new


We are pleased to announce the new multi-variate capability of Anomaly Detector. The new multivariate anomaly detection APIs in Anomaly Detector further enable developers to easily integrate advanced AI of detecting anomalies from groups of metrics into their applications without the need for machine learning knowledge or labeled data. Dependencies and inter-correlations between different signals are now counted as key factors. The new feature protects your mission-critical systems and physical assets, such as software applications, servers, factory machines, spacecraft, or even your business, from failures with a holistic view.


Imagine 20 sensors from an auto engine generating 20 different signals, e.g., vibration, temperature, etc. The readings of those signals individually may not tell you much on system-level issues, but together, could represent the health of the engine. When the synergy of those signals turns odd, the multivariate anomaly detection feature can sense the anomaly like a seasoned floor expert. Moreover, the AI models are trained and customized for your data such that it understands your business. With the new APIs in Anomaly Detector, developers can now easily integrate the multivariate time-series anomaly detection capabilities as well as the interpretability of the anomalies into predictive maintenance solutions, or AIOps monitoring solutions for complex enterprise software, or business intelligence tools.


 


Customer love


Siemens.png


“Medical device production demands unprecedented precision. For this reason, the Siemens Healthineers team uses Multivariate Anomaly Detector (MVAD) in medical device stress tests during the final inspection in the production. We found MVAD easy to use and work almost out of the box with promising performance. With the ready-to-use model, we don’t need to develop a custom AD model, which ensures a short time to market. We plan to expand this technology also to other use cases. It is made easy due to good integration into our ML platform and processes.” – Dr. Jens Fürst, Head Digitalization and Automation at Siemens Healthineers


Airbus.jpg


To better understand the health and condition of the aircraft and foresee and fix potential problems before they occur, Airbus deployed Anomaly Detector, part of Cognitive Services, to gather and analyze the telemetry data. It began as a proof of concept of the aircraft-monitoring application by loading telemetry data from multiple flights for analysis and model training. “Early tests have shown that for many cases, the out-of-the-box solution works beautifully, which helps us deploy our solutions faster. I would say that we save up to three months on development for our smaller use cases with Anomaly Detector.”
Marcel Rummens: Product Owner of Internal AI Platform, Airbus


 


AI horsepower


Time-series anomaly detection is an important research topic in data mining and has a wide range of applications in the industry. Efficient and accurate anomaly detection helps companies to monitor their key metrics continuously and alert for potential incidents on time. In many real-world applications like predictive maintenance and SpaceOps, multiple time-series metrics are collected to reflect the health status of a system. Univariate time-series anomaly detection algorithms can find anomalies for a single metric. However, it could be problematic in deciding whether the whole system is running normally. For example, sudden changes of a certain metric do not necessarily mean failures of the system. As shown in Figure 1, there are obvious boosts in the volume of TIMESERIES RECEIVED and DATA RECEIVED ON FLINK in the green segment, but the system is still in a healthy state as these two features share a consistent tendency. However, in the red segment, GC shows an inconsistent pattern with other metrics, indicating a problem in garbage collection. Consequently, it is essential to take the correlations between different time series into consideration in a multivariate time-series anomaly detection system.Fig.1Fig.1


 


 


 


In this newly introduced feature, we productized a novel framework — MTAD-GAT (Multivariate Time-series Anomaly Detection via Graph Attention Network), to tackle the limitations of previous solutions. Our method considers each univariate time-series as an individual feature and tries to model the correlations between different features explicitly, while the temporal dependencies within each time-series are modeled at the same time. The key ingredients in our model are two graph attention layers, namely the feature-oriented graph attention layer and the time-oriented graph attention layer. The feature-oriented graph attention layer captures the causal relationships between multiple features, and the time-oriented graph attention layer underlines the dependencies along the temporal dimension. In addition, we jointly train a forecasting-based model and a reconstruction-based model for better representations of time-series data. The two models can be optimized simultaneously by a joint objective function.


 


maga.png


The magic behind the scenes can be summarized as follows:



  • A novel framework to solve the multivariate time-series anomaly detection problem in a self-supervised manner. Our model shows superior performances on two public datasets and establishes state-of-the-art scores in the literature. 

  • For the first time, we leverage two parallel graph attention (GAT) layers to learn the relationships between different time-series and timestamps dynamically. Especially, our model captures the correlations between different time-series successfully without any prior knowledge.

  • We integrate the advantages of both forecasting-based and reconstruction-based models by introducing a joint optimization target. The forecasting-based model focuses on single-timestamp prediction, while the reconstruction-based model learns a latent representation of the entire time-series.

  • Our network has good interpretability. We analyze the attention scores of multiple time-series learned by the graph attention layers, and the results correspond reasonably well to human intuition. We also show its capability of anomaly diagnosis.


 


Multivariate anomaly detection API overview


This new feature has a different workflow compared with the existing univariate feature. There are two phases to obtain the detection results, the training phase, and the inference phase. In the training phase, you need to provide some historical data to let the model learn past patterns. Then in the inference phase, you can call the inference API to acquire detection results of multivariate time-series in a given range.






































APIs



Functionality



/multivariate/models



Create and train model using training data



/multivariate/models/{modelid}



Get model info including training status and parameters used in the model



multivariate/models[?$skip][&$top]



List models of a subscription



/multivariate/models/{modelid}/detect



Submit inference task with user’s data, this is async



/multivariate/results/{resultid}



Get anomalies + root causes (the contribution scores of each variate for each incident)



multivariate/models/{modelId}



Delete an existing multivariate model according to the modelId



multivariate/models/{modelId}/export



Export Multivariate Anomaly Detection Model as Zip file



 


Get started!



 

Introduction to tokens

Introduction to tokens

This article is contributed. See the original author and article here.

Introduction


 



This article is written to explain OAuth 2.0 and OpenID Connect bearer tokens (JWT) and concepts relating to Microsoft Azure AD and related technologies, but can most likely be applied elsewhere too.



Tokens are everywhere on the Internet. Even if you don’t realise it, you may have just used one on the way to read this article! You may ask “What is a token and what do I need it for?” and my answer would be “Which token?”. You see, there are different types of tokens all with their use cases.


This article is here to break down the different types, how and when they are used and what a token is comprised of. Hopefully this article will help you better understand tokens and apply this to getting started with other technologies such as Microsoft Graph.


 


What is a token?


A token is a list claims of something. A real world analogy could be a receipt from a purchase of goods you made. Let’s say you needed to prove that you bought to goods to return something. The receipt would most likely contain the date of purchase, the price you paid and most importantly, the goods purchased. Essentially, you are making a claim of ownership using the receipt. A token works in a similar way – it is a way to claim “I am me” or “I am allowed to do this”.


 


Token types


As explained in the introduction, there are many different types of tokens. This article will concentrate on the 3 most commonly used tokens in Azure AD:


 


ID tokens


ID tokens are used by a client to provide a user’s identity. This is referred to as authentication. One example is a user entering their credentials in to a client and being given an ID token on sign-in success. By then having an ID token, the client then can access resources as the signed-in user without prompting the user.


 



Important Note: ID tokens should only be used for identity purposes and NOT be used to grant access to additional resources. This will be covered next



Access tokens


Access tokens are used by a client to obtain access to additional resources e.g. a protected API such as Microsoft Graph. This is referred to as authorization. With an access token, you can have a list of permissions (scopes) granted to you against a resource. You can then use these permissions in the access token to access protected resources that you would not be able to access with an ID token.


If you are still confused of the difference between authentication and authorization, @LuiseFreese sums it up perfectly:


 


01ed60e47ba84e66b302a6ef0e9035d2.png


 




The term “auth token” is widely used can become misleading as it could be interpreted as an authentication (ID) or authorization (access) token. It is important to distinguish the difference between the two and try to avoid using the term “auth token”.



Refresh tokens


Refresh tokens can be issued with ID and access tokens. Tokens have a fixed lifetime and expire, but with a refresh token a client can obtain a token without prompting the user for input. A basic example could be you are signed in to a client and it is using an access token with Microsoft Graph. On expiry of the access token, instead of interrupting the user, a new access token is silently obtained before the old access token expires using the refresh token from the original access token.


 


What makes up a token?


Let’s look at a sample token:


 


 


 

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01xbyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTEyMjA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJzdWIiOiJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJa3pxRlZyU2FTYUZIeTc4MmJidGFRIiwiYXVkIjoiNmNiMDQwMTgtYTNmNS00NmE3LWI5OTUtOTQwYzc4ZjVhZWYzIiwiZXhwIjoxNTM2MzYxNDExLCJpYXQiOjE1MzYyNzQ3MTEsIm5iZiI6MTUzNjI3NDcxMSwibmFtZSI6IkFiZSBMaW5jb2xuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQWJlTGlAbWljcm9zb2Z0LmNvbSIsIm9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC02NmYzLTMzMzJlY2E3ZWE4MSIsInRpZCI6IjkxMjIwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsIm5vbmNlIjoiMTIzNTIzIiwiYWlvIjoiRGYyVVZYTDFpeCFsTUNXTVNPSkJjRmF0emNHZnZGR2hqS3Y4cTVnMHg3MzJkUjVNQjVCaXN2R1FPN1lXQnlqZDhpUURMcSFlR2JJRGFreXA1bW5PcmNkcUhlWVNubHRlcFFtUnA2QUlaOGpZIn0.1AFWW-Ck5nROwSlltm7GzZvDwUkqvhSQpm55TQsmVo9Y59cLhRXpvB8n-55HCr9Z6G_31_UbeUkoz612I2j_Sm9FFShSDDjoaLQr54CreGIJvjtmS3EkK9a7SJBbcpL1MpUtlfygow39tFjY7EVNW9plWUvRrTgVk7lYLprvfzw-CIqw3gHC-T7IK_m_xkr08INERBtaecwhTeN4chPC4W3jdmw_lIxzC48YoQ0dB1L9-ImX98Egypfrlbm0IBL5spFzL6JDZIRRJOu8vecJvj1mq-IUhGt0MacxX8jdxYLP-KUu2d9MbNKpCKJuZ7p8gwTL5B7NlUdh_dmSviPWrw

 


 


 


Makes sense, right? Of course not. All Azure AD tokens are also referred to as “JWTs” or JSON Web Tokens. This means that the token is formatted as a JSON object and then “base64Url” encoded and signed and with a bit of extra security (we’ll cover this soon), the end result is what we have above.


 



For an introduction in to JSON, I highly recommend Bob German’s article here.



Decoding a token


Taking the sample above and putting in in to jwt.ms, it is possible to decode from “base64url” back to human-readable JSON.


 


e738e6ef6d6f41ab9e811c7d4e8d5371.png


 



You will now see a JWT is made up of 3 parts:



  • Header (red text)

  • Payload (blue text)

  • Signature (green text)


In the next two sections, we’ll cover off each part.


 


Payload


A payload or body is the content of the token where the claims are stored. Most tokens contain standard claims such as:



  • “iss” – Identity of the service that issued the token e.g. https://login.microsoftonline.com/9122040d-6c67-4c5b-b112-36a304b66dad/v2.0

  • “sub” – The subject of the token e.g. the user

  • “aud” – The audience of the token, who the token is intended for. This is usually the client and not the user

  • “exp” – Expiry date of token in seconds since the Unix epoch

  • “iat” – Time token was issued (Unix epoch seconds)

  • “nbf” – Time token is valid from (Unix epoch seconds)


In addition to standard claims, there are custom claims in Azure AD tokens such as:



  • “name” – Name of the subject

  • “oid” – Azure AD object ID of the subject

  • “tid” – Azure AD tenant ID of the subject



One great feature of jwt.ms is that you can view detailed descriptions of standard and Azure AD claims.



Validating a token


You may be thinking: I just decoded a token on a webpage – how is that secure? JWTs are typically “signed” (not encrypted) with an algorithm and private key by the issuer of the token. This doesn’t stop any of the payload or header from being decoded as the aim of a token isn’t to hide information, but provide validity to it.


 



Never store secret information in a payload of a token as it can be easily decoded.



It is up to the recipient e.g. your client to validate the token to ensure it can be trusted.


There is a bit more nuance to the process than outlined here, but here is the summary on how to validate a token. Within the header part of the JWT, it contains the information on how the JWT was “signed” (what algorithm and private/public key pair was used). With this information it is possible for the client (if it has access to the public key) to validate the signature part of the JWT.


In addition to the signature, validation should also be taken place on the payload such as expiry time, audience and issuer.


 


Token usage


Now we are familiar with tokens. Let’s cover how they could be used in a couple of scenarios:


 


OpenID Connect


OpenID Connect is a way to sign a user in to an application. It is used for authentication only and not authorization. In this example, the end-user (user-agent) requests access to an application. The application requires authentication, so the end-user is redirected to authenticate at the authorization sever (I know, confusing). If successful, an ID token is returned and then validated by the application. If it passes validation, access is granted to the application.


 


openidconnect.png


OAuth 2.0 auth code grant


Auth code grant flow is where a user is asked to sign-in at the authorization server (Azure AD). This time, however, instead of an ID token being returned, an authorization code is returned. A second request is then made to the authorization server with the authorization code, but this time an access token is returned. With the access token, a protected API can then be accessed.


 


authcodegrantflow.png


Wrap up


I hope you found this useful and understand more around what tokens are, the different types of tokens and how they are used.

How Microsoft Teams is powering hybrid work and the frontline in manufacturing

How Microsoft Teams is powering hybrid work and the frontline in manufacturing

This article is contributed. See the original author and article here.

We have learned over the past year that no business is impervious to everything. We also learned—or were reminded—how critical manufacturing ecosystems are to our daily lives.

The post How Microsoft Teams is powering hybrid work and the frontline in manufacturing appeared first on Microsoft 365 Blog.

Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.