SlideShare ist ein Scribd-Unternehmen logo
1 von 47
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!

Weitere ähnliche Inhalte

Was ist angesagt?

End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSEnd-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSBhuvaneswari Subramani
 
App Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptxApp Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptxMONISH407209
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersAmazon Web Services
 
DevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityDevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityAlert Logic
 
Mainframe Modernization with AWS: Patterns and Best Practices
Mainframe Modernization with AWS: Patterns and Best PracticesMainframe Modernization with AWS: Patterns and Best Practices
Mainframe Modernization with AWS: Patterns and Best PracticesAmazon Web Services
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)Ravi Tadwalkar
 
Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Amazon Web Services
 
Rover: Implementing Landing Zone Using Docker Container
Rover: Implementing Landing Zone Using Docker ContainerRover: Implementing Landing Zone Using Docker Container
Rover: Implementing Landing Zone Using Docker ContainerSujay Pillai
 
Azure Application Modernization
Azure Application ModernizationAzure Application Modernization
Azure Application ModernizationKarina Matos
 
DevSecOps reference architectures 2018
DevSecOps reference architectures 2018DevSecOps reference architectures 2018
DevSecOps reference architectures 2018Sonatype
 
Migrating Legacy Applications to AWS Cloud: Strategies and Challenges
Migrating Legacy Applications to AWS Cloud: Strategies and ChallengesMigrating Legacy Applications to AWS Cloud: Strategies and Challenges
Migrating Legacy Applications to AWS Cloud: Strategies and ChallengesOSSCube
 
[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and OpportunitiesMohammed A. Imran
 
DevOps Monitoring and Alerting
DevOps Monitoring and AlertingDevOps Monitoring and Alerting
DevOps Monitoring and AlertingKhairul Zebua
 
Run IT Support the DevOps Way
Run IT Support the DevOps WayRun IT Support the DevOps Way
Run IT Support the DevOps WayAtlassian
 
CAF presentation 09 16-2020
CAF presentation 09 16-2020CAF presentation 09 16-2020
CAF presentation 09 16-2020Michael Nichols
 

Was ist angesagt? (20)

Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
DevOps: Infrastructure as Code
DevOps: Infrastructure as CodeDevOps: Infrastructure as Code
DevOps: Infrastructure as Code
 
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSEnd-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
 
App Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptxApp Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptx
 
Microservices chassis
Microservices chassisMicroservices chassis
Microservices chassis
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containers
 
DevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityDevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to Security
 
Mainframe Modernization with AWS: Patterns and Best Practices
Mainframe Modernization with AWS: Patterns and Best PracticesMainframe Modernization with AWS: Patterns and Best Practices
Mainframe Modernization with AWS: Patterns and Best Practices
 
DevSecOps
DevSecOpsDevSecOps
DevSecOps
 
Implementing DevSecOps
Implementing DevSecOpsImplementing DevSecOps
Implementing DevSecOps
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)
 
Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)
 
Rover: Implementing Landing Zone Using Docker Container
Rover: Implementing Landing Zone Using Docker ContainerRover: Implementing Landing Zone Using Docker Container
Rover: Implementing Landing Zone Using Docker Container
 
Azure Application Modernization
Azure Application ModernizationAzure Application Modernization
Azure Application Modernization
 
DevSecOps reference architectures 2018
DevSecOps reference architectures 2018DevSecOps reference architectures 2018
DevSecOps reference architectures 2018
 
Migrating Legacy Applications to AWS Cloud: Strategies and Challenges
Migrating Legacy Applications to AWS Cloud: Strategies and ChallengesMigrating Legacy Applications to AWS Cloud: Strategies and Challenges
Migrating Legacy Applications to AWS Cloud: Strategies and Challenges
 
[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities
 
DevOps Monitoring and Alerting
DevOps Monitoring and AlertingDevOps Monitoring and Alerting
DevOps Monitoring and Alerting
 
Run IT Support the DevOps Way
Run IT Support the DevOps WayRun IT Support the DevOps Way
Run IT Support the DevOps Way
 
CAF presentation 09 16-2020
CAF presentation 09 16-2020CAF presentation 09 16-2020
CAF presentation 09 16-2020
 

Andere mochten auch

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 PatternsMark 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 StrategyImesh Gunaratne
 
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 SolutionsImpetus Technologies
 
SAP SuccessFactors With BGBS MENA
SAP SuccessFactors With BGBS MENASAP SuccessFactors With BGBS MENA
SAP SuccessFactors With BGBS MENADarem 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 HostingAcquia
 
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 2012Amazon Web Services
 
SAP Success Factors Online Training
SAP Success Factors Online TrainingSAP Success Factors Online Training
SAP Success Factors Online TrainingIT LearnMore
 
SuccessFactors Core Values
SuccessFactors Core ValuesSuccessFactors Core Values
SuccessFactors Core ValuesSuccessFactors
 
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 TimeSerhiy (Serge) Haziyev
 

Andere mochten auch (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
 

Ähnlich wie Architecting Cloud Applications - the essential checklist

Kubernetes from the Ground Up
Kubernetes from the Ground UpKubernetes from the Ground Up
Kubernetes from the Ground UpDustin 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 boxKangaroot
 
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 Scalabilitymabuhr
 
Microsoft Azure For Solutions Architects
Microsoft Azure For Solutions ArchitectsMicrosoft Azure For Solutions Architects
Microsoft Azure For Solutions ArchitectsRoy Kim
 
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,2014Hojoong Kim
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware 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 VMsMatei 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 MonitoringKevin Hakanson
 
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 cloudICT-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 OverviewCAST
 
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 DeveloperKarthik 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 DeveloperKarthik 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 ApplicationsVMware Tanzu
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

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)