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
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 Inversion
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 Inversion
https://blogs.karthikeyanvk.in
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
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
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
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
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.
Used in places where there is an eventual consistency
Solves the No-SQL world problem with different data store in
Microservices
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
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
Event Sourcing Pattern
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
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
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
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
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

PDF
azure-security-overview-slideshare-180419183626.pdf
PDF
AWS IAM Tutorial | Identity And Access Management (IAM) | AWS Training Videos...
PPTX
Cloudstack vs Openstack
PPTX
Azure Key Vault - Getting Started
PDF
Microservices with Java, Spring Boot and Spring Cloud
PPTX
Comprehensive Terraform Training
PDF
Serverless computing
PDF
Azure Redis Cache
azure-security-overview-slideshare-180419183626.pdf
AWS IAM Tutorial | Identity And Access Management (IAM) | AWS Training Videos...
Cloudstack vs Openstack
Azure Key Vault - Getting Started
Microservices with Java, Spring Boot and Spring Cloud
Comprehensive Terraform Training
Serverless computing
Azure Redis Cache

What's hot (20)

PPTX
Introduction To Microservices
PDF
AWS vs Azure vs Google (GCP) - Slides
PPTX
MSA ( Microservices Architecture ) 발표 ìžëŁŒ ë‹€ìšŽëĄœë“œ
PDF
횚윚적읞 ëč…데읎터 분석 및 ìČ˜ëŠŹë„Œ 위한 Glue, EMR 활용 - êč€íƒœí˜„ ì†”ëŁšì…˜ìŠˆ 아킀텍튞, AWS :: AWS Summit Seoul 2019
PPTX
Understanding Web Cache
PDF
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
PDF
Amazon API Gateway and AWS Lambda: Better Together
PPTX
Serverless computing
PPTX
Introduction to microservices
PPTX
IAM Deep Dive - Custom IAM Policies with Conditions
PPTX
Aws IAM
PDF
AWS CDK in Practice
PDF
Terraform -- Infrastructure as Code
PPTX
Introduction to Cloud Computing and AWS
PPTX
Google Cloud Platform Data Storage
PDF
KBê”­ëŻŒì€í–‰ì€ 시작했닀 -  ì‰œêł  ëč ë„ž 큎띌우드 ê±°ëČ„ë„ŒìŠ€ 적용 ì „ëž” - ê°•ëł‘ì–” AWS ì†”ëŁšì…˜ìŠˆ 아킀텍튞 / 임강홍 큎띌우드플랫폌닚 찚임, ...
PPTX
Cloud security and security architecture
PDF
AWS IAM -- Notes of 20130403 Doc Version
PDF
DevOps with Ansible
PDF
ꞈ윔 서ëč„슀 íŒšëŸŹë‹€ìž„ì˜ 전환 가속화 시대, ì‹ í•œêžˆìœ”íˆŹìžì˜ Cloud First ì „ëž” - 신쀑훈 AWS ì†”ëŁšì…˜ìŠˆ 아킀텍튞 / 씜성뎉 큎띌우...
Introduction To Microservices
AWS vs Azure vs Google (GCP) - Slides
MSA ( Microservices Architecture ) 발표 ìžëŁŒ ë‹€ìšŽëĄœë“œ
횚윚적읞 ëč…데읎터 분석 및 ìČ˜ëŠŹë„Œ 위한 Glue, EMR 활용 - êč€íƒœí˜„ ì†”ëŁšì…˜ìŠˆ 아킀텍튞, AWS :: AWS Summit Seoul 2019
Understanding Web Cache
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon API Gateway and AWS Lambda: Better Together
Serverless computing
Introduction to microservices
IAM Deep Dive - Custom IAM Policies with Conditions
Aws IAM
AWS CDK in Practice
Terraform -- Infrastructure as Code
Introduction to Cloud Computing and AWS
Google Cloud Platform Data Storage
KBê”­ëŻŒì€í–‰ì€ 시작했닀 -  ì‰œêł  ëč ë„ž 큎띌우드 ê±°ëČ„ë„ŒìŠ€ 적용 ì „ëž” - ê°•ëł‘ì–” AWS ì†”ëŁšì…˜ìŠˆ 아킀텍튞 / 임강홍 큎띌우드플랫폌닚 찚임, ...
Cloud security and security architecture
AWS IAM -- Notes of 20130403 Doc Version
DevOps with Ansible
ꞈ윔 서ëč„슀 íŒšëŸŹë‹€ìž„ì˜ 전환 가속화 시대, ì‹ í•œêžˆìœ”íˆŹìžì˜ Cloud First ì „ëž” - 신쀑훈 AWS ì†”ëŁšì…˜ìŠˆ 아킀텍튞 / 씜성뎉 큎띌우...
Ad

Similar to Cloud design pattern using azure (20)

PPTX
Cloud Design Patterns
PPTX
Pillars of great Azure Architecture
PPT
J2EE Performance And Scalability Bp
PDF
Migrating to cloud-native_app_architectures_pivotal
PDF
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
PDF
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
PDF
Migrating_to_Cloud-Native_App_Architectures_Pivotal
PDF
Biz Talk Server Certification
PDF
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
PDF
JavaOne 2016 - 10 Key Lessons you should know
PPTX
Tips & Tricks to build software architecture document
DOCX
Architect resume march 2016
PDF
5 Steps to Get Precise SAP Impact-Based Testing
PPT
The Magic Of Application Lifecycle Management In Vs Public
PDF
The Essentials Of Project Management
PPT
Agile Software Architecture
DOCX
Selenium_WebDriver_Java_TestNG
PPTX
Convert monolithic .Net Applications to microservices With Principles
PDF
DevOps in Practice: When does "Practice" Become "Doing"?
PDF
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...
Cloud Design Patterns
Pillars of great Azure Architecture
J2EE Performance And Scalability Bp
Migrating to cloud-native_app_architectures_pivotal
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Migrating_to_Cloud-Native_App_Architectures_Pivotal (2)
Migrating_to_Cloud-Native_App_Architectures_Pivotal
Biz Talk Server Certification
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
JavaOne 2016 - 10 Key Lessons you should know
Tips & Tricks to build software architecture document
Architect resume march 2016
5 Steps to Get Precise SAP Impact-Based Testing
The Magic Of Application Lifecycle Management In Vs Public
The Essentials Of Project Management
Agile Software Architecture
Selenium_WebDriver_Java_TestNG
Convert monolithic .Net Applications to microservices With Principles
DevOps in Practice: When does "Practice" Become "Doing"?
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...
Ad

More from Karthikeyan VK (20)

PPTX
GCD ChatGPT.pptx
PPTX
DataScience-101
PPTX
How to become a Software Architect.pptx
PPTX
Blockchain workshop 101
PPTX
Event Streaming Architecture - Deep Dive
PPTX
Anti patterns
PPTX
How to double your productivity as a developer
PPTX
How to be an expert in Debugging .Net Applications
PPTX
Monolithic to Microservices - Handson
PPTX
Chat bot LUIS
PPTX
Enterprise security kubernetes
PPTX
Save Azure Cost
PPTX
Learning graphql .Net
PPTX
Azure devspaces
PPTX
Azure Event Grid
PPTX
Machine Learning Basics using Azure ML
PPTX
Cognitive Intelligence using azure search
PPTX
Convert monolithic .Net Applications to microservices
PPTX
Azure container instances
PPTX
Azure Durable Functions
GCD ChatGPT.pptx
DataScience-101
How to become a Software Architect.pptx
Blockchain workshop 101
Event Streaming Architecture - Deep Dive
Anti patterns
How to double your productivity as a developer
How to be an expert in Debugging .Net Applications
Monolithic to Microservices - Handson
Chat bot LUIS
Enterprise security kubernetes
Save Azure Cost
Learning graphql .Net
Azure devspaces
Azure Event Grid
Machine Learning Basics using Azure ML
Cognitive Intelligence using azure search
Convert monolithic .Net Applications to microservices
Azure container instances
Azure Durable Functions

Recently uploaded (20)

PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Nekopoi APK 2025 free lastest update
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
medical staffing services at VALiNTRY
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
L1 - Introduction to python Backend.pptx
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPT
Introduction Database Management System for Course Database
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
AI in Product Development-omnex systems
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
System and Network Administraation Chapter 3
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Wondershare Filmora 15 Crack With Activation Key [2025
Nekopoi APK 2025 free lastest update
Softaken Excel to vCard Converter Software.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
medical staffing services at VALiNTRY
2025 Textile ERP Trends: SAP, Odoo & Oracle
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Online Work Permit System for Fast Permit Processing
L1 - Introduction to python Backend.pptx
Design an Analysis of Algorithms I-SECS-1021-03
Introduction Database Management System for Course Database
Which alternative to Crystal Reports is best for small or large businesses.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
VVF-Customer-Presentation2025-Ver1.9.pptx
AI in Product Development-omnex systems
Navsoft: AI-Powered Business Solutions & Custom Software Development
PTS Company Brochure 2025 (1).pdf.......
System and Network Administraation Chapter 3
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...

Cloud design pattern using azure

Editor's Notes

  • #4: Performance  Maintainability Interoperability Modifiability Usability Testability Reliability Scalability Availability Reusability Security Supportability
  • #7: a natural law like gravity. It’s different than a value. Values are subjective; principles are objective. Gravity
 if you drop something, gravity controls
  • #11: a natural law like gravity. It’s different than a value. Values are subjective; principles are objective. Gravity
 if you drop something, gravity controls
  • #14: Use partitioning to work around database, network, and compute limits
  • #15: Use partitioning to work around database, network, and compute limits
  • #19: 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.
  • #20: Design your class to be dumb
  • #21: Design your class to be dumb Complexity. Idempotency. Repeated messages. Think of poison queue
  • #23: 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.
  • #24: Product and order example
  • #25: Product and order example
  • #26: Where is your angular application deployed in azure ?
  • #28: But js and api call will work