Library / Blogs
DevOps resource center - Azure DevOps
The Microsoft blog: an index of its posts, to pick the ones on the topic you are studying.
By Microsoft engineers · Microsoft · Added 2026-10-12
All content belongs to Microsoft engineers / Microsoft. We only link to it and give credit. Report a problem
Learn this article
About 37 min left. Your work is saved as you go.
What you are about to study
Microsoft wrote this to explain how they thought about a problem. You should know the basics: caching, queues and replication.
Ideas you will meet
- Distributed Systems
- Consensus, time, failure and the fundamentals of scale-out.
What we already know about this
Our own lessons on these ideas. Read them here before you start, so it makes sense.
Core Concepts: How Things Actually Work · 9 minSSO, OAuth 2.0 and OpenID ConnectHow 'Sign in with Google' works, and the difference between authentication and authorisation.Read here
Two questions, two words
- Authentication: who are you?
- Authorisation: what are you allowed to do?
OAuth 2.0: delegated access
OAuth 2.0 lets a user give an app limited access to their data at another service, without sharing their password. Roles:
- Resource owner: the user.
- Client: the app asking for access.
- Authorization server: issues tokens (for example Google, GitHub).
- Resource server: the API holding the data.
The user grants specific scopes (for example "read my calendar"), and the client receives an access token that is limited to those scopes and expires.
The authorization code flow
100%Figure SDA-CORE-07-1 · Authorization code flow · © forcsguy.com
Important details:
- state: a random value you check on return, which stops attackers forging the callback (CSRF).
- PKCE: a one-time proof that the party exchanging the code is the one that started the flow. Use it for all clients, essential for mobile and single-page apps.
- Register exact redirect URIs and compare them strictly.
OpenID Connect: adding identity
OAuth alone says "this token may call the API", not "this is Jane". OpenID Connect (OIDC) adds an ID token (a signed JWT) with claims about the user: subject id, email, name. To sign someone in, validate the ID token's signature, issuer, audience and expiry.
SSO
With single sign-on, many applications trust one identity provider. The user signs in once; the provider vouches for them to each app. Enterprises use SAML or OIDC for this. Benefits: fewer passwords, central policies like MFA, and one place to revoke access when someone leaves.
Single sign-on means the second application never sees your password. It trusts the sign-in service you already used:
100%Figure SDA-CORE-07-2 · One sign-in, two applications · © forcsguy.com
Common mistakes
- Using the access token as proof of identity instead of validating an ID token.
- Skipping
stateor accepting any redirect URI. - Storing tokens somewhere scripts can read them.
- Requesting more scopes than the feature needs.
More on this site
Related reading
- RFC 6749: The OAuth 2.0 Authorization FrameworkIETFDocumentation
- OAuth 2.0 OverviewOAuth Community · oauth.netDocumentation
- Introduction to JSON Web TokensAuth0 · jwt.ioDocumentation
- System Design 101ByteByteGo · ByteByteGoHqGitHub
Show 6 moreShow fewer
- OAuth Audit Toolbox at IndeedIndeed engineers · IndeedCase Studies
- The Architecture of Open Source ApplicationsVarious authors · aosabook.orgBooks
- Secret Detector: Preventing Secrets in Source Code at YelpYelp engineers · YelpCase Studies
- LevelDBGoogle · GitHubGitHub
- Garbage Collection in Go Application at TwitchTwitch engineers · TwitchCase Studies
- DevOps resource center - Azure DevOpsMicrosoft engineers · MicrosoftBlogs
Go deeper on this
A path through videos, articles, other case studies and code on the same ideas as DevOps resource center - Azure DevOps.
Warm upGet the vocabulary first.
Books · Free from the author
Concurrent and Distributed Systems (Cambridge lecture notes)
Eight lectures on time, broadcast, replication, consensus and transactions, with notes, slides and video. Free from the author under CC BY-SA.
University of CambridgeIntermediate
Books · Free from the author
Computer Networks: A Systems Approach
How networks are built and why: protocols, routing, congestion control and the internet's architecture. The authors publish it free online under CC BY 4.0.
Systems ApproachIntermediate
WatchHow others solve the same problem, on video.
Videos belong to their creators and play from YouTube. More on YouTube (opens in a new tab)
ReadEngineers explain it in their own words.
Blogs · Free from the author · Read here
Scalable Web Architecture and Distributed Systems
A full chapter on the building blocks of large websites: availability, performance, reliability, scalability, caches, proxies, indexes, load balancers and queues. Free to read here under CC BY 3.0.
The Architecture of Open Source ApplicationsBeginner40 min
Papers · Read here
Facebook’s photo storage
This paper describes Haystack, an object storage system optimized for Facebook’s Photos application. Facebook currently stores over 260 billion images, which translates to over 20 petabytes of data.
USENIXIntermediate
See it in another companyThe same ideas, a different system.
Case Studies · Read here
Aroma: Using ML for Code Recommendation at Facebook
Thousands of engineers write the code to create our apps, which serve billions of people worldwide. This is no trivial task—our services have grown so diverse and complex that the codebase contains…
FacebookIntermediate
Case Studies · Read here
Brooklin: Distributed Service for Near Real-Time Data Streaming at LinkedIn
Brooklin—a distributed service for streaming data in near real-time and at scale—has been running in production at LinkedIn since 2016, powering thousands of data streams and over 2 trillion messages per day. Today, w...
LinkedInIntermediate
Read the codeSee how it looks when it is real.
GitHub
Engineering Blogs
A huge directory of company engineering blogs to learn from real production systems.
kilimchoiIntermediate
GitHub
Awesome Scalability
Curated reading list of articles on the architecture of scalable, reliable systems.
binhnguyennusIntermediate
Keep learning
Loading community…