SlideShare a Scribd company logo
1 of 37
AGENDA + OBJECTIVES
Design Practices for “Cloud First” Applications
You will learn new ones
You will remember some of them – because cloud forces you to do so
You will update some of them
These practices are applicable to both on-premise and cloud applications
TO DO during design
3
DECOMPOSE APPLICATION BY WORKLOADS
Consider applications are composed of multiple workloads
Products like SharePoint and Windows Server are designed with this
principle in mind
Different workloads have different profiles: and requirements
Availability, Operational, Cost, Health, Security, Capacity,
And so on…
eCommerce as an example:
Browse + Search
Checkout
4
WINDOWS PACKAGING TAXONOMY
5
COMPONENTS: Reusable, self-describing, unit of testing ,
distribution and servicing
FEATURES: Product building-block which, in combination
with other features or components, delivers a set of
functionality
ROLES: Composition of features that forms the unit of
management (deployment, update and so on)
WORKLOADS: Composition of often related roles that run
together on a server or set of servers
SOLUTION: A set of integrated workloads that together
address a specific problem for a targeted customer
segment
PRODUCT: A SKU or a solution packaged as a product
6
DEFINE APPLICATION LIFECYCLE
Application Lifecycle define the key stages and milestones application goes
through when it is operational
Such stages are defined using time vs. usage/capacity/availability etc.
Often usage has direct relationship with capacity, availability and cost
7
M T W T F S S
Workload 1
Workload 2
J F M A M J J A S O N D
Workload 1
Workload 2
8
DEFINE AVAILABILITY MODEL + PLAN
Availability Model defines the when and why of the availability and drives SLA(s)
Availability Plan is the how of the availability – how the availability of the application and its
workloads will be guaranteed.
Resiliency is KING!
Football API (Example)
Live Match Scores + Commentary
100% during a live game
None when there is no match
Team + Player Stats
99% all the time
Application SLA != Platform SLA
9
J F M A M J J A S O N D
Workload 1
Workload 2
10
Catch
Recover
Monitor
DEFINE REAL-TIME HEALTH
There is more to a system than software
Understand how hardware failures affect the system
Understand “good health”
Understand “diminished health”
Understand “failure”
Ensure your “system” understands health dependencies
I challenge you – “Beat the Users”
Know about health before users tells you
11
App + Data
12
DESIGN FOR SECURITY
Use Secure Development Lifecycle (SDL). Full STOP!
13
Remember?
Trustworthy Computing
DEFINE SECURITY + IDENTITY MODEL
Identity Lifecycle Management is often missed
Federation
Provisioning and De-provisioning
Management (for example employee promotion)
Administration (for example password reset)
Access + Control
Authentication
Authorisation + Roles Based Access
Auditing
Externalise your identity provider
Note that it is a dependency
14
15
DEFINE CAPACITY MODEL + PLAN
Capacity Model defines the when and why of the capacity
and drives hosting cost model
Capacity Plan is the how of the capacity – how the
capacity for the application and its workloads will be
guaranteed.
16
J F M A M J J A S O N D
Workload 1
Workload 2
17
DEFINE COST MODEL
Break-down the cost by workloads and consumptions
patterns
You don’t have to do this for every use case – group similar
scenarios into groups with similar cost profiles
Develop a heat-map to represent your cost model
Represent your cost in the lifecycle model
18
19
MINIMIZE/ELIMINATE MANUAL OPERATIONS + REACTIVE
SUPPORT
Using the lifecycle models identify
All pro-active operations
All possible events and reactions
Implementation options
Manual (Human) – Slow and Not Consistent
Electronic (Human + Software) – Slow and Consistent
Automated (Software) – Fast and Consistent
Look to automate both pro-active operations and reactive responses
Design the system to recover from any failure at any level
20
Application + Data
Platform
Datacenter
21
DEFINE DATA MODEL
Data Model defines
How your data is structured, grouped and partitioned (following
workload pattern)
How your data is deployed – which data goes where
How your data is secured and accessed
How your data is queried and patterns (for example I/O, Tx.)
22
Volume Velocity Variety Variability
23
24
25
DEFINE DEVELOPMENT, TESTING + DEPLOYMENT
MODELS
Rethink!
Examples:
What version of facebook are you using?
How do facebook develop, test and release new versions of facebook? Are
there any versions?
How do you test your new web site you will launch at Super Bowl on
Sunday?
Simulating 500M users?
How does Amazon deploy country specific features in every country?
26
27
DEFINE MULTI-TENANCY MODEL
Multi-tenancy is about instances of your software.
A multi-tenancy model defines how your software will be
Developed
Configured
Deployed
Managed
Scaled
For each of your customer
28
29
Acc. Owner
Admin
< 1000 Users
Management
& Support
Software
Provider
A copy of the Software (instance per customer) is configured, deployed, scaled and managed
independently.
Acc. Owner
Admin
< 4000 Users
MULTI-INSTANCE MODEL
SINGLE INSTANCE MODEL
30
Acc. Owner
Admin
< 1000 Users
Management
& Support
Software
Provider
A Software (single instance for all customers) is configured, deployed, scaled and managed.
Acc. Owner
Admin
< 4000 Users
All Users
4 MODELS OF TENANCY STACK
31
Infrastructure
Platform
Application
Tenant
Infrastructure
Platform
Application
Tenant
IaaS
Platform
Application
Tenant
Platform
Application
Tenant
IaaS
PaaS
Application
Tenant
Application
Tenant
IaaS
PaaS
SaaS
Tenant Tenant
Specialisation vs. Generalisation
Multi-Instance Single-Instance
Isolated SharedIndependent
EMPHASIS
32
Automation Flexibility Capacity Economics
Independent Isolated Shared
33
DEFINE SAAS MODEL
SaaS Model defines how your application will be provided as a services
Key Activities
On-Boarding
Provisioning
Example
WL1: $0.005 10K tx a month
WL2: $0.020 10K tx a month
Customer A: 5000 users
WL1: %20
WL2: %80
Customer B: 7000 users
WL1: %65
WL2: %35
34
Commercial
Multi-
Tenancy
SaaS
Informs, Influences, Impacts
I challenge you – “Put $ on the User”
Calculate user’s “footprint” on the application
DESIGN FOR CLOUD APPLICATIONS
Decompose
Application by
Workloads
Define
Lifecycle
Model
Define
Availability
Model
Define
Deployment
Model + Plan
Define Health
Model
Define Security
Model
Define
Capacity
Model + Plan
Define Cost
Model
Define
Operational
Model + Plan
Define
Integration
Model
Define Data
Model
Define Testing
Strategy
Define
Development
Approach
Define Multi-
Tenancy Model
Define SaaS
Model
Architecting  with a 'cloud first' mindset
Architecting  with a 'cloud first' mindset

More Related Content

Viewers also liked

Как лучшие компании развивают лидерство new
Как лучшие компании развивают лидерство newКак лучшие компании развивают лидерство new
Как лучшие компании развивают лидерство newBI TO BE
 
Representing Information Across Channels
Representing Information Across ChannelsRepresenting Information Across Channels
Representing Information Across ChannelsDavid Peter Simon
 
Software ipr-patents-th10-2012
Software ipr-patents-th10-2012Software ipr-patents-th10-2012
Software ipr-patents-th10-2012nghia le trung
 
Finno-Ugric Capitals of Culture: Overview
Finno-Ugric Capitals of Culture: Overview  Finno-Ugric Capitals of Culture: Overview
Finno-Ugric Capitals of Culture: Overview Oliver Loode
 
Horario Escolar - Profesores de Computo
Horario Escolar - Profesores de ComputoHorario Escolar - Profesores de Computo
Horario Escolar - Profesores de ComputoMedardo Aparcana
 
LaunchPad Lovemark Module
LaunchPad Lovemark ModuleLaunchPad Lovemark Module
LaunchPad Lovemark Moduleacastle08
 
A3 examen et corrige anglais 2012 1 am t2
A3 examen et corrige anglais 2012 1 am t2A3 examen et corrige anglais 2012 1 am t2
A3 examen et corrige anglais 2012 1 am t2Ahmed Mesellem
 
Magpie InsurTech Award Presentation
Magpie InsurTech Award PresentationMagpie InsurTech Award Presentation
Magpie InsurTech Award PresentationThe Digital Insurer
 

Viewers also liked (13)

jbug-vagrant
jbug-vagrantjbug-vagrant
jbug-vagrant
 
Numbers activities
Numbers activitiesNumbers activities
Numbers activities
 
Как лучшие компании развивают лидерство new
Как лучшие компании развивают лидерство newКак лучшие компании развивают лидерство new
Как лучшие компании развивают лидерство new
 
Representing Information Across Channels
Representing Information Across ChannelsRepresenting Information Across Channels
Representing Information Across Channels
 
It's about people.
It's about people.It's about people.
It's about people.
 
Software ipr-patents-th10-2012
Software ipr-patents-th10-2012Software ipr-patents-th10-2012
Software ipr-patents-th10-2012
 
Finno-Ugric Capitals of Culture: Overview
Finno-Ugric Capitals of Culture: Overview  Finno-Ugric Capitals of Culture: Overview
Finno-Ugric Capitals of Culture: Overview
 
Horario Escolar - Profesores de Computo
Horario Escolar - Profesores de ComputoHorario Escolar - Profesores de Computo
Horario Escolar - Profesores de Computo
 
LaunchPad Lovemark Module
LaunchPad Lovemark ModuleLaunchPad Lovemark Module
LaunchPad Lovemark Module
 
Sta 217
Sta 217Sta 217
Sta 217
 
A3 examen et corrige anglais 2012 1 am t2
A3 examen et corrige anglais 2012 1 am t2A3 examen et corrige anglais 2012 1 am t2
A3 examen et corrige anglais 2012 1 am t2
 
Magpie InsurTech Award Presentation
Magpie InsurTech Award PresentationMagpie InsurTech Award Presentation
Magpie InsurTech Award Presentation
 
Итоги Russian Wine Fair 2012
Итоги Russian Wine Fair 2012Итоги Russian Wine Fair 2012
Итоги Russian Wine Fair 2012
 

Similar to Architecting with a 'cloud first' mindset

AWS Cloud Essentials - An Overview
AWS Cloud Essentials - An OverviewAWS Cloud Essentials - An Overview
AWS Cloud Essentials - An OverviewEdureka!
 
Application Lifecycle Management (ALM).pdf
Application Lifecycle Management (ALM).pdfApplication Lifecycle Management (ALM).pdf
Application Lifecycle Management (ALM).pdfAmitesh Raikwar
 
Trivandrumtechcon20
Trivandrumtechcon20Trivandrumtechcon20
Trivandrumtechcon20Jenkins NS
 
Dev ops developer (session 3)
Dev ops developer (session 3)Dev ops developer (session 3)
Dev ops developer (session 3)MSDEVMTL
 
IT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxIT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxvrickens
 
A perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applicationsA perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applicationsGeorge Milliken
 
Getting started with amazon workspaces - Toronto
Getting started with amazon workspaces - TorontoGetting started with amazon workspaces - Toronto
Getting started with amazon workspaces - TorontoAmazon Web Services
 
MMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_FinalMMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_Finalmentvanderplas
 
Agile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is builtAgile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is builtVincent Burckhardt
 
Critical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsCritical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsDatavail
 
Andy singleton continuous delivery-fcb - nov 2014
Andy singleton   continuous delivery-fcb - nov 2014Andy singleton   continuous delivery-fcb - nov 2014
Andy singleton continuous delivery-fcb - nov 2014Brad Power
 
ISD LECT 2and3upd.pptx
ISD LECT 2and3upd.pptxISD LECT 2and3upd.pptx
ISD LECT 2and3upd.pptxGamingMonster6
 
ISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsMoataz Nabil
 
Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...
Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...
Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...David J Rosenthal
 
Collaborative Tools with InduSoft Web Studio
Collaborative Tools with InduSoft Web StudioCollaborative Tools with InduSoft Web Studio
Collaborative Tools with InduSoft Web StudioAVEVA
 
From Components To Services
From Components To ServicesFrom Components To Services
From Components To ServicesJames Phillips
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010Ethos Technologies
 
What Is Slowing My Application Releases?
What Is Slowing My Application Releases?What Is Slowing My Application Releases?
What Is Slowing My Application Releases?Datical
 

Similar to Architecting with a 'cloud first' mindset (20)

AWS Cloud Essentials - An Overview
AWS Cloud Essentials - An OverviewAWS Cloud Essentials - An Overview
AWS Cloud Essentials - An Overview
 
Application Lifecycle Management (ALM).pdf
Application Lifecycle Management (ALM).pdfApplication Lifecycle Management (ALM).pdf
Application Lifecycle Management (ALM).pdf
 
Trivandrumtechcon20
Trivandrumtechcon20Trivandrumtechcon20
Trivandrumtechcon20
 
Dev ops developer (session 3)
Dev ops developer (session 3)Dev ops developer (session 3)
Dev ops developer (session 3)
 
IT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxIT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docx
 
A perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applicationsA perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applications
 
Getting started with amazon workspaces - Toronto
Getting started with amazon workspaces - TorontoGetting started with amazon workspaces - Toronto
Getting started with amazon workspaces - Toronto
 
MMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_FinalMMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_Final
 
Agile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is builtAgile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is built
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
Critical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsCritical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM Applications
 
Andy singleton continuous delivery-fcb - nov 2014
Andy singleton   continuous delivery-fcb - nov 2014Andy singleton   continuous delivery-fcb - nov 2014
Andy singleton continuous delivery-fcb - nov 2014
 
ISD LECT 2and3upd.pptx
ISD LECT 2and3upd.pptxISD LECT 2and3upd.pptx
ISD LECT 2and3upd.pptx
 
ISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test Tools
 
Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...
Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...
Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...
 
Collaborative Tools with InduSoft Web Studio
Collaborative Tools with InduSoft Web StudioCollaborative Tools with InduSoft Web Studio
Collaborative Tools with InduSoft Web Studio
 
Cloud Adoption
Cloud AdoptionCloud Adoption
Cloud Adoption
 
From Components To Services
From Components To ServicesFrom Components To Services
From Components To Services
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
What Is Slowing My Application Releases?
What Is Slowing My Application Releases?What Is Slowing My Application Releases?
What Is Slowing My Application Releases?
 

More from Marc Mercuri

Architecting world class azure resource manager templates
Architecting world class azure resource manager templatesArchitecting world class azure resource manager templates
Architecting world class azure resource manager templatesMarc Mercuri
 
Architecting Solutions That Span Private and Public Clouds
Architecting Solutions That Span Private and Public CloudsArchitecting Solutions That Span Private and Public Clouds
Architecting Solutions That Span Private and Public CloudsMarc Mercuri
 
Architecting fail safe data services
Architecting fail safe data servicesArchitecting fail safe data services
Architecting fail safe data servicesMarc Mercuri
 
Services symposium 2013 failsafe in 15 minutes
Services symposium 2013   failsafe in 15 minutesServices symposium 2013   failsafe in 15 minutes
Services symposium 2013 failsafe in 15 minutesMarc Mercuri
 
Predictive maintenance - Architecting a Solution with Devices, Services, Big ...
Predictive maintenance - Architecting a Solution with Devices, Services, Big ...Predictive maintenance - Architecting a Solution with Devices, Services, Big ...
Predictive maintenance - Architecting a Solution with Devices, Services, Big ...Marc Mercuri
 
Internet of Things: Opportunities and Architectures
Internet of Things: Opportunities and ArchitecturesInternet of Things: Opportunities and Architectures
Internet of Things: Opportunities and ArchitecturesMarc Mercuri
 
Fail safe modeling for cloud services and applications
Fail safe modeling for cloud services and applicationsFail safe modeling for cloud services and applications
Fail safe modeling for cloud services and applicationsMarc Mercuri
 
Failsafe 1 hour 2013
Failsafe 1 hour   2013Failsafe 1 hour   2013
Failsafe 1 hour 2013Marc Mercuri
 

More from Marc Mercuri (9)

Architecting world class azure resource manager templates
Architecting world class azure resource manager templatesArchitecting world class azure resource manager templates
Architecting world class azure resource manager templates
 
Architecting Solutions That Span Private and Public Clouds
Architecting Solutions That Span Private and Public CloudsArchitecting Solutions That Span Private and Public Clouds
Architecting Solutions That Span Private and Public Clouds
 
Architecting fail safe data services
Architecting fail safe data servicesArchitecting fail safe data services
Architecting fail safe data services
 
Services symposium 2013 failsafe in 15 minutes
Services symposium 2013   failsafe in 15 minutesServices symposium 2013   failsafe in 15 minutes
Services symposium 2013 failsafe in 15 minutes
 
Predictive maintenance - Architecting a Solution with Devices, Services, Big ...
Predictive maintenance - Architecting a Solution with Devices, Services, Big ...Predictive maintenance - Architecting a Solution with Devices, Services, Big ...
Predictive maintenance - Architecting a Solution with Devices, Services, Big ...
 
Internet of Things: Opportunities and Architectures
Internet of Things: Opportunities and ArchitecturesInternet of Things: Opportunities and Architectures
Internet of Things: Opportunities and Architectures
 
Fail safe modeling for cloud services and applications
Fail safe modeling for cloud services and applicationsFail safe modeling for cloud services and applications
Fail safe modeling for cloud services and applications
 
FailSafe IaaS
FailSafe IaaSFailSafe IaaS
FailSafe IaaS
 
Failsafe 1 hour 2013
Failsafe 1 hour   2013Failsafe 1 hour   2013
Failsafe 1 hour 2013
 

Recently uploaded

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 

Recently uploaded (20)

Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 

Architecting with a 'cloud first' mindset

  • 1.
  • 2. AGENDA + OBJECTIVES Design Practices for “Cloud First” Applications You will learn new ones You will remember some of them – because cloud forces you to do so You will update some of them These practices are applicable to both on-premise and cloud applications TO DO during design
  • 3. 3
  • 4. DECOMPOSE APPLICATION BY WORKLOADS Consider applications are composed of multiple workloads Products like SharePoint and Windows Server are designed with this principle in mind Different workloads have different profiles: and requirements Availability, Operational, Cost, Health, Security, Capacity, And so on… eCommerce as an example: Browse + Search Checkout 4
  • 5. WINDOWS PACKAGING TAXONOMY 5 COMPONENTS: Reusable, self-describing, unit of testing , distribution and servicing FEATURES: Product building-block which, in combination with other features or components, delivers a set of functionality ROLES: Composition of features that forms the unit of management (deployment, update and so on) WORKLOADS: Composition of often related roles that run together on a server or set of servers SOLUTION: A set of integrated workloads that together address a specific problem for a targeted customer segment PRODUCT: A SKU or a solution packaged as a product
  • 6. 6
  • 7. DEFINE APPLICATION LIFECYCLE Application Lifecycle define the key stages and milestones application goes through when it is operational Such stages are defined using time vs. usage/capacity/availability etc. Often usage has direct relationship with capacity, availability and cost 7 M T W T F S S Workload 1 Workload 2 J F M A M J J A S O N D Workload 1 Workload 2
  • 8. 8
  • 9. DEFINE AVAILABILITY MODEL + PLAN Availability Model defines the when and why of the availability and drives SLA(s) Availability Plan is the how of the availability – how the availability of the application and its workloads will be guaranteed. Resiliency is KING! Football API (Example) Live Match Scores + Commentary 100% during a live game None when there is no match Team + Player Stats 99% all the time Application SLA != Platform SLA 9 J F M A M J J A S O N D Workload 1 Workload 2
  • 10. 10
  • 11. Catch Recover Monitor DEFINE REAL-TIME HEALTH There is more to a system than software Understand how hardware failures affect the system Understand “good health” Understand “diminished health” Understand “failure” Ensure your “system” understands health dependencies I challenge you – “Beat the Users” Know about health before users tells you 11 App + Data
  • 12. 12
  • 13. DESIGN FOR SECURITY Use Secure Development Lifecycle (SDL). Full STOP! 13 Remember? Trustworthy Computing
  • 14. DEFINE SECURITY + IDENTITY MODEL Identity Lifecycle Management is often missed Federation Provisioning and De-provisioning Management (for example employee promotion) Administration (for example password reset) Access + Control Authentication Authorisation + Roles Based Access Auditing Externalise your identity provider Note that it is a dependency 14
  • 15. 15
  • 16. DEFINE CAPACITY MODEL + PLAN Capacity Model defines the when and why of the capacity and drives hosting cost model Capacity Plan is the how of the capacity – how the capacity for the application and its workloads will be guaranteed. 16 J F M A M J J A S O N D Workload 1 Workload 2
  • 17. 17
  • 18. DEFINE COST MODEL Break-down the cost by workloads and consumptions patterns You don’t have to do this for every use case – group similar scenarios into groups with similar cost profiles Develop a heat-map to represent your cost model Represent your cost in the lifecycle model 18
  • 19. 19
  • 20. MINIMIZE/ELIMINATE MANUAL OPERATIONS + REACTIVE SUPPORT Using the lifecycle models identify All pro-active operations All possible events and reactions Implementation options Manual (Human) – Slow and Not Consistent Electronic (Human + Software) – Slow and Consistent Automated (Software) – Fast and Consistent Look to automate both pro-active operations and reactive responses Design the system to recover from any failure at any level 20 Application + Data Platform Datacenter
  • 21. 21
  • 22. DEFINE DATA MODEL Data Model defines How your data is structured, grouped and partitioned (following workload pattern) How your data is deployed – which data goes where How your data is secured and accessed How your data is queried and patterns (for example I/O, Tx.) 22 Volume Velocity Variety Variability
  • 23. 23
  • 24. 24
  • 25. 25
  • 26. DEFINE DEVELOPMENT, TESTING + DEPLOYMENT MODELS Rethink! Examples: What version of facebook are you using? How do facebook develop, test and release new versions of facebook? Are there any versions? How do you test your new web site you will launch at Super Bowl on Sunday? Simulating 500M users? How does Amazon deploy country specific features in every country? 26
  • 27. 27
  • 28. DEFINE MULTI-TENANCY MODEL Multi-tenancy is about instances of your software. A multi-tenancy model defines how your software will be Developed Configured Deployed Managed Scaled For each of your customer 28
  • 29. 29 Acc. Owner Admin < 1000 Users Management & Support Software Provider A copy of the Software (instance per customer) is configured, deployed, scaled and managed independently. Acc. Owner Admin < 4000 Users MULTI-INSTANCE MODEL
  • 30. SINGLE INSTANCE MODEL 30 Acc. Owner Admin < 1000 Users Management & Support Software Provider A Software (single instance for all customers) is configured, deployed, scaled and managed. Acc. Owner Admin < 4000 Users All Users
  • 31. 4 MODELS OF TENANCY STACK 31 Infrastructure Platform Application Tenant Infrastructure Platform Application Tenant IaaS Platform Application Tenant Platform Application Tenant IaaS PaaS Application Tenant Application Tenant IaaS PaaS SaaS Tenant Tenant Specialisation vs. Generalisation Multi-Instance Single-Instance Isolated SharedIndependent
  • 32. EMPHASIS 32 Automation Flexibility Capacity Economics Independent Isolated Shared
  • 33. 33
  • 34. DEFINE SAAS MODEL SaaS Model defines how your application will be provided as a services Key Activities On-Boarding Provisioning Example WL1: $0.005 10K tx a month WL2: $0.020 10K tx a month Customer A: 5000 users WL1: %20 WL2: %80 Customer B: 7000 users WL1: %65 WL2: %35 34 Commercial Multi- Tenancy SaaS Informs, Influences, Impacts I challenge you – “Put $ on the User” Calculate user’s “footprint” on the application
  • 35. DESIGN FOR CLOUD APPLICATIONS Decompose Application by Workloads Define Lifecycle Model Define Availability Model Define Deployment Model + Plan Define Health Model Define Security Model Define Capacity Model + Plan Define Cost Model Define Operational Model + Plan Define Integration Model Define Data Model Define Testing Strategy Define Development Approach Define Multi- Tenancy Model Define SaaS Model