SlideShare a Scribd company logo
Microservices in Azure
How Microsoft's public cloud supports
modern application architecture
Doug Vanderweide, MCSE, MCSD, MCT
https://www.dougv.com
@dougvdotcom
linkedin.com/in/dougvdotcom
Today's objectives
"microservices," "SOA" and other termsDefine
the architecture of a microservices-based applicationUnderstand
the base services Azure provides to support that patternDiscover
supporting services used alongside those base servicesDescribe
metrics and monitoring optionsReview
What Are Microservices, Really?
Or 'Service-Oriented Architecture.' Or whatever the kids are calling it these days.
They're building blocks.
We can build simple structures from a few blocks,
or very complex, integrated solutions from many blocks.
Service-Oriented Architecture
• It’s just another way of saying "microservices"
• Each service of an SOA/microservices-based solution:
• does just one thing
• is independently managed
• can be reused by many different solutions
• can be easily replaced by something else
• adapts to its workload independently
• communicates with its neighbors via standard protocols (HTTP, messages)
An n-Tier Web Application
Why This Doesn't Work Well In The Cloud
Cloud-based
network
services are
more abstract
1
Monoliths are
difficult to
maintain and
scale
2
Requires lots of
server/network
configuration
and admin
3
Doesn't make
full use of cloud
abstractions
4
Microservices
To The Rescue!
Microservices-Based Web Application
Benefits Of Microservices Architecture
• Recycle APIs for other uses
• e.g., reservations API can place waste inventory on discount sites
• Manage each service independent of other services
• Problem with the authentication API? Other services stay up while you fix it
• Each service scales independently
• High Web UI demand? Only scale that API
• Allows continuous integration/continuous delivery/automation
• No more sprints ruining your weekends
• Check out a branch, test it, deploy it -- all via automation
Basic Azure PaaS Options
The public cloud services that host your underlying APIs/microservices
App Service
• Azure Resource Manager's adoption of ASM Cloud Services
• Web and Worker roles are now Web, API, Mobile, Logic or Function apps
• Uses anonymous, generalized guest OS to host services
• Windows and Linux
• Azure handles most configuration and management
• You have control over runtimes, some environment aspects
Web Apps
• Used to host websites
• Built for high availability
• Multi-instance
• Automatic load balancing/health probes
• Can be scaled on a schedule or via metric
• Meet anticipated or unanticipated demand
• Built for CI/CD via git, VSTS, cloud file storage
Logic Apps
• Used to chain together API workflows
• Trigger event kicks off workflow
• Workflow performs a task, using inputs
• Process can be looped, building off each input
• Incorporates common APIs, aka connectors
• Twitter, Facebook, Google, YouTube, etc.
• Available for most Microsoft and Azure SaaS workloads
• Office 365, SQL Server, Dynamics, Power BI, OneDrive, etc.
• Many other enterprise workloads available
• Salesforce, Oracle, SAP, etc.
Mobile Apps
• Intended to serve as the "back end" tooling
• Effectively used to create API endpoints and data stores
• Simplified management for offline data sync
• SQL, NoSQL, Azure Storage
• You can create your own data API, too
• Used to manage push notifications (via Notification Hubs)
• Provides easy SSO management
• Azure Active Directory, Facebook, Twitter, Microsoft, Google
API Apps
• Very similar to Web Apps
• Adds Swagger-based API management tooling
• Service discovery
• Documentation
• Access control / authentication
Containers
Isolating workloads to speed up deployments and improve reliability
What Are Containers?
• Means of packaging software and services together
• System libraries, tools, services, settings, runtime and code itself
• Isolates its workload from other workloads on the host
• Allows you to pack several workloads onto a single guest OS host
• Provides repeatable results for multiple deployments
• Tends to reduce deployment time and overhead
• Build the container image, create multiple instances from that image
• Tends to increase deployment tempo
• Simplified testing, easy versioning
Azure Container Service
• Azure fully supports Docker containers
• Docker Swarm and Kubernetes
• Support for Mesosphere
• DC/OS and Marathon
• Azure Container Registry support
• Pull directly to Container Service, App Service, Batch, Service Fabric
Azure Service Fabric
• Microsoft's proprietary distributed systems platform
• Most Azure services are hosted on Service Fabric
• SQL Database, Cosmos DB, IoT Hub, Dynamics 365, etc.
• Container-based
• Windows, Linux, "reliable actors"
• Designed to host microservices
• Stateless and stateful
• Runs on Azure, on-prem and even other cloud providers
• Dev environment matches production environment
Serverless
Azure's serverless technology, and the future of microservices
What Is Serverless?
• Vendor manages all infrastructure aspects
• Instances, instance size, patching, networking, availability, runtimes, etc.
• You write code that can run in this predefined environment
• You pay only for what you use
• Number of executions
• Amount of CPU and memory needed to perform the task
Functions
• Azure's serverless solution
• Backboned on Web Apps; effectively, they're supercharged WebJobs
• Provisioned when needed, deallocated when not
• Can be provisioned continuously, too
• Works on trigger / input / output model
• Something happens;
• the function (optionally) retrieves some input;
• and (usually) creates some output
Supporting Services
Microservice-based architectures still need state and storage
Database Options
• Azure SQL Database
• Similar to SQL Server RDBMS
• Cosmos DB
• NoSQL (MongoDB), document, graph, table Storage
• Table Storage
Storage
• Azure Files
• SMB-based network shares
• Azure Storage
• Blobs, appends and page files
State Management
• Service Bus
• Messaging queue, topic queue, relay queue
• Guaranteed FIFO and once-only delivery
• Storage Queue
Cache And Key Storage
• Azure CDN
• Global distribution of static/cached files
• Verizon Standard and Akamai Standard
• Verizon Premium (includes robust rules engine)
• Redis Cache
• In-memory cache / transient storage
• Azure Key Vault
• HSM-backed storage of secrets and keys
High Availability
• Azure Traffic Manager
• DNS-based routing
• Global Replication
• Storage, Azure SQL Database, Cosmos DB, Azure Active Directory
• Autoscaling
• App Service
• Functions
• Container Host VMs (via metrics and VMSS)
Monitoring
Automation requires exceptional metrics
Application Insights
• Application Performance Management service
• Collects telemetry from .NET, Java and Node.JS-based applications
• Focused on Web applications/HTTP-backed services
• Most microservices are delivered via HTTP
• Provides feedback on performance, latency, errors, etc.
• Very low overhead; about as expensive as an HTTPS cookie
• Can bridge multiple services and aggregate results
• New feature, in preview
• Can export metrics to Power BI, other receivers (via JSON)
Operations Management Suite (OMS)
• Basically SCOM for Azure/the cloud
• Monitor resources regardless of location (on-prem/hybrid/SaaS)
• More useful for watching service health than application performance
Topology of the Demo
Image Sharing Solutions
• Allows contributions via FTP
• Mines Twitter for tweets with a certain hashtag
• Allows API access to upload and retrieve images
• Has a GUI so humans can moderate the content
• Processes image resizing/processing asynchronously via Functions
• Uses Service Bus messaging to coordinate workflows
• Easily distributed in new regions for HA/BCDR
• Kinda looks like n-tier when you look at how it works
Components Used
Workflow: FTP
Workflow: Logic App
Workflow: Image Moderation
Solution Topology
Looks a lot like n-tier, doesn't it?
Demo Time!
A distributed system for managing photos from multiple sources
Questions? Ideas? Let's Share!
• Doug Vanderweide
• https://www.dougv.com
• @dougvdotcom
• linkedin.com/in/dougvdotcom
• LinuxAcademy.com
• CloudAssessments.com
• Photos via pixabay.com
Ad

More Related Content

What's hot (20)

Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
Doug Vanderweide
 
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
Application Deployment and Management at Scale with 1&1 by Matt BaldwinApplication Deployment and Management at Scale with 1&1 by Matt Baldwin
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
Docker, Inc.
 
Tokyo azure meetup #9 azure update, october
Tokyo azure meetup #9   azure update, octoberTokyo azure meetup #9   azure update, october
Tokyo azure meetup #9 azure update, october
Tokyo Azure Meetup
 
Micro services
Micro servicesMicro services
Micro services
Brian Perera
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
Kanio Dimitrov
 
Tokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup #9 - Azure Update, septemberTokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
The Next Big Thing: Serverless
The Next Big Thing: ServerlessThe Next Big Thing: Serverless
The Next Big Thing: Serverless
Doug Vanderweide
 
The Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET frameworkThe Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET framework
Massimo Bonanni
 
High performance java ee with j cache and cdi
High performance java ee with j cache and cdiHigh performance java ee with j cache and cdi
High performance java ee with j cache and cdi
Payara
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro services
Aidan Casey
 
Event Sourcing your AngularJS applications
Event Sourcing your AngularJS applicationsEvent Sourcing your AngularJS applications
Event Sourcing your AngularJS applications
Maurice De Beijer [MVP]
 
CQRS
CQRSCQRS
CQRS
Piotr Pelczar
 
Cloud Native Patterns Using AWS - Practical Examples
Cloud Native Patterns Using AWS - Practical ExamplesCloud Native Patterns Using AWS - Practical Examples
Cloud Native Patterns Using AWS - Practical Examples
Anderson Carvalho
 
Microservices and the future on Infrastructure
Microservices and the future on InfrastructureMicroservices and the future on Infrastructure
Microservices and the future on Infrastructure
Pini Reznik
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with Microservices
Markus Eisele
 
ECMDay2015 - Kent Agerlund – Configuration Manager 2012 – A Site Review
ECMDay2015 - Kent Agerlund – Configuration Manager 2012 – A Site ReviewECMDay2015 - Kent Agerlund – Configuration Manager 2012 – A Site Review
ECMDay2015 - Kent Agerlund – Configuration Manager 2012 – A Site Review
Kenny Buntinx
 
Building a Multi-tenanted SaaS with Node.js
Building a Multi-tenanted SaaS with Node.jsBuilding a Multi-tenanted SaaS with Node.js
Building a Multi-tenanted SaaS with Node.js
Eoin Shanaghy
 
Data stores: beyond relational databases
Data stores: beyond relational databasesData stores: beyond relational databases
Data stores: beyond relational databases
Javier García Magna
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejs
Bruno Pedro
 
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
Application Deployment and Management at Scale with 1&1 by Matt BaldwinApplication Deployment and Management at Scale with 1&1 by Matt Baldwin
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
Docker, Inc.
 
Tokyo azure meetup #9 azure update, october
Tokyo azure meetup #9   azure update, octoberTokyo azure meetup #9   azure update, october
Tokyo azure meetup #9 azure update, october
Tokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
Kanio Dimitrov
 
Tokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup #9 - Azure Update, septemberTokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
The Next Big Thing: Serverless
The Next Big Thing: ServerlessThe Next Big Thing: Serverless
The Next Big Thing: Serverless
Doug Vanderweide
 
The Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET frameworkThe Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET framework
Massimo Bonanni
 
High performance java ee with j cache and cdi
High performance java ee with j cache and cdiHigh performance java ee with j cache and cdi
High performance java ee with j cache and cdi
Payara
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro services
Aidan Casey
 
Event Sourcing your AngularJS applications
Event Sourcing your AngularJS applicationsEvent Sourcing your AngularJS applications
Event Sourcing your AngularJS applications
Maurice De Beijer [MVP]
 
Cloud Native Patterns Using AWS - Practical Examples
Cloud Native Patterns Using AWS - Practical ExamplesCloud Native Patterns Using AWS - Practical Examples
Cloud Native Patterns Using AWS - Practical Examples
Anderson Carvalho
 
Microservices and the future on Infrastructure
Microservices and the future on InfrastructureMicroservices and the future on Infrastructure
Microservices and the future on Infrastructure
Pini Reznik
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with Microservices
Markus Eisele
 
ECMDay2015 - Kent Agerlund – Configuration Manager 2012 – A Site Review
ECMDay2015 - Kent Agerlund – Configuration Manager 2012 – A Site ReviewECMDay2015 - Kent Agerlund – Configuration Manager 2012 – A Site Review
ECMDay2015 - Kent Agerlund – Configuration Manager 2012 – A Site Review
Kenny Buntinx
 
Building a Multi-tenanted SaaS with Node.js
Building a Multi-tenanted SaaS with Node.jsBuilding a Multi-tenanted SaaS with Node.js
Building a Multi-tenanted SaaS with Node.js
Eoin Shanaghy
 
Data stores: beyond relational databases
Data stores: beyond relational databasesData stores: beyond relational databases
Data stores: beyond relational databases
Javier García Magna
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejs
Bruno Pedro
 

Similar to Microservices in Azure (20)

ArchitectNow - Migrating Legacy .NET Apps to Azure
ArchitectNow - Migrating Legacy .NET Apps to AzureArchitectNow - Migrating Legacy .NET Apps to Azure
ArchitectNow - Migrating Legacy .NET Apps to Azure
Kevin Grossnicklaus
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
Tokyo Azure Meetup
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
David Chou
 
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASSECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
European Collaboration Summit
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
Anubhav Ranjan
 
2014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 3652014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 365
Marco Parenzan
 
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
ArchitectNow  -  Designing Cloud-Native apps in Microsoft AzureArchitectNow  -  Designing Cloud-Native apps in Microsoft Azure
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
Kevin Grossnicklaus
 
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
AFAS Software
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
Ankur Gupta
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
Yvette Teiken
 
KoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersKoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginners
Tobias Koprowski
 
Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101
Balabiju
 
Azure full
Azure fullAzure full
Azure full
Mohit Chhabra
 
Security on AWS
Security on AWSSecurity on AWS
Security on AWS
CloudHesive
 
[pt-BR] - Cloud Conference Day - Agilidade para disponibilização de aplicaçõe...
[pt-BR] - Cloud Conference Day - Agilidade para disponibilização de aplicaçõe...[pt-BR] - Cloud Conference Day - Agilidade para disponibilização de aplicaçõe...
[pt-BR] - Cloud Conference Day - Agilidade para disponibilização de aplicaçõe...
Juarez Junior
 
KoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginnersKoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginners
Tobias Koprowski
 
Azure Stack - Azure Nights User Group
Azure Stack - Azure Nights User GroupAzure Stack - Azure Nights User Group
Azure Stack - Azure Nights User Group
Michael Frank
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updates
Nirmal Thewarathanthri
 
Security on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition MeetupSecurity on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition Meetup
CloudHesive
 
ArchitectNow - Migrating Legacy .NET Apps to Azure
ArchitectNow - Migrating Legacy .NET Apps to AzureArchitectNow - Migrating Legacy .NET Apps to Azure
ArchitectNow - Migrating Legacy .NET Apps to Azure
Kevin Grossnicklaus
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
Tokyo Azure Meetup
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
David Chou
 
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASSECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
ECS19 - Mustafa Toroman, Sasa Kranjac - SOUP TO NUTS: MICROSOFT AZURE POWERCLASS
European Collaboration Summit
 
2014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 3652014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 365
Marco Parenzan
 
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
ArchitectNow  -  Designing Cloud-Native apps in Microsoft AzureArchitectNow  -  Designing Cloud-Native apps in Microsoft Azure
ArchitectNow - Designing Cloud-Native apps in Microsoft Azure
Kevin Grossnicklaus
 
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
AFAS Software
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
Ankur Gupta
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
Yvette Teiken
 
KoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersKoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginners
Tobias Koprowski
 
Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101
Balabiju
 
[pt-BR] - Cloud Conference Day - Agilidade para disponibilização de aplicaçõe...
[pt-BR] - Cloud Conference Day - Agilidade para disponibilização de aplicaçõe...[pt-BR] - Cloud Conference Day - Agilidade para disponibilização de aplicaçõe...
[pt-BR] - Cloud Conference Day - Agilidade para disponibilização de aplicaçõe...
Juarez Junior
 
KoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginnersKoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginners
Tobias Koprowski
 
Azure Stack - Azure Nights User Group
Azure Stack - Azure Nights User GroupAzure Stack - Azure Nights User Group
Azure Stack - Azure Nights User Group
Michael Frank
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
Rick Hightower
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updates
Nirmal Thewarathanthri
 
Security on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition MeetupSecurity on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition Meetup
CloudHesive
 
Ad

Recently uploaded (20)

Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko
Fwdays
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtBuckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Lynda Kane
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
 
Rock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning JourneyRock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning Journey
Lynda Kane
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko
Fwdays
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtBuckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Lynda Kane
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
 
Rock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning JourneyRock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning Journey
Lynda Kane
 
Ad

Microservices in Azure

  • 1. Microservices in Azure How Microsoft's public cloud supports modern application architecture Doug Vanderweide, MCSE, MCSD, MCT https://www.dougv.com @dougvdotcom linkedin.com/in/dougvdotcom
  • 2. Today's objectives "microservices," "SOA" and other termsDefine the architecture of a microservices-based applicationUnderstand the base services Azure provides to support that patternDiscover supporting services used alongside those base servicesDescribe metrics and monitoring optionsReview
  • 3. What Are Microservices, Really? Or 'Service-Oriented Architecture.' Or whatever the kids are calling it these days.
  • 5. We can build simple structures from a few blocks,
  • 6. or very complex, integrated solutions from many blocks.
  • 7. Service-Oriented Architecture • It’s just another way of saying "microservices" • Each service of an SOA/microservices-based solution: • does just one thing • is independently managed • can be reused by many different solutions • can be easily replaced by something else • adapts to its workload independently • communicates with its neighbors via standard protocols (HTTP, messages)
  • 8. An n-Tier Web Application
  • 9. Why This Doesn't Work Well In The Cloud Cloud-based network services are more abstract 1 Monoliths are difficult to maintain and scale 2 Requires lots of server/network configuration and admin 3 Doesn't make full use of cloud abstractions 4
  • 12. Benefits Of Microservices Architecture • Recycle APIs for other uses • e.g., reservations API can place waste inventory on discount sites • Manage each service independent of other services • Problem with the authentication API? Other services stay up while you fix it • Each service scales independently • High Web UI demand? Only scale that API • Allows continuous integration/continuous delivery/automation • No more sprints ruining your weekends • Check out a branch, test it, deploy it -- all via automation
  • 13. Basic Azure PaaS Options The public cloud services that host your underlying APIs/microservices
  • 14. App Service • Azure Resource Manager's adoption of ASM Cloud Services • Web and Worker roles are now Web, API, Mobile, Logic or Function apps • Uses anonymous, generalized guest OS to host services • Windows and Linux • Azure handles most configuration and management • You have control over runtimes, some environment aspects
  • 15. Web Apps • Used to host websites • Built for high availability • Multi-instance • Automatic load balancing/health probes • Can be scaled on a schedule or via metric • Meet anticipated or unanticipated demand • Built for CI/CD via git, VSTS, cloud file storage
  • 16. Logic Apps • Used to chain together API workflows • Trigger event kicks off workflow • Workflow performs a task, using inputs • Process can be looped, building off each input • Incorporates common APIs, aka connectors • Twitter, Facebook, Google, YouTube, etc. • Available for most Microsoft and Azure SaaS workloads • Office 365, SQL Server, Dynamics, Power BI, OneDrive, etc. • Many other enterprise workloads available • Salesforce, Oracle, SAP, etc.
  • 17. Mobile Apps • Intended to serve as the "back end" tooling • Effectively used to create API endpoints and data stores • Simplified management for offline data sync • SQL, NoSQL, Azure Storage • You can create your own data API, too • Used to manage push notifications (via Notification Hubs) • Provides easy SSO management • Azure Active Directory, Facebook, Twitter, Microsoft, Google
  • 18. API Apps • Very similar to Web Apps • Adds Swagger-based API management tooling • Service discovery • Documentation • Access control / authentication
  • 19. Containers Isolating workloads to speed up deployments and improve reliability
  • 20. What Are Containers? • Means of packaging software and services together • System libraries, tools, services, settings, runtime and code itself • Isolates its workload from other workloads on the host • Allows you to pack several workloads onto a single guest OS host • Provides repeatable results for multiple deployments • Tends to reduce deployment time and overhead • Build the container image, create multiple instances from that image • Tends to increase deployment tempo • Simplified testing, easy versioning
  • 21. Azure Container Service • Azure fully supports Docker containers • Docker Swarm and Kubernetes • Support for Mesosphere • DC/OS and Marathon • Azure Container Registry support • Pull directly to Container Service, App Service, Batch, Service Fabric
  • 22. Azure Service Fabric • Microsoft's proprietary distributed systems platform • Most Azure services are hosted on Service Fabric • SQL Database, Cosmos DB, IoT Hub, Dynamics 365, etc. • Container-based • Windows, Linux, "reliable actors" • Designed to host microservices • Stateless and stateful • Runs on Azure, on-prem and even other cloud providers • Dev environment matches production environment
  • 23. Serverless Azure's serverless technology, and the future of microservices
  • 24. What Is Serverless? • Vendor manages all infrastructure aspects • Instances, instance size, patching, networking, availability, runtimes, etc. • You write code that can run in this predefined environment • You pay only for what you use • Number of executions • Amount of CPU and memory needed to perform the task
  • 25. Functions • Azure's serverless solution • Backboned on Web Apps; effectively, they're supercharged WebJobs • Provisioned when needed, deallocated when not • Can be provisioned continuously, too • Works on trigger / input / output model • Something happens; • the function (optionally) retrieves some input; • and (usually) creates some output
  • 27. Database Options • Azure SQL Database • Similar to SQL Server RDBMS • Cosmos DB • NoSQL (MongoDB), document, graph, table Storage • Table Storage
  • 28. Storage • Azure Files • SMB-based network shares • Azure Storage • Blobs, appends and page files
  • 29. State Management • Service Bus • Messaging queue, topic queue, relay queue • Guaranteed FIFO and once-only delivery • Storage Queue
  • 30. Cache And Key Storage • Azure CDN • Global distribution of static/cached files • Verizon Standard and Akamai Standard • Verizon Premium (includes robust rules engine) • Redis Cache • In-memory cache / transient storage • Azure Key Vault • HSM-backed storage of secrets and keys
  • 31. High Availability • Azure Traffic Manager • DNS-based routing • Global Replication • Storage, Azure SQL Database, Cosmos DB, Azure Active Directory • Autoscaling • App Service • Functions • Container Host VMs (via metrics and VMSS)
  • 33. Application Insights • Application Performance Management service • Collects telemetry from .NET, Java and Node.JS-based applications • Focused on Web applications/HTTP-backed services • Most microservices are delivered via HTTP • Provides feedback on performance, latency, errors, etc. • Very low overhead; about as expensive as an HTTPS cookie • Can bridge multiple services and aggregate results • New feature, in preview • Can export metrics to Power BI, other receivers (via JSON)
  • 34. Operations Management Suite (OMS) • Basically SCOM for Azure/the cloud • Monitor resources regardless of location (on-prem/hybrid/SaaS) • More useful for watching service health than application performance
  • 36. Image Sharing Solutions • Allows contributions via FTP • Mines Twitter for tweets with a certain hashtag • Allows API access to upload and retrieve images • Has a GUI so humans can moderate the content • Processes image resizing/processing asynchronously via Functions • Uses Service Bus messaging to coordinate workflows • Easily distributed in new regions for HA/BCDR • Kinda looks like n-tier when you look at how it works
  • 41. Solution Topology Looks a lot like n-tier, doesn't it?
  • 42. Demo Time! A distributed system for managing photos from multiple sources
  • 43. Questions? Ideas? Let's Share! • Doug Vanderweide • https://www.dougv.com • @dougvdotcom • linkedin.com/in/dougvdotcom • LinuxAcademy.com • CloudAssessments.com • Photos via pixabay.com