SlideShare a Scribd company logo
Learn Cloud Design Patterns using Azure
Karthikeyan VK
Karthik_3030@yahoo.com
@karthik3030
https://blogs.karthikeyanvk.in
Enter Text
Why Cloud Design Patterns?
Availability & Resilience are hard in Cloud.
Performance and scalability are taken for granted in cloud.
Data management not a trivial Problem.
https://blogs.karthikeyanvk.in
Enter Text
Why Cloud Design Patterns?
 It provides Off-the-shelf solution.
Automatically handles quality attributes.
https://blogs.karthikeyanvk.in
Enter Text
What is Design Patterns ?
Design patterns are typical solutions to common problems in
software design.
Each pattern is like a blueprint that you can customize to solve a
particular design problem in your code.
https://blogs.karthikeyanvk.in
Enter Text
Name two design patterns you
know
https://blogs.karthikeyanvk.in
Enter Text
Principles based Design
https://blogs.karthikeyanvk.in
Enter Text
Why Principles ?
Not Technology Bound.
Helps decision-making process.
https://blogs.karthikeyanvk.in
Enter Text
Solid Principles
S- Single Responsibility
O – Open Close Principle
L – Liskov Principle
I – Interface segregation
D – Dependency Injection
https://blogs.karthikeyanvk.in
Enter Text
Solid Principles
S- Single Responsibility
https://blogs.karthikeyanvk.in
Enter Text
Solid Principles
O – Open Close Principle
https://blogs.karthikeyanvk.in
Enter Text
Solid Principles
L – Liskov Principle
https://blogs.karthikeyanvk.in
Enter Text
Solid Principles
I – Interface segregation
https://blogs.karthikeyanvk.in
Enter Text
Solid Principles
D – Dependency Injection
https://blogs.karthikeyanvk.in
Enter Text
Dependency injection facilitates ?
https://blogs.karthikeyanvk.in
Enter Text
Dependency injection facilitates
?
https://blogs.karthikeyanvk.in
Unit Testing
Enter Text
Cloud Design Principles
https://blogs.karthikeyanvk.in
Design for self healing.
Make all things redundant
Design to scale out
Partition around limits
Design for operations- Deployment, Monitoring, Incident
response, Auditing
Enter Text
Cloud Design Principles
https://blogs.karthikeyanvk.in
Design for Evolution.
Use the best data store for the Job
Build for the business needs. Think YAGNI
Enter Text
Why cloud applications should
be designed for self healing
https://blogs.karthikeyanvk.in
Enter Text
https://blogs.karthikeyanvk.in
Hardware failure is high in cloud because the hardware is treated
as cattle and not as pet.
Why cloud applications should
be designed for self healing
Enter Text
CQRS Pattern
Command Query Responsibility Segregation.
Command – Create/Update/Delete
Query – Select or Fetch
https://blogs.karthikeyanvk.in
Enter Text
CQRS Pattern
https://blogs.karthikeyanvk.in
Enter Text
Strangler Pattern
Incrementally migrate a legacy system by gradually replacing
specific pieces of functionality with new applications and
services.
https://blogs.karthikeyanvk.in
Enter Text
Strangler Pattern
https://blogs.karthikeyanvk.in
Enter Text
What kind of project we can use
strangler pattern.
https://blogs.karthikeyanvk.in
 Migration
 Green Field Projects
Enter Text
What kind of project we can use
strangler pattern.
https://blogs.karthikeyanvk.in
Migration Projects
 Migration
 Green Field Projects
Enter Text
Pipes and Filters pattern
Decompose a task that performs complex processing into a series
of separate elements that can be reused.
The processing required by an application can easily be broken
down into a set of independent steps.
Keep your classes DUMB
https://blogs.karthikeyanvk.in
Enter Text
Pipes and Filters pattern
https://blogs.karthikeyanvk.in
Enter Text
What kind of architecture the pipes and
filters pattern represent.
https://blogs.karthikeyanvk.in
 Asynchronous
 Synchronous
Enter Text
What kind of architecture the pipes and
filters pattern represent.
https://blogs.karthikeyanvk.in
 Asynchronous
 Synchronous
Asynchronous
Enter Text
Circuit Breaker Pattern
https://blogs.karthikeyanvk.in
Handle faults that might take a variable amount of time to
recover from, when connecting to a remote service or resource.
Three States – Open, Half-Open, Closed State.
Use POLLY – nugget package to implement. Straight forward
solution.
Enter Text
Circuit Breaker Pattern
https://blogs.karthikeyanvk.in
Enter Text
Three states of Circuit Breaker Pattern
https://blogs.karthikeyanvk.in
Enter Text
Three states of Circuit Breaker Pattern
https://blogs.karthikeyanvk.in
Open
Half Open
Closed
Enter Text
Compensating Transaction Pattern
https://blogs.karthikeyanvk.in
Undo the work performed by a series of steps, if one or more of
the steps fail.
A compensating transaction is application specific.
Enter Text
Compensating Transaction Pattern
https://blogs.karthikeyanvk.in
Used in places where there is an eventual consistency
Solves the No-SQL world problem with different data store in
Microservices
Enter Text
Where is Compensating Transaction pattern
used mostly
https://blogs.karthikeyanvk.in
 SQL World with strong transaction
 No-SQL world with poor transaction
Enter Text
Where is Compensating Transaction pattern
used mostly
https://blogs.karthikeyanvk.in
 SQL World with strong transaction
 No-SQL world with poor transaction
No-SQL
Enter Text
Static Content Hosting
https://blogs.karthikeyanvk.in
Deploy static content to a cloud-based storage service that can
deliver them directly to the client.
This can reduce the need for potentially expensive compute
instances.
Enter Text
Static Content Hosting
https://blogs.karthikeyanvk.in
Enter Text
Static Content Hosting
https://blogs.karthikeyanvk.in
May not be suitable in application that needs to perform some
processing on the static content before delivering it to the client.
For example, it might be necessary to add a timestamp to a
document
Enter Text
Gate-Keeper Pattern
https://blogs.karthikeyanvk.in
Protect applications and services by using a dedicated host
instance that acts as a broker between clients and the application
Validates and sanitizes requests, and passes requests and data
between them.
Enter Text
Gate-Keeper Pattern
https://blogs.karthikeyanvk.in
Enter Text
Event Sourcing Pattern
https://blogs.karthikeyanvk.in
Instead of storing just the current state of the data in a domain,
use an append-only store to record the full series of actions
taken on that data.
The events are persisted in an event store that acts as the system
of record (the authoritative data source) about the current state
of the data.
Enter Text
Event Sourcing Pattern
https://blogs.karthikeyanvk.in
Enter Text
Name one Event source ?
https://blogs.karthikeyanvk.in
Enter Text
Name one Event source ?
https://blogs.karthikeyanvk.in
Apache Kafka, Service Bus, Queue/Blob Storage
Enter Text
Sharding Pattern
https://blogs.karthikeyanvk.in
Divide a data store into a set of horizontal partitions or shards.
This can improve scalability when storing and accessing large
volumes of data.
Enter Text
Sharding Pattern
https://blogs.karthikeyanvk.in
Enter Text
Sidecar Pattern
https://blogs.karthikeyanvk.in
Deploy components of an application into a separate process or
container to provide isolation and encapsulation.
Applications and services often require related functionality, such
as monitoring, logging, configuration, and networking services
Enter Text
Sidecar Pattern
https://blogs.karthikeyanvk.in
Enter Text
Sidecar Pattern
https://blogs.karthikeyanvk.in
SSL Termination by application gateway.
Health monitoring is deployed as service in the host to be used
by multiple services.
Enter Text
Anti-Patterns
https://blogs.karthikeyanvk.in
Enter Text
Who is the best tester for our
applications?
https://blogs.karthikeyanvk.in
Enter Text
Who is the best tester for our
applications?
Actual app user
https://blogs.karthikeyanvk.in
Enter Text
Why Anti-Patterns ?
Application behaves well during all types of testing. But behaves
badly in production.
 The development team is then faced with two questions:
• Why didn't this behaviour show up during testing?
• How do we fix it?
https://blogs.karthikeyanvk.in
Enter Text
What is Anti-Patterns ?
Anti-Pattern is a common practice that is likely to cause problems
when an application is under pressure.
It's very difficult in a test environment to simulate real users.
https://blogs.karthikeyanvk.in
Enter Text
How to write business logic in
database itself
https://blogs.karthikeyanvk.in
Enter Text
How to write business logic in
database itself
https://blogs.karthikeyanvk.in
Stored Procedure
Enter Text
Busy Database Anti-Pattern
Offloading processing to a database server can cause it to spend
a significant proportion of time running code.
Remember stored procedures and triggers !
https://blogs.karthikeyanvk.in
Enter Text
No Caching Anti-Pattern
Repeatedly fetching the same information from a resource that is
expensive to access, in terms of I/O overhead.
Also think about stale data
Remember the expiring cache. Absolute or Sliding expiration.
Monitor your application and queries
https://blogs.karthikeyanvk.in
Enter Text
Name two levels of caching in
web application
https://blogs.karthikeyanvk.in
Enter Text
Name two levels of caching in
web application
https://blogs.karthikeyanvk.in
Http Cache.
External cache such as Redis
Enter Text
What is the problem with too
many microservices ?
https://blogs.karthikeyanvk.in
Enter Text
What is the problem with too
many microservices
Every microservices need to talk to each other a lot
https://blogs.karthikeyanvk.in
Enter Text
Chatty I/O Anti-Pattern
The cumulative effect of a large number of I/O requests can have
a significant impact on performance and responsiveness.
Packaging the data into larger, fewer requests
Problem seen in improper domain division in Microservices.
https://blogs.karthikeyanvk.in
Enter Text
Name the pattern where the
instance is created once
https://blogs.karthikeyanvk.in
Enter Text
Name the pattern where the
instance is created once
Singleton
https://blogs.karthikeyanvk.in
Enter Text
Improper Instantiation Anti-Pattern
It can hurt performance to continually create new instances of an
object that is meant to be created once and then shared.
Think about singleton pattern.
Always reuse System.Net.Http.HttpClient or any connection
related broker classes
https://blogs.karthikeyanvk.in
Enter Text
References
@karthik3030
• https://code-maze.com/liskov-substitution-principle/
• https://medium.com/@domagojk/patterns-for-designing-flexible-architecture-in-node-js-cqrs-
es-onion-7eb10bbefe17
• http://cloudgirl.tech/data-partitioning-vertical-horizontal-hybrid-partitioning/
• https://docs.microsoft.com/en-us/azure/architecture/patterns/
https://blogs.karthikeyanvk.in
Enter Text
Networking and more
@karthik3030
• https://www.facebook.com/aspiringDotnetArchitects/
• https://www.meetup.com/Chennai-Microsoft-Azure-User-Group/
• https://www.youtube.com/channel/UCJxa58lDcDj4tYQIHh7ORxA
https://blogs.karthikeyanvk.in
Enter Text
@karthik3030
Thank you
/Q&A
https://blogs.karthikeyanvk.in

More Related Content

What's hot

Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...
Microsoft Tech Community
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Enea Gabriel
 
Design patterns fast track
Design patterns fast trackDesign patterns fast track
Design patterns fast track
Binu Bhasuran
 
Control Transactions using PowerCenter
Control Transactions using PowerCenterControl Transactions using PowerCenter
Control Transactions using PowerCenter
Edureka!
 
Make your Azure PaaS Deployment More Safe
Make your Azure PaaS Deployment More SafeMake your Azure PaaS Deployment More Safe
Make your Azure PaaS Deployment More Safe
Thuan Ng
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Enea Gabriel
 
Testing Microservices
Testing MicroservicesTesting Microservices
Testing Microservices
Nagarro
 
jsForce in Action
jsForce in ActionjsForce in Action
jsForce in Action
Salesforce Developers
 
The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...
The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...
The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...
Stefan Richter
 
PowerApps & Flow @ Power BI World Tour Copenhagen
PowerApps & Flow @ Power BI World Tour CopenhagenPowerApps & Flow @ Power BI World Tour Copenhagen
PowerApps & Flow @ Power BI World Tour Copenhagen
Daniel Laskewitz
 
O'Reilly ETech Conference: Laszlo RIA
O'Reilly ETech Conference: Laszlo RIAO'Reilly ETech Conference: Laszlo RIA
O'Reilly ETech Conference: Laszlo RIA
Oliver Steele
 
Ipedo Company Overview
Ipedo Company OverviewIpedo Company Overview
Ipedo Company OverviewTim_Matthews
 
Change Notifications in Azure Event Hubs-April 2021
Change Notifications in Azure Event Hubs-April 2021Change Notifications in Azure Event Hubs-April 2021
Change Notifications in Azure Event Hubs-April 2021
Microsoft 365 Developer
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
David Solivan
 

What's hot (15)

Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...Best practices with Microsoft Graph: Making your applications more performant...
Best practices with Microsoft Graph: Making your applications more performant...
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code First
 
Design patterns fast track
Design patterns fast trackDesign patterns fast track
Design patterns fast track
 
Control Transactions using PowerCenter
Control Transactions using PowerCenterControl Transactions using PowerCenter
Control Transactions using PowerCenter
 
Make your Azure PaaS Deployment More Safe
Make your Azure PaaS Deployment More SafeMake your Azure PaaS Deployment More Safe
Make your Azure PaaS Deployment More Safe
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
 
Testing Microservices
Testing MicroservicesTesting Microservices
Testing Microservices
 
jsForce in Action
jsForce in ActionjsForce in Action
jsForce in Action
 
The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...
The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...
The 36th Chamber of Shaolin - Improve Your Microservices Kung Fu in 36 Easy S...
 
PowerApps & Flow @ Power BI World Tour Copenhagen
PowerApps & Flow @ Power BI World Tour CopenhagenPowerApps & Flow @ Power BI World Tour Copenhagen
PowerApps & Flow @ Power BI World Tour Copenhagen
 
Iam
IamIam
Iam
 
O'Reilly ETech Conference: Laszlo RIA
O'Reilly ETech Conference: Laszlo RIAO'Reilly ETech Conference: Laszlo RIA
O'Reilly ETech Conference: Laszlo RIA
 
Ipedo Company Overview
Ipedo Company OverviewIpedo Company Overview
Ipedo Company Overview
 
Change Notifications in Azure Event Hubs-April 2021
Change Notifications in Azure Event Hubs-April 2021Change Notifications in Azure Event Hubs-April 2021
Change Notifications in Azure Event Hubs-April 2021
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 

Similar to Cloud Design Patterns

Azure Durable Functions
Azure Durable FunctionsAzure Durable Functions
Azure Durable Functions
Karthikeyan VK
 
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Vadym Kazulkin
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
Richard Banks
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB
 
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
confluent
 
Software as Service
Software as ServiceSoftware as Service
Software as Service
abhigad
 
Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...
Vadym Kazulkin
 
Build Message-Based Web Services for SOA
Build Message-Based Web Services for SOABuild Message-Based Web Services for SOA
Build Message-Based Web Services for SOA
Jeffrey Hasan
 
AWS AWSome Day - Getting Started Best Practices
AWS AWSome Day - Getting Started Best PracticesAWS AWSome Day - Getting Started Best Practices
AWS AWSome Day - Getting Started Best Practices
Ian Massingham
 
Presentation about html5 css3
Presentation about html5 css3Presentation about html5 css3
Presentation about html5 css3
Gopi A
 
4. aws enterprise summit seoul 기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
4. aws enterprise summit seoul   기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park4. aws enterprise summit seoul   기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
4. aws enterprise summit seoul 기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
Amazon Web Services Korea
 
Flex 4.5 jeyasekar
Flex 4.5  jeyasekarFlex 4.5  jeyasekar
Flex 4.5 jeyasekar
jeya soft
 
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
Amazon Web Services
 
Presemtation Tier Optimizations
Presemtation Tier OptimizationsPresemtation Tier Optimizations
Presemtation Tier Optimizations
Anup Hariharan Nair
 
Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prod
Yan Cui
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016
Richard Banks
 

Similar to Cloud Design Patterns (20)

Azure Durable Functions
Azure Durable FunctionsAzure Durable Functions
Azure Durable Functions
 
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
 
Migration from ASP to ASP.NET
Migration from ASP to ASP.NETMigration from ASP to ASP.NET
Migration from ASP to ASP.NET
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
 
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch Tutorial
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Software as Service
Software as ServiceSoftware as Service
Software as Service
 
Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...
 
Build Message-Based Web Services for SOA
Build Message-Based Web Services for SOABuild Message-Based Web Services for SOA
Build Message-Based Web Services for SOA
 
AWS AWSome Day - Getting Started Best Practices
AWS AWSome Day - Getting Started Best PracticesAWS AWSome Day - Getting Started Best Practices
AWS AWSome Day - Getting Started Best Practices
 
Presentation about html5 css3
Presentation about html5 css3Presentation about html5 css3
Presentation about html5 css3
 
Achievement Archive
Achievement ArchiveAchievement Archive
Achievement Archive
 
4. aws enterprise summit seoul 기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
4. aws enterprise summit seoul   기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park4. aws enterprise summit seoul   기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
4. aws enterprise summit seoul 기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
 
Flex 4.5 jeyasekar
Flex 4.5  jeyasekarFlex 4.5  jeyasekar
Flex 4.5 jeyasekar
 
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
 
Presemtation Tier Optimizations
Presemtation Tier OptimizationsPresemtation Tier Optimizations
Presemtation Tier Optimizations
 
Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prod
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016
 

More from Karthikeyan VK

GCD ChatGPT.pptx
GCD ChatGPT.pptxGCD ChatGPT.pptx
GCD ChatGPT.pptx
Karthikeyan VK
 
DataScience-101
DataScience-101DataScience-101
DataScience-101
Karthikeyan VK
 
How to become a Software Architect.pptx
How to become a Software Architect.pptxHow to become a Software Architect.pptx
How to become a Software Architect.pptx
Karthikeyan VK
 
Blockchain workshop 101
Blockchain workshop 101Blockchain workshop 101
Blockchain workshop 101
Karthikeyan VK
 
Event Streaming Architecture - Deep Dive
Event Streaming Architecture - Deep DiveEvent Streaming Architecture - Deep Dive
Event Streaming Architecture - Deep Dive
Karthikeyan VK
 
Anti patterns
Anti patternsAnti patterns
Anti patterns
Karthikeyan VK
 
How to double your productivity as a developer
How to double your productivity as a developerHow to double your productivity as a developer
How to double your productivity as a developer
Karthikeyan VK
 
How to be an expert in Debugging .Net Applications
How to be an expert in Debugging .Net ApplicationsHow to be an expert in Debugging .Net Applications
How to be an expert in Debugging .Net Applications
Karthikeyan VK
 
Chat bot LUIS
Chat bot LUISChat bot LUIS
Chat bot LUIS
Karthikeyan VK
 
Enterprise security kubernetes
Enterprise security kubernetesEnterprise security kubernetes
Enterprise security kubernetes
Karthikeyan VK
 
Save Azure Cost
Save Azure CostSave Azure Cost
Save Azure Cost
Karthikeyan VK
 
Learning graphql .Net
Learning graphql .NetLearning graphql .Net
Learning graphql .Net
Karthikeyan VK
 
Azure devspaces
Azure devspacesAzure devspaces
Azure devspaces
Karthikeyan VK
 
Azure Event Grid
Azure Event Grid Azure Event Grid
Azure Event Grid
Karthikeyan VK
 
Machine Learning Basics using Azure ML
Machine Learning Basics using Azure MLMachine Learning Basics using Azure ML
Machine Learning Basics using Azure ML
Karthikeyan VK
 
Convert monolithic .Net Applications to microservices With Principles
Convert monolithic .Net Applications to microservices With PrinciplesConvert monolithic .Net Applications to microservices With Principles
Convert monolithic .Net Applications to microservices With Principles
Karthikeyan VK
 
Cognitive Intelligence using azure search
Cognitive Intelligence using azure searchCognitive Intelligence using azure search
Cognitive Intelligence using azure search
Karthikeyan VK
 
Convert monolithic .Net Applications to microservices
Convert monolithic .Net Applications to microservicesConvert monolithic .Net Applications to microservices
Convert monolithic .Net Applications to microservices
Karthikeyan VK
 
Azure container instances
Azure container instancesAzure container instances
Azure container instances
Karthikeyan VK
 
Mobile Devops Using VSTS
Mobile Devops Using VSTSMobile Devops Using VSTS
Mobile Devops Using VSTS
Karthikeyan VK
 

More from Karthikeyan VK (20)

GCD ChatGPT.pptx
GCD ChatGPT.pptxGCD ChatGPT.pptx
GCD ChatGPT.pptx
 
DataScience-101
DataScience-101DataScience-101
DataScience-101
 
How to become a Software Architect.pptx
How to become a Software Architect.pptxHow to become a Software Architect.pptx
How to become a Software Architect.pptx
 
Blockchain workshop 101
Blockchain workshop 101Blockchain workshop 101
Blockchain workshop 101
 
Event Streaming Architecture - Deep Dive
Event Streaming Architecture - Deep DiveEvent Streaming Architecture - Deep Dive
Event Streaming Architecture - Deep Dive
 
Anti patterns
Anti patternsAnti patterns
Anti patterns
 
How to double your productivity as a developer
How to double your productivity as a developerHow to double your productivity as a developer
How to double your productivity as a developer
 
How to be an expert in Debugging .Net Applications
How to be an expert in Debugging .Net ApplicationsHow to be an expert in Debugging .Net Applications
How to be an expert in Debugging .Net Applications
 
Chat bot LUIS
Chat bot LUISChat bot LUIS
Chat bot LUIS
 
Enterprise security kubernetes
Enterprise security kubernetesEnterprise security kubernetes
Enterprise security kubernetes
 
Save Azure Cost
Save Azure CostSave Azure Cost
Save Azure Cost
 
Learning graphql .Net
Learning graphql .NetLearning graphql .Net
Learning graphql .Net
 
Azure devspaces
Azure devspacesAzure devspaces
Azure devspaces
 
Azure Event Grid
Azure Event Grid Azure Event Grid
Azure Event Grid
 
Machine Learning Basics using Azure ML
Machine Learning Basics using Azure MLMachine Learning Basics using Azure ML
Machine Learning Basics using Azure ML
 
Convert monolithic .Net Applications to microservices With Principles
Convert monolithic .Net Applications to microservices With PrinciplesConvert monolithic .Net Applications to microservices With Principles
Convert monolithic .Net Applications to microservices With Principles
 
Cognitive Intelligence using azure search
Cognitive Intelligence using azure searchCognitive Intelligence using azure search
Cognitive Intelligence using azure search
 
Convert monolithic .Net Applications to microservices
Convert monolithic .Net Applications to microservicesConvert monolithic .Net Applications to microservices
Convert monolithic .Net Applications to microservices
 
Azure container instances
Azure container instancesAzure container instances
Azure container instances
 
Mobile Devops Using VSTS
Mobile Devops Using VSTSMobile Devops Using VSTS
Mobile Devops Using VSTS
 

Recently uploaded

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 

Recently uploaded (20)

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 

Cloud Design Patterns

Editor's Notes

  1. Performance  Maintainability Interoperability Modifiability Usability Testability Reliability Scalability Availability Reusability Security Supportability
  2. a natural law like gravity. It’s different than a value. Values are subjective; principles are objective. Gravity… if you drop something, gravity controls
  3. Use partitioning to work around database, network, and compute limits
  4. Use partitioning to work around database, network, and compute limits
  5. Use partitioning to work around database, network, and compute limits
  6. Use partitioning to work around database, network, and compute limits
  7. Use partitioning to work around database, network, and compute limits
  8. Use partitioning to work around database, network, and compute limits
  9. This pattern may not be suitable: When requests to the back-end system cannot be intercepted. For smaller systems where the complexity of wholesale replacement is low. Testing problem.
  10. Use partitioning to work around database, network, and compute limits
  11. Use partitioning to work around database, network, and compute limits
  12. Design your class to be dumb
  13. Design your class to be dumb Complexity. Idempotency. Repeated messages. Think of poison queue
  14. Use partitioning to work around database, network, and compute limits
  15. Use partitioning to work around database, network, and compute limits
  16. Exception handling and failing should be properly thought through.. Logging should be made proper and don’t log toomuch This pattern isn't recommended: For handling access to local private resources in an application, such as in-memory data structure. In this environment, using a circuit breaker would add overhead to your system. As a substitute for handling exceptions in the business logic of your applications.
  17. Use partitioning to work around database, network, and compute limits
  18. Use partitioning to work around database, network, and compute limits
  19. Product and order example
  20. Product and order example
  21. Use partitioning to work around database, network, and compute limits
  22. Use partitioning to work around database, network, and compute limits
  23. Where is your angular application deployed in azure ?
  24. But js and api call will work