SlideShare a Scribd company logo
Architecting Cloud Applications
   - the essential checklist -
                                             Anna Liu
           Associate Professor in Services Engineering
          School of Computer Science and Engineering
                        University of New South Wales
                            annaliu@cse.unsw.edu.au
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
Why Cloud Computing
•   Economies of scale
•   Pay per usage
•   Handling Big Data
•   Service Delivery platform
•   Innovative, engaging user experience
•   Realising Green IT initiatives
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
Cloud Platform Architecture
                            Cloud Applications




                                                                                                     Monitoring/Management Tools
                                                                                 Development Tools
                                                                                 Design and
SaaS           web app, data-intensive, CDNs, Social, CRM, etc

          Programming runtime, frameworks, application services
       Storage, compute, Map-Reduce; workflow, Web 2.0, collaboration, mashups

        Deploy, Scheduling, Fault-Management, Monitoring, Allocation, Security
PaaS
                  Automatic scale, Selection, Coordination, Messaging

               Data organization techniques, Replication, Load balancing

                     Virtualisation, Resource Management, Routing


IaaS

             Datacentres                                    Datacentres
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
Different Platforms with
     Different Target Audience
• Google App Engine
      • Caters for web applications
      • < 30 sec compute time
      • PaaS shields you from lots of infrastructure complexity
• Microsoft Azure
      • More general purpose
      • optimised for .NET
      • software plus services strategy caters to enterprise scenarios
• Amazon EC2/S3/SimpleDB
      • Virtual compute, storage on demand,
      • IaaS provides you with lots of flexibility
      • Third party innovation on top to enhance application development
        experience (eg. Red Hat/JBoss, MySQL, IBM Websphere, Appistry
        etc)
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
Auto scaling behind the scene
• Amazon EC2
     • CloudWatch – view into VM instance server utilization details,
       operational performance, disk reads and writes, network
     • Elastic Load Balancer – distributes apps across EC2
       instances, control request load-balancing across single or
       multiple cloud sites, performs provisioning-related decisions
       based on dynamic monitoring data reported by CloudWatch
     • developers specify preconditions eg. average CPU utilisation
• Microsoft Azure
     • Azure Fabric Controller (FC) – monitors, maintains and
       provisions machines to host applications
     • Web role, worker roles, instance number configurations
       parameters
Auto scaling behind the scene
• Google App Engine
    • Handles auto scaling and load balancing of
      application services based on web traffic
    • requests/task execution limited to 30 seconds
    • Moved from Tomcat to Jetty to reduce memory
      footprint (no need for session handler)
    • Fault tolerance and persistence of stored data
      through distributed replication
    • GAE serves static web content, hence no
      additional implementation to handle checkpointing
      and replication to re-instantiate execution state of
      processes
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
ACID no more?
“Eventual Consistency
Amazon SimpleDB keeps multiple copies of each domain.
When data is written or updated (using PutAttributes,
DeleteAttributes, CreateDomain or DeleteDomain) and
Success is returned, all copies of the data are updated.
However, it takes time for the update to propagate to all
storage locations. The data will eventually be consistent, but
an immediate read might not show the change.
Consistency is usually reached within seconds, but a high
system load or network partition might increase this time.
Repeating a read after a short time should return the updated
data. “
- Amazon Developer Guide, 2007-11-07
CAP Theorem
• Three properties of shared-data systems
    • Consistency: one update is made, all observers
      are updated
    • Availability: all database transactions should be
      processed accurately and promptly
    • Tolerance: tolerant to network Partitions
• CAP Theorem
    • Only two properties can be achieved at any time
    • Network partitions is given in distribute systems
    • Have to pick one between consistency and
      availability
Relational no more?
• Google App Engine‟s datastore:
      •   Select can be performed on one table only
      •   Intentionlly does not support Join
      •   Inefficient when queries span across machines
      •   Allows disks to fail without system failing
      •   Cannot easily port over existing enterprise relational DB

• Microsoft Azure:
      • Retiring the previous SSDS (no transactional support then)
      • Azure SQL Services to replace SSDS with relational features and Tx

• Amazon
      • S3 for big storage scenario
      • Have your own relational DB in the cloud!
      • Interesting to investigate failover/scalability features here...
What does this mean?
• Data reorganisation/restructuring required
• Understand trade offs between design
  (scalability versus portability/interoperability at
  data layer)
• Shopping carts, reference data, vs transactional
  data/updates, ACID vs BASE
• Data portability might be tough for a while
• I‟m revising my University lecture notes! So you
  better re-architect your app and data!
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
Experiment Setup
                                                                          Azure Web
       Amazon Web                          Google App                      Services
         Services



WSDL                               WSDL                          WSDL




                                                                                   Interface :
                            HTTP




                                                                 public Result InstantResponse(String value){
        ST




                                                             T
               RE




                                                          ES       // Echo the receiving value back to client
                                                     /R
             P/




                                                   AP              // Test net response time
           A
         SO




                                                 SO              }
                                                                 public Result Read(String value){
                                                                   // Retrieve data from DB based on the given
                                                                 value
                          WSDL                                     // Test DB read performance
                                                                 }
                                                                 public Result Create(String content){
                                                                   // Persist given content into DB
              Client Testing Application                           // Test DB write performance
                                                                 }
Network conditions Affects User
         Experience
Questions to ponder about
• This is a rather obvious conclusion
• My gmail sometimes tells me
      “reconnecting in 5 sec...” and it‟s ok for me!
• Are the user base happy enough?
• Will our network improve?
• Situation particular bad for us Aussies...
      • NBN discussion, population of 20mil not enough for vendors
        to invest?
      • Is it a matter of just dropping a container here?
      • Is there a business case for Telstra?
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform characteristics + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
Types of Applications
Application Types                       Decision Dimensions
• Enterprise, Web applications          • Application profile
       • business apps with web front         • Constraints and
         end to maximise user reach
                                                requirements on cloud
• Highly connected apps                         platform, resource models
       • Web 2.0, CDN, social
         networking, sensor network     • Resource model -> cost
• Data intensive                              • Your business model (how
                                                you make money out of
       • massively parallel,
         Hadoop/Map-Reduce                      the app you deploy on the
       • Analysis yields potentially
                                                cloud)
         surprising results                   • saving cost or speed up
• Compute Intensive                             versus ability to connect,
                                                build shared pool of meta-
       • Financial risk calculations
                                                data, discover surprising
       • Compare to HPC?
                                                results
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform characteristics+ network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
Wide Area Distributed Systems
        – the reality
• Scalability seems ok
     • Relatively constant individual response time
       despite larger request volume
• Availability is more of an issue?
     • Design for occasional unavailability
     • Plan for it
     • Try catch, Retry logic, idempotent operations are
       all still good!
Pressure Tests – App Engine
App Engine Storage Create Error Rate in Pressure Test(1024 Byte)
Round Type         1:30       4:30       7:30      10:30     13:30     Average All Req. Avg. Rate
Round 0 DB Err.             0          1         0         0         2       0.6
         Sent Req.       900        857        891       900       900     889.6     900 98.84%
Round 1 DB Err.             0          4         0         0         0       0.8
         Sent Req.      2699       2134       2242      2700      2700      2495    2700 92.41%
Round 2 DB Err.             0          0         4         0         8       2.4
         Sent Req.      4500       4180       3873      4500      4032      4217    4500 93.71%
Round 3 DB Err.             3          0         0         8         3       2.8
         Sent Req.      5403       5173       5681      5792      6065 5622.8       6300 89.25%
Round 4 DB Err.             0          0         0         6         3       1.8
         Sent Req.      5572       8100       6611      4287      7111 6336.2       8100 78.22%
Round 5 DB Err.             2          3         0         4         1         2
         Sent Req.      9235       9279       5561      9112      8275 8292.4       9900 83.76%
Overall DB Err.             5          8         4        18        17      10.4
         Sent Req.     28309     29723      24859     27291     29083     27853    32400 85.97%
         Err. Rate     0.02%      0.03%      0.02%     0.07%     0.06%    0.04%
                   google.appengine.api.datastore_errors:TransactionFailedError :
                    Too much contetion on these datastore entities.
                   500 Server Error
What‟s happening here?
• Throttling?
• Denial of service attack protection
  mechanism?
• Should end user developers have access
  to Configurable parameter for setting such
  limit?
Pressure Test – Amazon SimpleDB
 Amazon SimpleDB Create Error Rate in Pressure Test (1024 Byte)
 Round   Type       3:00       6:00       9:00       12:00      Average All Req. Avg. Rate
 Round 0 DB Err.             0          0          0          0          0
         Sent Req.         900        898        900        900     899.5      900 99.94%
 Round 1 DB Err.            20         10          9         15       13.5
         Sent Req.        2696       2700       2700       2699 2698.75       2700 99.95%
 Round 2 DB Err.             4          7          7          7       6.25
         Sent Req.        4367       4497       4485       3879      4307     4500 95.71%
 Round 3 DB Err.            17          6          7         13     10.75
         Sent Req.        5740       6193       6226       5795    5988.5     6300 95.06%
 Round 4 DB Err.            13          2          3         13       7.75
         Sent Req.        7081       8005       7896       7106      7522     8100 92.86%
 Round 5 DB Err.            19          9         33         16     19.25
         Sent Req.        8926       9694       7857       8195      8668     9900 87.56%
 Overall DB Err.            73         34         59         64       57.5
         Conn. Err.      29710      31987      30064     28574 30083.75      32400 92.85%
         Err. Rate       0.25%      0.11%      0.20%     0.22%      0.19%
                                          Amazon SimpleDB are currently unavailable
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
Monitoring and Management
• Could be a lot better!
      • We had to build a lot of monitoring code on our own
      • Some cloud system status available, but not view into your application
        health status
• Service Level Agreement issues
      •   Existing support caters for techies, developers
      •   Need dashboard view into business metric
      •   real time view into how application is running in the cloud
      •   Data point to have the commercial conversation with platform vendors
• Integration with existing enterprise monitoring capabilities?
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
Standards and Interoperability
• Cloud Computing Interoperability Forum
  (CCIF), OMG effort, The Open Group,
  Open Cloud Manifesto...
• Is Standards THE solution?
    • Competing standards? Timing? Design by
      committee?
    • In fact, does it make sense when cloud platform
      architecture varies significantly?
    • Individual services already surfaced on the internet
    • Still want to orchestrate services within a long
      running workflow, across/from different clouds
Internet Service Bus




•   REST on .NET Service Bus
    – Simple to implement for interop across different languages
    – Less overhead packages
•   SOAP on .NET Service Bus
    – Only available for .NET Frameworks communications atm
    – Other languages are not fully supported (Java can only
      pass Access Control on .NET Service)
    – More overhead packages when communicate between C#
      and Java, than C# to C#
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Is Cloud Computing just for the longtail?
Impedance to Enterprise
           Adoption of Cloud
•   Security, Privacy law
•   Ownership of data, data retention
•   Portability, fear of vendor lock in
•   Migration, integration with existing IT assets
•   Values for startups does not necessarily apply to
    enterprise
       • Cost of initial capital investment is already spent
       • Pay per use is not necessary a business benefit
Some Existing Efforts and
        Solution Patterns
• Analyse risk profiles for your application portfolio
• Private cloud (trade off economies of scale?)
• „de-value data‟, „partitioning‟, segregation‟
• Enable user choice, „trust‟
• Integration/interoperability solutions
• Security – lots of technical solutions
• Cloud Security Alliance (CSA) for some guidance on
  security issues
• Upcoming Research Collaboration with SEI CMU/US
  DoD
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Is Cloud Computing just for the longtail?
Architect‟s Checklist
1.  Remember the „Why‟
2.  Know the platform architecture
3.  Appreciate differences across cloud platforms
4.  Acknowledge auto-scaling is not all magic
5.  Design for eventual consistency
6.  Don‟t ignore the network layer
7.  Performance attributes = application profile +
    platform availability + network latency
8. Plan for Monitoring and management
9. Understand Interoperability and standards
10. Believe in Cloud Computing is not just for the longtail
An Engineering Analogy...
SS Great Britain, I K Brunel
Getting Involved
• Collaboration with UNSW
    •   We are recruiting Research Fellows!
    •   Research residential for Architects
    •   Open House Lab
    •   Short term contract research, advisory services
    •   longer term linkage programs (ARC, NICTA, CRC)
    •   Blogs.unsw.edu.au/annaliu
Standing on the shoulders of
            Giants
• UNSW Team
     •   Dr Helen Paik
     •   Mr Liang Zhao
     •   Mr Xiaomin Wu
     •   Mr Fei Teng
     •   Mr Jae Choi
• NICTA Team
     • Dr Jenny Liu, Markus Lachat
     • Dr Mark Staples
• Industry Advisory Team
     • Mr Kevin Francis (Object Consulting)
     • Dr Rajiv Ranjan (Smart Service CRC)
     • Milinda Kotelawele (Longscale)
THANK YOU!

More Related Content

What's hot

Why Microservice
Why Microservice Why Microservice
Why Microservice
Kelvin Yeung
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
SlideTeam
 
Micro services vs Monolith Architecture
Micro services vs Monolith ArchitectureMicro services vs Monolith Architecture
Micro services vs Monolith Architecture
MohamedElGohary71
 
MLOps with Azure DevOps
MLOps with Azure DevOpsMLOps with Azure DevOps
MLOps with Azure DevOps
Marco Parenzan
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
Codit
 
Architect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft Azure
Davide Benvegnù
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
Juan Fabian
 
Splunk for AIOps: Reduce IT outages through prediction with machine learning
Splunk for AIOps: Reduce IT outages through prediction with machine learningSplunk for AIOps: Reduce IT outages through prediction with machine learning
Splunk for AIOps: Reduce IT outages through prediction with machine learning
Digital Transformation EXPO Event Series
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
Amazon Web Services
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
MuleSoft
 
Migration Planning
Migration PlanningMigration Planning
Migration Planning
Amazon Web Services
 
Cloudamize Platform Training for Azure.pptx
Cloudamize Platform Training for Azure.pptxCloudamize Platform Training for Azure.pptx
Cloudamize Platform Training for Azure.pptx
SasikumarPalanivel3
 
Low code application platforms
Low code application platformsLow code application platforms
Low code application platforms
Matthew Weaver
 
Modern Data Flow
Modern Data FlowModern Data Flow
Modern Data Flow
confluent
 
Boot camp - Migration to AWS
Boot camp - Migration to AWSBoot camp - Migration to AWS
Boot camp - Migration to AWS
Amazon Web Services
 
Implementing a Data Lake
Implementing a Data LakeImplementing a Data Lake
Implementing a Data Lake
Amazon Web Services
 
10 Business Advantages of DevOps
10 Business Advantages of DevOps10 Business Advantages of DevOps
10 Business Advantages of DevOps
cliqtechno
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Kai Wähner
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
Amazon Web Services
 

What's hot (20)

Why Microservice
Why Microservice Why Microservice
Why Microservice
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
 
Micro services vs Monolith Architecture
Micro services vs Monolith ArchitectureMicro services vs Monolith Architecture
Micro services vs Monolith Architecture
 
MLOps with Azure DevOps
MLOps with Azure DevOpsMLOps with Azure DevOps
MLOps with Azure DevOps
 
Cloud Migration Workshop
Cloud Migration WorkshopCloud Migration Workshop
Cloud Migration Workshop
 
The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?The Ideal Approach to Application Modernization; Which Way to the Cloud?
The Ideal Approach to Application Modernization; Which Way to the Cloud?
 
Architect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft Azure
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Splunk for AIOps: Reduce IT outages through prediction with machine learning
Splunk for AIOps: Reduce IT outages through prediction with machine learningSplunk for AIOps: Reduce IT outages through prediction with machine learning
Splunk for AIOps: Reduce IT outages through prediction with machine learning
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
 
Migration Planning
Migration PlanningMigration Planning
Migration Planning
 
Cloudamize Platform Training for Azure.pptx
Cloudamize Platform Training for Azure.pptxCloudamize Platform Training for Azure.pptx
Cloudamize Platform Training for Azure.pptx
 
Low code application platforms
Low code application platformsLow code application platforms
Low code application platforms
 
Modern Data Flow
Modern Data FlowModern Data Flow
Modern Data Flow
 
Boot camp - Migration to AWS
Boot camp - Migration to AWSBoot camp - Migration to AWS
Boot camp - Migration to AWS
 
Implementing a Data Lake
Implementing a Data LakeImplementing a Data Lake
Implementing a Data Lake
 
10 Business Advantages of DevOps
10 Business Advantages of DevOps10 Business Advantages of DevOps
10 Business Advantages of DevOps
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 

Viewers also liked

Cloud friendly Enterprise Architecture
Cloud friendly Enterprise ArchitectureCloud friendly Enterprise Architecture
Cloud friendly Enterprise Architecture
Shahriar Iqbal Chowdhury
 
Design Pattern that every cloud developer must know
Design Pattern that every cloud developer must know Design Pattern that every cloud developer must know
Design Pattern that every cloud developer must know
Shahriar Iqbal Chowdhury
 
Application Refactoring With Design Patterns
Application Refactoring With Design PatternsApplication Refactoring With Design Patterns
Application Refactoring With Design Patterns
Mark Tabladillo
 
WSO2 Cloud and Platform as a Service Strategy
WSO2 Cloud and Platform as a Service StrategyWSO2 Cloud and Platform as a Service Strategy
WSO2 Cloud and Platform as a Service Strategy
Imesh Gunaratne
 
Better technology for better cloud
Better technology for better cloudBetter technology for better cloud
Better technology for better cloud
Julien Quester-Séméon
 
Building Highly Scalable and Flexible SaaS Solutions
Building Highly Scalable and Flexible SaaS SolutionsBuilding Highly Scalable and Flexible SaaS Solutions
Building Highly Scalable and Flexible SaaS Solutions
Impetus Technologies
 
SAP SuccessFactors With BGBS MENA
SAP SuccessFactors With BGBS MENASAP SuccessFactors With BGBS MENA
SAP SuccessFactors With BGBS MENA
Darem Alkhayer
 
Amazon Web Services Building Blocks for Drupal Applications and Hosting
Amazon Web Services Building Blocks for Drupal Applications and HostingAmazon Web Services Building Blocks for Drupal Applications and Hosting
Amazon Web Services Building Blocks for Drupal Applications and Hosting
Acquia
 
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
Amazon Web Services
 
SAP Success Factors Online Training
SAP Success Factors Online TrainingSAP Success Factors Online Training
SAP Success Factors Online Training
IT LearnMore
 
SuccessFactors Core Values
SuccessFactors Core ValuesSuccessFactors Core Values
SuccessFactors Core Values
SuccessFactors
 
SAP Sapsuccessfactors Introduction
SAP Sapsuccessfactors  Introduction SAP Sapsuccessfactors  Introduction
SAP Sapsuccessfactors Introduction
Sap HCM
 
Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First TimeArchitecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First Time
Serhiy (Serge) Haziyev
 
Succesfactors demo
Succesfactors demoSuccesfactors demo
Succesfactors demo
Verity Solutions
 

Viewers also liked (14)

Cloud friendly Enterprise Architecture
Cloud friendly Enterprise ArchitectureCloud friendly Enterprise Architecture
Cloud friendly Enterprise Architecture
 
Design Pattern that every cloud developer must know
Design Pattern that every cloud developer must know Design Pattern that every cloud developer must know
Design Pattern that every cloud developer must know
 
Application Refactoring With Design Patterns
Application Refactoring With Design PatternsApplication Refactoring With Design Patterns
Application Refactoring With Design Patterns
 
WSO2 Cloud and Platform as a Service Strategy
WSO2 Cloud and Platform as a Service StrategyWSO2 Cloud and Platform as a Service Strategy
WSO2 Cloud and Platform as a Service Strategy
 
Better technology for better cloud
Better technology for better cloudBetter technology for better cloud
Better technology for better cloud
 
Building Highly Scalable and Flexible SaaS Solutions
Building Highly Scalable and Flexible SaaS SolutionsBuilding Highly Scalable and Flexible SaaS Solutions
Building Highly Scalable and Flexible SaaS Solutions
 
SAP SuccessFactors With BGBS MENA
SAP SuccessFactors With BGBS MENASAP SuccessFactors With BGBS MENA
SAP SuccessFactors With BGBS MENA
 
Amazon Web Services Building Blocks for Drupal Applications and Hosting
Amazon Web Services Building Blocks for Drupal Applications and HostingAmazon Web Services Building Blocks for Drupal Applications and Hosting
Amazon Web Services Building Blocks for Drupal Applications and Hosting
 
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
 
SAP Success Factors Online Training
SAP Success Factors Online TrainingSAP Success Factors Online Training
SAP Success Factors Online Training
 
SuccessFactors Core Values
SuccessFactors Core ValuesSuccessFactors Core Values
SuccessFactors Core Values
 
SAP Sapsuccessfactors Introduction
SAP Sapsuccessfactors  Introduction SAP Sapsuccessfactors  Introduction
SAP Sapsuccessfactors Introduction
 
Architecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First TimeArchitecting SaaS: Doing It Right the First Time
Architecting SaaS: Doing It Right the First Time
 
Succesfactors demo
Succesfactors demoSuccesfactors demo
Succesfactors demo
 

Similar to Architecting Cloud Applications - the essential checklist

Kubernetes from the Ground Up
Kubernetes from the Ground UpKubernetes from the Ground Up
Kubernetes from the Ground Up
Dustin Humphries
 
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
Mesosphere Inc.
 
8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box
Kangaroot
 
Using Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High ScalabilityUsing Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High Scalability
mabuhr
 
Cloud Computing & Cloud Storage
Cloud Computing & Cloud Storage Cloud Computing & Cloud Storage
Cloud Computing & Cloud Storage
Priyesh Pratap Singh
 
Microsoft Azure For Solutions Architects
Microsoft Azure For Solutions ArchitectsMicrosoft Azure For Solutions Architects
Microsoft Azure For Solutions Architects
Roy Kim
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
Clint Edmonson
 
Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)
IRJET Journal
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
Hojoong Kim
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
Scaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMsScaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMs
Matei Zaharia
 
Who's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State MonitoringWho's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State Monitoring
Kevin Hakanson
 
Adopting the Cloud
Adopting the CloudAdopting the Cloud
Adopting the Cloud
Tapio Rautonen
 
Azure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloudAzure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloud
ICT-Partners
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
CAST
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
Karthik Reddy
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
Karthik Reddy
 
Cloud-Native Patterns for Data-Intensive Applications
Cloud-Native Patterns for Data-Intensive ApplicationsCloud-Native Patterns for Data-Intensive Applications
Cloud-Native Patterns for Data-Intensive Applications
VMware Tanzu
 

Similar to Architecting Cloud Applications - the essential checklist (20)

Kubernetes from the Ground Up
Kubernetes from the Ground UpKubernetes from the Ground Up
Kubernetes from the Ground Up
 
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
Best Practices for Managing Kubernetes and Stateful Services: Mesosphere & Sy...
 
8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box
 
Cloud APIs Overview Tucker
Cloud APIs Overview   TuckerCloud APIs Overview   Tucker
Cloud APIs Overview Tucker
 
Using Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High ScalabilityUsing Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High Scalability
 
Cloud Computing & Cloud Storage
Cloud Computing & Cloud Storage Cloud Computing & Cloud Storage
Cloud Computing & Cloud Storage
 
Microsoft Azure For Solutions Architects
Microsoft Azure For Solutions ArchitectsMicrosoft Azure For Solutions Architects
Microsoft Azure For Solutions Architects
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Scaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMsScaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMs
 
Who's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State MonitoringWho's in your Cloud? Cloud State Monitoring
Who's in your Cloud? Cloud State Monitoring
 
Azure migration
Azure migrationAzure migration
Azure migration
 
Adopting the Cloud
Adopting the CloudAdopting the Cloud
Adopting the Cloud
 
Azure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloudAzure en Nutanix: your journey to the hybrid cloud
Azure en Nutanix: your journey to the hybrid cloud
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Cloud-Native Patterns for Data-Intensive Applications
Cloud-Native Patterns for Data-Intensive ApplicationsCloud-Native Patterns for Data-Intensive Applications
Cloud-Native Patterns for Data-Intensive Applications
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 

Architecting Cloud Applications - the essential checklist

  • 1. Architecting Cloud Applications - the essential checklist - Anna Liu Associate Professor in Services Engineering School of Computer Science and Engineering University of New South Wales annaliu@cse.unsw.edu.au
  • 2. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 3. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 4. Why Cloud Computing • Economies of scale • Pay per usage • Handling Big Data • Service Delivery platform • Innovative, engaging user experience • Realising Green IT initiatives
  • 5. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 6. Cloud Platform Architecture Cloud Applications Monitoring/Management Tools Development Tools Design and SaaS web app, data-intensive, CDNs, Social, CRM, etc Programming runtime, frameworks, application services Storage, compute, Map-Reduce; workflow, Web 2.0, collaboration, mashups Deploy, Scheduling, Fault-Management, Monitoring, Allocation, Security PaaS Automatic scale, Selection, Coordination, Messaging Data organization techniques, Replication, Load balancing Virtualisation, Resource Management, Routing IaaS Datacentres Datacentres
  • 7. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 8. Different Platforms with Different Target Audience • Google App Engine • Caters for web applications • < 30 sec compute time • PaaS shields you from lots of infrastructure complexity • Microsoft Azure • More general purpose • optimised for .NET • software plus services strategy caters to enterprise scenarios • Amazon EC2/S3/SimpleDB • Virtual compute, storage on demand, • IaaS provides you with lots of flexibility • Third party innovation on top to enhance application development experience (eg. Red Hat/JBoss, MySQL, IBM Websphere, Appistry etc)
  • 9. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 10. Auto scaling behind the scene • Amazon EC2 • CloudWatch – view into VM instance server utilization details, operational performance, disk reads and writes, network • Elastic Load Balancer – distributes apps across EC2 instances, control request load-balancing across single or multiple cloud sites, performs provisioning-related decisions based on dynamic monitoring data reported by CloudWatch • developers specify preconditions eg. average CPU utilisation • Microsoft Azure • Azure Fabric Controller (FC) – monitors, maintains and provisions machines to host applications • Web role, worker roles, instance number configurations parameters
  • 11. Auto scaling behind the scene • Google App Engine • Handles auto scaling and load balancing of application services based on web traffic • requests/task execution limited to 30 seconds • Moved from Tomcat to Jetty to reduce memory footprint (no need for session handler) • Fault tolerance and persistence of stored data through distributed replication • GAE serves static web content, hence no additional implementation to handle checkpointing and replication to re-instantiate execution state of processes
  • 12. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 13. ACID no more? “Eventual Consistency Amazon SimpleDB keeps multiple copies of each domain. When data is written or updated (using PutAttributes, DeleteAttributes, CreateDomain or DeleteDomain) and Success is returned, all copies of the data are updated. However, it takes time for the update to propagate to all storage locations. The data will eventually be consistent, but an immediate read might not show the change. Consistency is usually reached within seconds, but a high system load or network partition might increase this time. Repeating a read after a short time should return the updated data. “ - Amazon Developer Guide, 2007-11-07
  • 14. CAP Theorem • Three properties of shared-data systems • Consistency: one update is made, all observers are updated • Availability: all database transactions should be processed accurately and promptly • Tolerance: tolerant to network Partitions • CAP Theorem • Only two properties can be achieved at any time • Network partitions is given in distribute systems • Have to pick one between consistency and availability
  • 15. Relational no more? • Google App Engine‟s datastore: • Select can be performed on one table only • Intentionlly does not support Join • Inefficient when queries span across machines • Allows disks to fail without system failing • Cannot easily port over existing enterprise relational DB • Microsoft Azure: • Retiring the previous SSDS (no transactional support then) • Azure SQL Services to replace SSDS with relational features and Tx • Amazon • S3 for big storage scenario • Have your own relational DB in the cloud! • Interesting to investigate failover/scalability features here...
  • 16. What does this mean? • Data reorganisation/restructuring required • Understand trade offs between design (scalability versus portability/interoperability at data layer) • Shopping carts, reference data, vs transactional data/updates, ACID vs BASE • Data portability might be tough for a while • I‟m revising my University lecture notes! So you better re-architect your app and data!
  • 17. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 18. Experiment Setup Azure Web Amazon Web Google App Services Services WSDL WSDL WSDL Interface : HTTP public Result InstantResponse(String value){ ST T RE ES // Echo the receiving value back to client /R P/ AP // Test net response time A SO SO } public Result Read(String value){ // Retrieve data from DB based on the given value WSDL // Test DB read performance } public Result Create(String content){ // Persist given content into DB Client Testing Application // Test DB write performance }
  • 19. Network conditions Affects User Experience
  • 20. Questions to ponder about • This is a rather obvious conclusion • My gmail sometimes tells me “reconnecting in 5 sec...” and it‟s ok for me! • Are the user base happy enough? • Will our network improve? • Situation particular bad for us Aussies... • NBN discussion, population of 20mil not enough for vendors to invest? • Is it a matter of just dropping a container here? • Is there a business case for Telstra?
  • 21. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform characteristics + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 22. Types of Applications Application Types Decision Dimensions • Enterprise, Web applications • Application profile • business apps with web front • Constraints and end to maximise user reach requirements on cloud • Highly connected apps platform, resource models • Web 2.0, CDN, social networking, sensor network • Resource model -> cost • Data intensive • Your business model (how you make money out of • massively parallel, Hadoop/Map-Reduce the app you deploy on the • Analysis yields potentially cloud) surprising results • saving cost or speed up • Compute Intensive versus ability to connect, build shared pool of meta- • Financial risk calculations data, discover surprising • Compare to HPC? results
  • 23. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform characteristics+ network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 24. Wide Area Distributed Systems – the reality • Scalability seems ok • Relatively constant individual response time despite larger request volume • Availability is more of an issue? • Design for occasional unavailability • Plan for it • Try catch, Retry logic, idempotent operations are all still good!
  • 25. Pressure Tests – App Engine App Engine Storage Create Error Rate in Pressure Test(1024 Byte) Round Type 1:30 4:30 7:30 10:30 13:30 Average All Req. Avg. Rate Round 0 DB Err. 0 1 0 0 2 0.6 Sent Req. 900 857 891 900 900 889.6 900 98.84% Round 1 DB Err. 0 4 0 0 0 0.8 Sent Req. 2699 2134 2242 2700 2700 2495 2700 92.41% Round 2 DB Err. 0 0 4 0 8 2.4 Sent Req. 4500 4180 3873 4500 4032 4217 4500 93.71% Round 3 DB Err. 3 0 0 8 3 2.8 Sent Req. 5403 5173 5681 5792 6065 5622.8 6300 89.25% Round 4 DB Err. 0 0 0 6 3 1.8 Sent Req. 5572 8100 6611 4287 7111 6336.2 8100 78.22% Round 5 DB Err. 2 3 0 4 1 2 Sent Req. 9235 9279 5561 9112 8275 8292.4 9900 83.76% Overall DB Err. 5 8 4 18 17 10.4 Sent Req. 28309 29723 24859 27291 29083 27853 32400 85.97% Err. Rate 0.02% 0.03% 0.02% 0.07% 0.06% 0.04% google.appengine.api.datastore_errors:TransactionFailedError : Too much contetion on these datastore entities. 500 Server Error
  • 26. What‟s happening here? • Throttling? • Denial of service attack protection mechanism? • Should end user developers have access to Configurable parameter for setting such limit?
  • 27. Pressure Test – Amazon SimpleDB Amazon SimpleDB Create Error Rate in Pressure Test (1024 Byte) Round Type 3:00 6:00 9:00 12:00 Average All Req. Avg. Rate Round 0 DB Err. 0 0 0 0 0 Sent Req. 900 898 900 900 899.5 900 99.94% Round 1 DB Err. 20 10 9 15 13.5 Sent Req. 2696 2700 2700 2699 2698.75 2700 99.95% Round 2 DB Err. 4 7 7 7 6.25 Sent Req. 4367 4497 4485 3879 4307 4500 95.71% Round 3 DB Err. 17 6 7 13 10.75 Sent Req. 5740 6193 6226 5795 5988.5 6300 95.06% Round 4 DB Err. 13 2 3 13 7.75 Sent Req. 7081 8005 7896 7106 7522 8100 92.86% Round 5 DB Err. 19 9 33 16 19.25 Sent Req. 8926 9694 7857 8195 8668 9900 87.56% Overall DB Err. 73 34 59 64 57.5 Conn. Err. 29710 31987 30064 28574 30083.75 32400 92.85% Err. Rate 0.25% 0.11% 0.20% 0.22% 0.19% Amazon SimpleDB are currently unavailable
  • 28.
  • 29. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. Monitoring and Management • Could be a lot better! • We had to build a lot of monitoring code on our own • Some cloud system status available, but not view into your application health status • Service Level Agreement issues • Existing support caters for techies, developers • Need dashboard view into business metric • real time view into how application is running in the cloud • Data point to have the commercial conversation with platform vendors • Integration with existing enterprise monitoring capabilities?
  • 36. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 37. Standards and Interoperability • Cloud Computing Interoperability Forum (CCIF), OMG effort, The Open Group, Open Cloud Manifesto... • Is Standards THE solution? • Competing standards? Timing? Design by committee? • In fact, does it make sense when cloud platform architecture varies significantly? • Individual services already surfaced on the internet • Still want to orchestrate services within a long running workflow, across/from different clouds
  • 38. Internet Service Bus • REST on .NET Service Bus – Simple to implement for interop across different languages – Less overhead packages • SOAP on .NET Service Bus – Only available for .NET Frameworks communications atm – Other languages are not fully supported (Java can only pass Access Control on .NET Service) – More overhead packages when communicate between C# and Java, than C# to C#
  • 39. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Is Cloud Computing just for the longtail?
  • 40. Impedance to Enterprise Adoption of Cloud • Security, Privacy law • Ownership of data, data retention • Portability, fear of vendor lock in • Migration, integration with existing IT assets • Values for startups does not necessarily apply to enterprise • Cost of initial capital investment is already spent • Pay per use is not necessary a business benefit
  • 41. Some Existing Efforts and Solution Patterns • Analyse risk profiles for your application portfolio • Private cloud (trade off economies of scale?) • „de-value data‟, „partitioning‟, segregation‟ • Enable user choice, „trust‟ • Integration/interoperability solutions • Security – lots of technical solutions • Cloud Security Alliance (CSA) for some guidance on security issues • Upcoming Research Collaboration with SEI CMU/US DoD
  • 42. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Is Cloud Computing just for the longtail?
  • 43. Architect‟s Checklist 1. Remember the „Why‟ 2. Know the platform architecture 3. Appreciate differences across cloud platforms 4. Acknowledge auto-scaling is not all magic 5. Design for eventual consistency 6. Don‟t ignore the network layer 7. Performance attributes = application profile + platform availability + network latency 8. Plan for Monitoring and management 9. Understand Interoperability and standards 10. Believe in Cloud Computing is not just for the longtail
  • 44. An Engineering Analogy... SS Great Britain, I K Brunel
  • 45. Getting Involved • Collaboration with UNSW • We are recruiting Research Fellows! • Research residential for Architects • Open House Lab • Short term contract research, advisory services • longer term linkage programs (ARC, NICTA, CRC) • Blogs.unsw.edu.au/annaliu
  • 46. Standing on the shoulders of Giants • UNSW Team • Dr Helen Paik • Mr Liang Zhao • Mr Xiaomin Wu • Mr Fei Teng • Mr Jae Choi • NICTA Team • Dr Jenny Liu, Markus Lachat • Dr Mark Staples • Industry Advisory Team • Mr Kevin Francis (Object Consulting) • Dr Rajiv Ranjan (Smart Service CRC) • Milinda Kotelawele (Longscale)