SlideShare a Scribd company logo
1 of 71
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

Ipedo Company Overview
Ipedo Company OverviewIpedo Company Overview
Ipedo Company Overview
Tim_Matthews
 

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

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
 
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
 
Dynamics 365 saturday 2018 - data migration story
Dynamics 365 saturday   2018 - data migration storyDynamics 365 saturday   2018 - data migration story
Dynamics 365 saturday 2018 - data migration story
 

More from 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
 
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
 

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

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Recently uploaded (20)

WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

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