SlideShare a Scribd company logo
twitter: @MithunShanbhag
blog: mithunshanbhag.github.io
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
CloudSkew.com?
• Onlinediagrameditor
• Cloudarchitecturediagrams
• Free
• Currentlyin public preview
• Disclaimers (patents,roadmapdiscussions)
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Quick Demo
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Playbook for Prototypes, Experiments, POCs, MVPs
• Customers care about your features, NOT yourefficiently tuned engineering.
• Morefocus on features (development), less on infra (devops).
• 0 to100 in 6 seconds
• Rapidly go fromidea ->development -> deployment -> release.
• Release frequently.
• Find fastest way toautomate deployments.
• Ok if UIis not 100% polished or aesthetic.
• No premature optimization.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Why Microservices?
• Independentunitsof
• Deployment
• Scaling
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Why Serverless+ PaaS (instead of IaaS)?
• Zeroserver managementoverhead.
• Intelligent built-indefaults(load-balancing,firewall etc).
• Auto-scaling.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
One repository per app (microservice)
• Deployapptobothtest &prodenvironmentsfromthatrepository.
• [BAD]Deployapptotest &prodenvironmentsfromdifferentrepositories.
• [BAD]One repositoryforall apps.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Package management
• [BAD]Code duplication.
• Usepackageregistries (NPM,Nugetetc) tosharecommon,reusable codebetweenapps.
• [BAD]Alwaysinstalling latestpackageversion duringbuild.
• Usepinnedpackageversions toavoid unexpected/breakingchanges.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Externalized configuration (controllability)
• [BAD]Coupling anappandits configurationtogether.
• [BAD]Puttingpasswords,connectionstrings,endpointURLsin sourcecontrol.
• Storeconfigurationin anexternal,secure,centralizedkey/valuestore(e.g. AzureKeyVault).
• Keynamesremain samein all dev/test/prodenvironment, butvalueschange.
• RBAC’edaccessforappidentity.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Self-bootstrapping microservices
• [BAD]Runningscriptsor CLIcommandstostartupandconfigureanalreadydeployedapp.
• Deployedappshouldknowhowto startitselfup.
• Deployedappshouldknowhowto configureitself (afterreadingfromexternalconfig).
• Faststartup,gracefulshutdown.
• Verboselogsotherwise.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Asynchronous, loosely-coupled microservices
• Communicationusing service busorGRPC.
• Service bus
• Deadlettering
• Poisonmessages
• Auto-scaledcompeting consumers
• Retries/ back-offs/ timeouts/ circuit breaker
• BeOKwithweakconsistencymodels(reads lag writes)
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Stateless microservices
• Services canberedeployed,restartedatanytime.
• [BAD]Storingin-memorystatethatcannotbepersistedon exit..
• Stateshouldbepersisted in DBs,cachesonly.
• [BAD]Using stickysessions & affinities.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Horizontally auto-scaling microservices
• Horizontalscaling types:
• Manualscaling (slider)
• Scheduledscaling
• Rule-basedscaling
• Message queuesize> threshold
• Rateofincoming requests> threshold
• Dynamicscaling (e.g. Azurefunctionsscale controller)
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Observability (logging)
• Noserver toSSHinto.Orno SSHaccessallowed.
• Sologs areall youhave.
• Dynamicallychangelog verbosityon-demandvia externalconfig.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Telemetry (usermetrics)
• Collect custommetrics(anonymized,PII stripped)tounderstandlive usage patterns.
• E.g.Icon searchthatdoesn’tgenerateamatch.
• Everythingelse canbeminedfrompersisted data.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Telemetry (system metrics)
• First, ensure you’recollecting critical systemmetrics.
• SQL:Avg CPU load,Avg queryexec time, Top5queriesbyCPU,Top5 queriesbydataI/O.
• API:5xxerrors,Avg responsetimes
• Bus:Deadletters,PoisonMessages, Avg waittime,Avg processing time.
• Next,identify“yellow”& “red”thresholds.
• Next,createdashboardtovisualizethese.
• Next,createset automatedalertswhenthresholdexceeded.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Service accounts only
• Onlyservice accountscanread/writeto environments.
• Createservice accountsfortestenvironmenttoo.
• Remember:Nomanualaccesstoprodenvironment. Soerr onthe sideofverboselogging.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Dev / Test/ Prod Parity
• UseTerraform(orotherIaC solutions)toset up identicalenvironments.
• Differenceonlyin configurationvalues(key valuestore)
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Debouncing calls to server
• Throttling(rate-limiting) vsDebouncing
• Useifauto-savingdatato server.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Queue based load leveling
• Smoothoutpeak-usagespikesbyqueuing requests.
• Asynchronouslyprocessin batches.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
API payload compression
• Preferbrotli> gzipforresponsecompression
• CompressJSON payloadto40% oforiginalsize.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Use CDNs
• Caching &compressionbenefits forstaticcontent.
• PurgePOPsonbreaking(non-additivechanges).
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Federatedidentity / External Identity Provider
• Auto-saverequiresuserstobeauthenticated.
• OAuthflow:Implicit grant(SPAs) orAuthorizationcodegrant(server-side apps)
• [BAD]Storingusercredentials(even if salted/hashed/encrypted)
• Useexternalidentityproviders(cognito,okta,auth0,firebase)
• JWTtokens,notsession based.
twitter: @MithunShanbhagblog: mithunshanbhag.github.io
Q & A

More Related Content

PPTX
Azure Pipelines
PPTX
Azure devops
PPTX
Introduction to Azure DevOps
PPTX
How we built a job board in one week with JHipster
PDF
Intro to Git: a hands-on workshop
PPTX
Devops and git basics
PDF
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
PDF
How do you protect a hybrid PaaS-IaaS solution, built entirely in the cloud
Azure Pipelines
Azure devops
Introduction to Azure DevOps
How we built a job board in one week with JHipster
Intro to Git: a hands-on workshop
Devops and git basics
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
How do you protect a hybrid PaaS-IaaS solution, built entirely in the cloud

What's hot (20)

PPTX
The Automated Monolith
PPTX
Leveraging Azure DevOps across the Enterprise
PDF
Safe deployments with Blue-Green and Spinnaker
PPTX
UGIdotNET App Modernisation Keynote
PPTX
The Power of Azure DevOps
PPTX
Cloudstack Continuous Delivery
PPTX
The Power of Azure DevOps - Global Azure Day 2020
PDF
Rundeck's History and Future
PPTX
Azure DevOps: the future of integration and traceability
PDF
GitHub Actions with Node.js
PPTX
Intro to Azure DevOps
PPTX
Infrastructure automation with .NET
PPTX
Visual Studio Code for Java and Spring Developers
PPTX
Kenzan Spinnaker Meetup
PPTX
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
PPTX
Azure function DevOps pipeline, ALM / DevOps Rangers feedbacks
PDF
Seminar continuous delivery 19092013
PDF
DevOpsDays Houston 2019 - Shaun Ladewig, Robert Stone - From OverTheWallOps t...
PPTX
Microsoft Tech Series 2019 - Azure DevOps
PDF
Building the Pipeline of My Dreams
The Automated Monolith
Leveraging Azure DevOps across the Enterprise
Safe deployments with Blue-Green and Spinnaker
UGIdotNET App Modernisation Keynote
The Power of Azure DevOps
Cloudstack Continuous Delivery
The Power of Azure DevOps - Global Azure Day 2020
Rundeck's History and Future
Azure DevOps: the future of integration and traceability
GitHub Actions with Node.js
Intro to Azure DevOps
Infrastructure automation with .NET
Visual Studio Code for Java and Spring Developers
Kenzan Spinnaker Meetup
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Azure function DevOps pipeline, ALM / DevOps Rangers feedbacks
Seminar continuous delivery 19092013
DevOpsDays Houston 2019 - Shaun Ladewig, Robert Stone - From OverTheWallOps t...
Microsoft Tech Series 2019 - Azure DevOps
Building the Pipeline of My Dreams
Ad

Similar to CloudSkew Architecture (20)

PDF
Introduction to Git, DrupalCamp LA 2015
PDF
淺談 Startup 公司的軟體開發流程 v2
PDF
Agile startup company management and operation
PDF
Qcon beijing 2010
PDF
DevOps 2016 summit
PDF
stackconf 2022: Infrastructure Automation (anti) patterns
PDF
Infrastructure as Code Patterns
PPTX
Making sense of microservices, service mesh, and serverless
PDF
Iot meets Serverless
PDF
The Basics of Open Source Collaboration With Git and GitHub
PDF
Azureサーバーレスで行う情報のスクリーニング
PDF
FITC - Bootstrap Unleashed
PDF
Node.js 101
PDF
Azure DevOfsdfsdfsfasfsdfasfsdfsdfsdps.pdf
PPTX
Open Source Monitoring Tools
PPTX
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
PPTX
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
PDF
How to Contribute to Apache Usergrid
PPTX
Intro to Git and GitHub
PDF
Python to go
Introduction to Git, DrupalCamp LA 2015
淺談 Startup 公司的軟體開發流程 v2
Agile startup company management and operation
Qcon beijing 2010
DevOps 2016 summit
stackconf 2022: Infrastructure Automation (anti) patterns
Infrastructure as Code Patterns
Making sense of microservices, service mesh, and serverless
Iot meets Serverless
The Basics of Open Source Collaboration With Git and GitHub
Azureサーバーレスで行う情報のスクリーニング
FITC - Bootstrap Unleashed
Node.js 101
Azure DevOfsdfsdfsfasfsdfasfsdfsdfsdps.pdf
Open Source Monitoring Tools
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
How to Contribute to Apache Usergrid
Intro to Git and GitHub
Python to go
Ad

More from Mithun Shanbhag (7)

PPTX
Terraform on Azure
PPTX
Identity, authentication and authorization
PPTX
Design Patterns for Data Management and Consistency
PPTX
WSL - Windows SubSytem For Linux
PPTX
Creating user-mode debuggers for Windows
PPTX
Crash course in sql
PPTX
Crash course in git and github
Terraform on Azure
Identity, authentication and authorization
Design Patterns for Data Management and Consistency
WSL - Windows SubSytem For Linux
Creating user-mode debuggers for Windows
Crash course in sql
Crash course in git and github

Recently uploaded (20)

PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
System and Network Administration Chapter 2
PDF
medical staffing services at VALiNTRY
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
top salesforce developer skills in 2025.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
ai tools demonstartion for schools and inter college
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Essential Infomation Tech presentation.pptx
PPTX
CHAPTER 2 - PM Management and IT Context
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Upgrade and Innovation Strategies for SAP ERP Customers
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PTS Company Brochure 2025 (1).pdf.......
wealthsignaloriginal-com-DS-text-... (1).pdf
System and Network Administration Chapter 2
medical staffing services at VALiNTRY
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Internet Downloader Manager (IDM) Crack 6.42 Build 41
2025 Textile ERP Trends: SAP, Odoo & Oracle
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
top salesforce developer skills in 2025.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
How to Choose the Right IT Partner for Your Business in Malaysia
ai tools demonstartion for schools and inter college
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Essential Infomation Tech presentation.pptx
CHAPTER 2 - PM Management and IT Context

CloudSkew Architecture

Editor's Notes

  • #3: Quick demo
  • #4: Custom images Authenticated users only Auto-save
  • #6: What’s coming next: API gateway Redis cache Firewall / Application Gateway (WAF) SignalR / socket.io Service mesh (for service discovery)  
  • #12: E.g. What port to listen on?