SlideShare a Scribd company logo
1 of 154
Download to read offline
https://docs.microsoft.com/en-us/azure/architecture/guide/
embarrassingly parallel
Azure Batch
Criteria Virtual Machines App Service Service Fabric Azure Functions
Azure Container
Service
Container
Instances Azure Batch
Application
composition
Agnostic Applications,
containers
Services, guest
executables,
containers
Functions Containers Containers Scheduled jobs
Density Agnostic Multiple apps per
instance via app
service plans
Multiple services
per VM
Serverless
1
Multiple
containers per VM
No dedicated
instances
Multiple apps per
VM
Minimum number
of nodes
1
2
1 5
3
Serverless
1
3 No dedicated
nodes
1
4
State
management
Stateless or
Stateful
Stateless Stateless or
stateful
Stateless Stateless or
Stateful
Stateless Stateless
Web hosting Agnostic Built in Agnostic Not applicable Agnostic Agnostic No
Can be deployed
to dedicated
VNet?
Supported Supported
5
Supported Supported
5
Supported Not supported Supported
Hybrid
connectivity
Supported Supported
6
Supported Supported
7
Supported Not supported Supported
Criteria
Virtual
Machines App Service Service Fabric
Azure
Functions
Azure
Container
Service
Container
Instances Azure Batch
Local
debugging
Agnostic IIS Express,
others
1
Local node
cluster
Visual Studio
or Azure
Functions CLI
Local
container
runtime
Local
container
runtime
Not
supported
Programming
model
Agnostic Web and API
applications,
WebJobs for
background
tasks
Guest
executable,
Service
model, Actor
model,
Containers
Functions
with triggers
Agnostic Agnostic Command
line
application
Application
update
No built-in
support
Deployment
slots
Rolling
upgrade (per
service)
Deployment
slots
Depends on
orchestrator.
Most support
rolling
updates
Update
container
image
Not
applicable
Criteria
Virtual
Machines App Service Service Fabric
Azure
Functions
Azure
Container
Service
Container
Instances Azure Batch
Auto-scaling VM scale sets Built-in
service
VM Scale Sets Built-in
service
Not
supported
Not
supported
N/A
Load balancer Azure Load
Balancer
Integrated Azure Load
Balancer
Integrated Azure Load
Balancer
No built-in
support
Azure Load
Balancer
Scale limit Platform
image: 1000
nodes per
VMSS,
Custom
image: 100
nodes per
VMSS
20 instances,
100 with App
Service
Environment
100 nodes per
VMSS
200 instances
per Function
app
100
1
20 container
groups per
subscription
by default.
Contact
customer
service for
increase.
2
20 core limit
by default.
Contact
customer
service for
increase.
Criteria
Virtual
Machines
App
Service
Service
Fabric
Azure
Functions
Azure
Container
Service
Container
Instances
Azure
Batch
SLA SLA for
Virtual
Machines
SLA for
App
Service
SLA for
Service
Fabric
SLA for
Functions
SLA for
Azure
Container
Service
SLA for
Container
Instances
SLA for
Azure
Batch
Multi
region
failover
Traffic
manager
Traffic
manager
Traffic
manager,
Multi-
Region
Cluster
Not
supporte
d
Traffic
manager
Not
supporte
d
Not
Supporte
d
Criteria
Virtual
Machines App Service
Service
Fabric
Azure
Functions
Azure
Container
Service
Container
Instances Azure Batch
SSL Configured
in VM
Supported Supported Supported Configured
in VM
Supported
with sidecar
container
Supported
Cost Windows, Li
nux
App Service
pricing
Service
Fabric
pricing
Azure
Functions
pricing
Azure
Container
Service
pricing
Container
Instances
pricing
Azure Batch
pricing
Suitable
architecture
styles
N-Tier, Big
compute(HP
C)
Web-
Queue-
Worker, N-
Tier
Microservice
s, Event-
driven
architecture
Microservice
s, Event-
driven
architecture
Microservice
s, Event-
driven
architecture
Microservice
s, task
automation,
batch jobs
Big
compute(HP
C)
Azure SQL Database
Azure Database for MySQL
Azure Database for PostgreSQL
Cosmos DB
Azure Redis Cache
HBase in HDInsight
SQL Data Warehouse
Azure Data Lake
Azure Search
• Time Series Databases
Time Series Insights
Blob Storage
File Storage
Instead of running... Consider using...
Active Directory Azure Active Directory
Domain Services
Elasticsearch Azure Search
Hadoop HDInsight
IIS App Service
MongoDB Cosmos DB
Redis Azure Redis Cache
SQL Server Azure SQL Database
• Use the Scalability checklist to review your design
from a scalability standpoint.
Availability checklist
% Uptime
Downtime
per week
Downtime
per month
Downtime
per year
99% 1.68 hours 7.2 hours 3.65 days
99.9% 10 minutes 43.2 minutes 8.76 hours
99.95% 5 minutes 21.6 minutes 4.38 hours
99.99% 1 minute 4.32 minutes 52.56
minutes
99.999% 6 seconds 26 seconds 5.26 minutes
Resiliency checklist
DevOps checklist
•
•
•
•
•
•
•
•
Pattern Summary
Cache-Aside Load data on demand into a cache from a data store
CQRS Segregate operations that read data from operations that update
data by using separate interfaces.
Event Sourcing Use an append-only store to record the full series of events that
describe actions taken on data in a domain.
Index Table Create indexes over the fields in data stores that are frequently
referenced by queries.
Materialized View Generate prepopulated views over the data in one or more data
stores when the data isn't ideally formatted for required query
operations.
Sharding Divide a data store into a set of horizontal partitions or shards.
Static Content Hosting Deploy static content to a cloud-based storage service that can
deliver them directly to the client.
Valet Key Use a token or key that provides clients with restricted direct access
to a specific resource or service.
Pattern Summary
Ambassador Create helper services that send network requests on behalf of a consumer service or
application.
Anti-Corruption
Layer
Implement a façade or adapter layer between a modern application and a legacy
system.
Backends for
Frontends
Create separate backend services to be consumed by specific frontend applications
or interfaces.
Compute Resource
Consolidation
Consolidate multiple tasks or operations into a single computational unit
External
Configuration Store
Move configuration information out of the application deployment package to a
centralized location.
Gateway
Aggregation
Use a gateway to aggregate multiple individual requests into a single request.
Gateway
Offloading
Offload shared or specialized service functionality to a gateway proxy.
Gateway Routing Route requests to multiple services using a single endpoint.
Leader Election Coordinate the actions performed by a collection of collaborating task instances in
a distributed application by electing one instance as the leader that assumes
responsibility for managing the other instances.
Pipes and Filters Break down a task that performs complex processing into a series of separate
elements that can be reused.
Sidecar Deploy components of an application into a separate process or container to
provide isolation and encapsulation.
Strangler Incrementally migrate a legacy system by gradually replacing specific pieces of
functionality with new applications and services.
Pattern Summary
Competing Consumers Enable multiple concurrent consumers to process
messages received on the same messaging channel.
Pipes and Filters Break down a task that performs complex processing into
a series of separate elements that can be reused.
Priority Queue Prioritize requests sent to services so that requests with a
higher priority are received and processed more quickly
than those with a lower priority.
Queue-Based Load
Leveling
Use a queue that acts as a buffer between a task and a
service that it invokes in order to smooth intermittent
heavy loads.
Scheduler Agent
Supervisor
Coordinate a set of actions across a distributed set of
services and other remote resources.
Pattern Summary
Ambassador Create helper services that send network requests on behalf of a consumer service or
application.
Anti-Corruption Layer Implement a façade or adapter layer between a modern application and a legacy system.
External Configuration
Store
Move configuration information out of the application deployment package to a
centralized location.
Gateway Aggregation Use a gateway to aggregate multiple individual requests into a single request.
Gateway Offloading Offload shared or specialized service functionality to a gateway proxy.
Gateway Routing Route requests to multiple services using a single endpoint.
Health Endpoint
Monitoring
Implement functional checks in an application that external tools can access through
exposed endpoints at regular intervals.
Sidecar Deploy components of an application into a separate process or container to provide
isolation and encapsulation.
Strangler Incrementally migrate a legacy system by gradually replacing specific pieces of functionality
with new applications and services.
Pattern Summary
Cache-Aside Load data on demand into a cache from a data store
CQRS Segregate operations that read data from operations that update data by using separate
interfaces.
Event Sourcing Use an append-only store to record the full series of events that describe actions taken on data
in a domain.
Index Table Create indexes over the fields in data stores that are frequently referenced by queries.
Materialized View Generate prepopulated views over the data in one or more data stores when the data isn't
ideally formatted for required query operations.
Priority Queue Prioritize requests sent to services so that requests with a higher priority are received and
processed more quickly than those with a lower priority.
Queue-Based Load
Leveling
Use a queue that acts as a buffer between a task and a service that it invokes in order to
smooth intermittent heavy loads.
Sharding Divide a data store into a set of horizontal partitions or shards.
Static Content Hosting Deploy static content to a cloud-based storage service that can deliver them directly to the
client.
Throttling Control the consumption of resources used by an instance of an application, an individual
tenant, or an entire service.
Pattern Summary
Bulkhead Isolate elements of an application into pools so that if one fails, the others will continue to function.
Circuit Breaker Handle faults that might take a variable amount of time to fix when connecting to a remote service or
resource.
Compensating
Transaction
Undo the work performed by a series of steps, which together define an eventually consistent operation.
Health Endpoint
Monitoring
Implement functional checks in an application that external tools can access through exposed endpoints at
regular intervals.
Leader Election Coordinate the actions performed by a collection of collaborating task instances in a distributed application by
electing one instance as the leader that assumes responsibility for managing the other instances.
Queue-Based Load
Leveling
Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent
heavy loads.
Retry Enable an application to handle anticipated, temporary failures when it tries to connect to a service or network
resource by transparently retrying an operation that's previously failed.
Scheduler Agent
Supervisor
Coordinate a set of actions across a distributed set of services and other remote resources.
Pattern Summary
Federated Identity Delegate authentication to an external identity provider.
Gatekeeper Protect applications and services by using a dedicated host
instance that acts as a broker between clients and the
application or service, validates and sanitizes requests, and
passes requests and data between them.
Valet Key Use a token or key that provides clients with restricted
direct access to a specific resource or service.
Cloud application architecture with Microsoft Azure
Cloud application architecture with Microsoft Azure
Cloud application architecture with Microsoft Azure

More Related Content

What's hot

Microsoft Azure Cloud Services
Microsoft Azure Cloud ServicesMicrosoft Azure Cloud Services
Microsoft Azure Cloud ServicesDavid J Rosenthal
 
How facebook could make cloud computing better
How facebook could make cloud computing  betterHow facebook could make cloud computing  better
How facebook could make cloud computing betterravish28
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices Bozhidar Bozhanov
 
Unit 2 -Cloud Computing Architecture
Unit 2 -Cloud Computing ArchitectureUnit 2 -Cloud Computing Architecture
Unit 2 -Cloud Computing ArchitectureMonishaNehkal
 
MES102 - Verse on Premises 2.0 Best Practices
MES102 - Verse on Premises 2.0 Best PracticesMES102 - Verse on Premises 2.0 Best Practices
MES102 - Verse on Premises 2.0 Best PracticesDylan Redfield
 
Virtualization in cloud computing ppt
Virtualization in cloud computing pptVirtualization in cloud computing ppt
Virtualization in cloud computing pptMehul Patel
 
Introduction of VLAN and VSAN with its benefits,
Introduction of VLAN and VSAN with its benefits,Introduction of VLAN and VSAN with its benefits,
Introduction of VLAN and VSAN with its benefits,Dr Neelesh Jain
 
Lunch & Learn January 2020: Collaboration with Microsoft Office 365
Lunch & Learn January 2020: Collaboration with Microsoft Office 365Lunch & Learn January 2020: Collaboration with Microsoft Office 365
Lunch & Learn January 2020: Collaboration with Microsoft Office 365Valiant Technology
 
Presentation cloud management
Presentation   cloud managementPresentation   cloud management
Presentation cloud managementxKinAnx
 
What is private cloud Explained
What is private cloud ExplainedWhat is private cloud Explained
What is private cloud Explainedjeetendra mandal
 
Knative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVMKnative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVMMark Lechtermann
 
Cloud Computing & Cloud Architecture
Cloud Computing & Cloud ArchitectureCloud Computing & Cloud Architecture
Cloud Computing & Cloud Architecturenotnip
 

What's hot (20)

Microsoft Azure Cloud Services
Microsoft Azure Cloud ServicesMicrosoft Azure Cloud Services
Microsoft Azure Cloud Services
 
How facebook could make cloud computing better
How facebook could make cloud computing  betterHow facebook could make cloud computing  better
How facebook could make cloud computing better
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
SharePoint Topology
SharePoint Topology SharePoint Topology
SharePoint Topology
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Cloud computing lecture 1
Cloud computing lecture 1Cloud computing lecture 1
Cloud computing lecture 1
 
Unit 2 -Cloud Computing Architecture
Unit 2 -Cloud Computing ArchitectureUnit 2 -Cloud Computing Architecture
Unit 2 -Cloud Computing Architecture
 
MES102 - Verse on Premises 2.0 Best Practices
MES102 - Verse on Premises 2.0 Best PracticesMES102 - Verse on Premises 2.0 Best Practices
MES102 - Verse on Premises 2.0 Best Practices
 
IBM Cloud Computing
IBM Cloud ComputingIBM Cloud Computing
IBM Cloud Computing
 
Virtualization in cloud computing ppt
Virtualization in cloud computing pptVirtualization in cloud computing ppt
Virtualization in cloud computing ppt
 
Introduction of VLAN and VSAN with its benefits,
Introduction of VLAN and VSAN with its benefits,Introduction of VLAN and VSAN with its benefits,
Introduction of VLAN and VSAN with its benefits,
 
Lunch & Learn January 2020: Collaboration with Microsoft Office 365
Lunch & Learn January 2020: Collaboration with Microsoft Office 365Lunch & Learn January 2020: Collaboration with Microsoft Office 365
Lunch & Learn January 2020: Collaboration with Microsoft Office 365
 
Web Servers (ppt)
Web Servers (ppt)Web Servers (ppt)
Web Servers (ppt)
 
Presentation cloud management
Presentation   cloud managementPresentation   cloud management
Presentation cloud management
 
AWS PPT.pptx
AWS PPT.pptxAWS PPT.pptx
AWS PPT.pptx
 
Introduction to Microsoft Azure Cloud
Introduction to Microsoft Azure CloudIntroduction to Microsoft Azure Cloud
Introduction to Microsoft Azure Cloud
 
Platform as a Service (PaaS)
Platform as a Service (PaaS)Platform as a Service (PaaS)
Platform as a Service (PaaS)
 
What is private cloud Explained
What is private cloud ExplainedWhat is private cloud Explained
What is private cloud Explained
 
Knative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVMKnative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVM
 
Cloud Computing & Cloud Architecture
Cloud Computing & Cloud ArchitectureCloud Computing & Cloud Architecture
Cloud Computing & Cloud Architecture
 

Similar to Cloud application architecture with Microsoft Azure

Design patterns and plan for developing high available azure applications
Design patterns and plan for developing high available azure applicationsDesign patterns and plan for developing high available azure applications
Design patterns and plan for developing high available azure applicationsHimanshu Sahu
 
Multi Tenancy In The Cloud
Multi Tenancy In The CloudMulti Tenancy In The Cloud
Multi Tenancy In The Cloudrohit_ainapure
 
Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...Callon Campbell
 
A Tour of Azure SQL Databases (NOVA SQL UG 2020)
A Tour of Azure SQL Databases  (NOVA SQL UG 2020)A Tour of Azure SQL Databases  (NOVA SQL UG 2020)
A Tour of Azure SQL Databases (NOVA SQL UG 2020)Timothy McAliley
 
AWS Summit Berlin 2013 - Building web scale applications with AWS
AWS Summit Berlin 2013 - Building web scale applications with AWSAWS Summit Berlin 2013 - Building web scale applications with AWS
AWS Summit Berlin 2013 - Building web scale applications with AWSAWS Germany
 
Server Farms and XML Web Services
Server Farms and XML Web ServicesServer Farms and XML Web Services
Server Farms and XML Web ServicesJorgen Thelin
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiGirish Kalamati
 
MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015James Tramel
 
Ms cloud design patterns infographic 2015
Ms cloud design patterns infographic 2015Ms cloud design patterns infographic 2015
Ms cloud design patterns infographic 2015Kesavan Munuswamy
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Meshconfluent
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architectureAdeel Javaid
 
DockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryDockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryOscar Renalias
 
Running Hybrid Cloud Patterns on AWS
Running Hybrid Cloud Patterns on AWSRunning Hybrid Cloud Patterns on AWS
Running Hybrid Cloud Patterns on AWSShiva Narayanaswamy
 
Build modern and intelligent applications using Azure Database for PostgreSQL
Build modern and intelligent applications using Azure Database for PostgreSQLBuild modern and intelligent applications using Azure Database for PostgreSQL
Build modern and intelligent applications using Azure Database for PostgreSQLMicrosoft Tech Community
 
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...MSDEVMTL
 

Similar to Cloud application architecture with Microsoft Azure (20)

Designing for Cloud
Designing for Cloud Designing for Cloud
Designing for Cloud
 
Design patterns and plan for developing high available azure applications
Design patterns and plan for developing high available azure applicationsDesign patterns and plan for developing high available azure applications
Design patterns and plan for developing high available azure applications
 
Multi Tenancy In The Cloud
Multi Tenancy In The CloudMulti Tenancy In The Cloud
Multi Tenancy In The Cloud
 
Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...
 
A Tour of Azure SQL Databases (NOVA SQL UG 2020)
A Tour of Azure SQL Databases  (NOVA SQL UG 2020)A Tour of Azure SQL Databases  (NOVA SQL UG 2020)
A Tour of Azure SQL Databases (NOVA SQL UG 2020)
 
J2EE pattern 5
J2EE pattern 5J2EE pattern 5
J2EE pattern 5
 
AWS Summit Berlin 2013 - Building web scale applications with AWS
AWS Summit Berlin 2013 - Building web scale applications with AWSAWS Summit Berlin 2013 - Building web scale applications with AWS
AWS Summit Berlin 2013 - Building web scale applications with AWS
 
Server Farms and XML Web Services
Server Farms and XML Web ServicesServer Farms and XML Web Services
Server Farms and XML Web Services
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
 
MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015
 
Ms cloud design patterns infographic 2015
Ms cloud design patterns infographic 2015Ms cloud design patterns infographic 2015
Ms cloud design patterns infographic 2015
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Mesh
 
Azure basics
Azure basicsAzure basics
Azure basics
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
DockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryDockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container Delivery
 
Scaling apps using azure cloud services
Scaling apps using azure cloud servicesScaling apps using azure cloud services
Scaling apps using azure cloud services
 
Running Hybrid Cloud Patterns on AWS
Running Hybrid Cloud Patterns on AWSRunning Hybrid Cloud Patterns on AWS
Running Hybrid Cloud Patterns on AWS
 
Build modern and intelligent applications using Azure Database for PostgreSQL
Build modern and intelligent applications using Azure Database for PostgreSQLBuild modern and intelligent applications using Azure Database for PostgreSQL
Build modern and intelligent applications using Azure Database for PostgreSQL
 
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
Stephane Lapointe & Alexandre Brisebois: Développer des microservices avec Se...
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 

Recently uploaded

Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 

Recently uploaded (20)

Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Cloud application architecture with Microsoft Azure

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 46.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. Criteria Virtual Machines App Service Service Fabric Azure Functions Azure Container Service Container Instances Azure Batch Application composition Agnostic Applications, containers Services, guest executables, containers Functions Containers Containers Scheduled jobs Density Agnostic Multiple apps per instance via app service plans Multiple services per VM Serverless 1 Multiple containers per VM No dedicated instances Multiple apps per VM Minimum number of nodes 1 2 1 5 3 Serverless 1 3 No dedicated nodes 1 4 State management Stateless or Stateful Stateless Stateless or stateful Stateless Stateless or Stateful Stateless Stateless Web hosting Agnostic Built in Agnostic Not applicable Agnostic Agnostic No Can be deployed to dedicated VNet? Supported Supported 5 Supported Supported 5 Supported Not supported Supported Hybrid connectivity Supported Supported 6 Supported Supported 7 Supported Not supported Supported
  • 57. Criteria Virtual Machines App Service Service Fabric Azure Functions Azure Container Service Container Instances Azure Batch Local debugging Agnostic IIS Express, others 1 Local node cluster Visual Studio or Azure Functions CLI Local container runtime Local container runtime Not supported Programming model Agnostic Web and API applications, WebJobs for background tasks Guest executable, Service model, Actor model, Containers Functions with triggers Agnostic Agnostic Command line application Application update No built-in support Deployment slots Rolling upgrade (per service) Deployment slots Depends on orchestrator. Most support rolling updates Update container image Not applicable
  • 58. Criteria Virtual Machines App Service Service Fabric Azure Functions Azure Container Service Container Instances Azure Batch Auto-scaling VM scale sets Built-in service VM Scale Sets Built-in service Not supported Not supported N/A Load balancer Azure Load Balancer Integrated Azure Load Balancer Integrated Azure Load Balancer No built-in support Azure Load Balancer Scale limit Platform image: 1000 nodes per VMSS, Custom image: 100 nodes per VMSS 20 instances, 100 with App Service Environment 100 nodes per VMSS 200 instances per Function app 100 1 20 container groups per subscription by default. Contact customer service for increase. 2 20 core limit by default. Contact customer service for increase.
  • 59. Criteria Virtual Machines App Service Service Fabric Azure Functions Azure Container Service Container Instances Azure Batch SLA SLA for Virtual Machines SLA for App Service SLA for Service Fabric SLA for Functions SLA for Azure Container Service SLA for Container Instances SLA for Azure Batch Multi region failover Traffic manager Traffic manager Traffic manager, Multi- Region Cluster Not supporte d Traffic manager Not supporte d Not Supporte d
  • 60. Criteria Virtual Machines App Service Service Fabric Azure Functions Azure Container Service Container Instances Azure Batch SSL Configured in VM Supported Supported Supported Configured in VM Supported with sidecar container Supported Cost Windows, Li nux App Service pricing Service Fabric pricing Azure Functions pricing Azure Container Service pricing Container Instances pricing Azure Batch pricing Suitable architecture styles N-Tier, Big compute(HP C) Web- Queue- Worker, N- Tier Microservice s, Event- driven architecture Microservice s, Event- driven architecture Microservice s, Event- driven architecture Microservice s, task automation, batch jobs Big compute(HP C)
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67. Azure SQL Database Azure Database for MySQL Azure Database for PostgreSQL
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 84.
  • 85.
  • 86.
  • 87. SQL Data Warehouse Azure Data Lake Azure Search • Time Series Databases Time Series Insights Blob Storage File Storage
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98. Instead of running... Consider using... Active Directory Azure Active Directory Domain Services Elasticsearch Azure Search Hadoop HDInsight IIS App Service MongoDB Cosmos DB Redis Azure Redis Cache SQL Server Azure SQL Database
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104. • Use the Scalability checklist to review your design from a scalability standpoint.
  • 106. % Uptime Downtime per week Downtime per month Downtime per year 99% 1.68 hours 7.2 hours 3.65 days 99.9% 10 minutes 43.2 minutes 8.76 hours 99.95% 5 minutes 21.6 minutes 4.38 hours 99.99% 1 minute 4.32 minutes 52.56 minutes 99.999% 6 seconds 26 seconds 5.26 minutes
  • 109.
  • 110.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116. Pattern Summary Cache-Aside Load data on demand into a cache from a data store CQRS Segregate operations that read data from operations that update data by using separate interfaces. Event Sourcing Use an append-only store to record the full series of events that describe actions taken on data in a domain. Index Table Create indexes over the fields in data stores that are frequently referenced by queries. Materialized View Generate prepopulated views over the data in one or more data stores when the data isn't ideally formatted for required query operations. Sharding Divide a data store into a set of horizontal partitions or shards. Static Content Hosting Deploy static content to a cloud-based storage service that can deliver them directly to the client. Valet Key Use a token or key that provides clients with restricted direct access to a specific resource or service.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125. Pattern Summary Ambassador Create helper services that send network requests on behalf of a consumer service or application. Anti-Corruption Layer Implement a façade or adapter layer between a modern application and a legacy system. Backends for Frontends Create separate backend services to be consumed by specific frontend applications or interfaces. Compute Resource Consolidation Consolidate multiple tasks or operations into a single computational unit External Configuration Store Move configuration information out of the application deployment package to a centralized location. Gateway Aggregation Use a gateway to aggregate multiple individual requests into a single request. Gateway Offloading Offload shared or specialized service functionality to a gateway proxy. Gateway Routing Route requests to multiple services using a single endpoint.
  • 126. Leader Election Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances. Pipes and Filters Break down a task that performs complex processing into a series of separate elements that can be reused. Sidecar Deploy components of an application into a separate process or container to provide isolation and encapsulation. Strangler Incrementally migrate a legacy system by gradually replacing specific pieces of functionality with new applications and services.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140. Pattern Summary Competing Consumers Enable multiple concurrent consumers to process messages received on the same messaging channel. Pipes and Filters Break down a task that performs complex processing into a series of separate elements that can be reused. Priority Queue Prioritize requests sent to services so that requests with a higher priority are received and processed more quickly than those with a lower priority. Queue-Based Load Leveling Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads. Scheduler Agent Supervisor Coordinate a set of actions across a distributed set of services and other remote resources.
  • 141.
  • 142.
  • 143.
  • 144. Pattern Summary Ambassador Create helper services that send network requests on behalf of a consumer service or application. Anti-Corruption Layer Implement a façade or adapter layer between a modern application and a legacy system. External Configuration Store Move configuration information out of the application deployment package to a centralized location. Gateway Aggregation Use a gateway to aggregate multiple individual requests into a single request. Gateway Offloading Offload shared or specialized service functionality to a gateway proxy. Gateway Routing Route requests to multiple services using a single endpoint. Health Endpoint Monitoring Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals. Sidecar Deploy components of an application into a separate process or container to provide isolation and encapsulation. Strangler Incrementally migrate a legacy system by gradually replacing specific pieces of functionality with new applications and services.
  • 145. Pattern Summary Cache-Aside Load data on demand into a cache from a data store CQRS Segregate operations that read data from operations that update data by using separate interfaces. Event Sourcing Use an append-only store to record the full series of events that describe actions taken on data in a domain. Index Table Create indexes over the fields in data stores that are frequently referenced by queries. Materialized View Generate prepopulated views over the data in one or more data stores when the data isn't ideally formatted for required query operations. Priority Queue Prioritize requests sent to services so that requests with a higher priority are received and processed more quickly than those with a lower priority. Queue-Based Load Leveling Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads. Sharding Divide a data store into a set of horizontal partitions or shards. Static Content Hosting Deploy static content to a cloud-based storage service that can deliver them directly to the client. Throttling Control the consumption of resources used by an instance of an application, an individual tenant, or an entire service.
  • 146. Pattern Summary Bulkhead Isolate elements of an application into pools so that if one fails, the others will continue to function. Circuit Breaker Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource. Compensating Transaction Undo the work performed by a series of steps, which together define an eventually consistent operation. Health Endpoint Monitoring Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals. Leader Election Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances. Queue-Based Load Leveling Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads. Retry Enable an application to handle anticipated, temporary failures when it tries to connect to a service or network resource by transparently retrying an operation that's previously failed. Scheduler Agent Supervisor Coordinate a set of actions across a distributed set of services and other remote resources.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151. Pattern Summary Federated Identity Delegate authentication to an external identity provider. Gatekeeper Protect applications and services by using a dedicated host instance that acts as a broker between clients and the application or service, validates and sanitizes requests, and passes requests and data between them. Valet Key Use a token or key that provides clients with restricted direct access to a specific resource or service.