SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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 BaldwinDocker, 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, octoberTokyo 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, AugustKanio 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, septemberTokyo 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: ServerlessDoug 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 frameworkMassimo 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 cdiPayara
 
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 servicesAidan Casey
 
Event Sourcing your AngularJS applications
Event Sourcing your AngularJS applicationsEvent Sourcing your AngularJS applications
Event Sourcing your AngularJS applicationsMaurice 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 ExamplesAnderson Carvalho
 
Microservices and the future on Infrastructure
Microservices and the future on InfrastructureMicroservices and the future on Infrastructure
Microservices and the future on InfrastructurePini Reznik
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with MicroservicesMarkus 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 ReviewKenny 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.jsEoin Shanaghy
 
Data stores: beyond relational databases
Data stores: beyond relational databasesData stores: beyond relational databases
Data stores: beyond relational databasesJavier García Magna
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejsBruno Pedro
 

Was ist angesagt? (20)

Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
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
 
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
 
Micro services
Micro servicesMicro services
Micro services
 
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 #9 - Azure Update, september
Tokyo Azure Meetup #9 - Azure Update, septemberTokyo Azure Meetup #9 - Azure Update, september
Tokyo Azure Meetup #9 - Azure Update, september
 
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
 
The Next Big Thing: Serverless
The Next Big Thing: ServerlessThe Next Big Thing: Serverless
The Next Big Thing: Serverless
 
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
 
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
 
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
 
Event Sourcing your AngularJS applications
Event Sourcing your AngularJS applicationsEvent Sourcing your AngularJS applications
Event Sourcing your AngularJS applications
 
CQRS
CQRSCQRS
CQRS
 
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
 
Microservices and the future on Infrastructure
Microservices and the future on InfrastructureMicroservices and the future on Infrastructure
Microservices and the future on Infrastructure
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with Microservices
 
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
 
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
 
Data stores: beyond relational databases
Data stores: beyond relational databasesData stores: beyond relational databases
Data stores: beyond relational databases
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejs
 

Ähnlich wie Microservices in Azure: How MS Cloud Supports Modern Apps

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 AzureKevin 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, augustTokyo Azure Meetup
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid 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 POWERCLASSEuropean 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 365Marco 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 AzureKevin 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 CloudAnkur Gupta
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der PraxisYvette Teiken
 
KoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersKoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersTobias 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 101Balabiju
 
[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_WASDforBeginnersTobias Koprowski
 
Azure Stack - Azure Nights User Group
Azure Stack - Azure Nights User GroupAzure Stack - Azure Nights User Group
Azure Stack - Azure Nights User GroupMichael Frank
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesRick Hightower
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesNirmal Thewarathanthri
 
Security on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition MeetupSecurity on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition MeetupCloudHesive
 

Ähnlich wie Microservices in Azure: How MS Cloud Supports Modern Apps (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
 
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
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
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
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
 
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
 
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
 
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...
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
 
KoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersKoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginners
 
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
 
Azure full
Azure fullAzure full
Azure full
 
Security on AWS
Security on AWSSecurity on AWS
Security on AWS
 
[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...
 
KoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginnersKoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginners
 
Azure Stack - Azure Nights User Group
Azure Stack - Azure Nights User GroupAzure Stack - Azure Nights User Group
Azure Stack - Azure Nights User Group
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updates
 
Security on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition MeetupSecurity on AWS, 2021 Edition Meetup
Security on AWS, 2021 Edition Meetup
 

Kürzlich hochgeladen

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 

Kürzlich hochgeladen (20)

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 

Microservices in Azure: How MS Cloud Supports Modern Apps

  • 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