SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Building Applications On
         Cloud Architecture
                    Chris Haddad
            @cobiacomm     chris@wso2.com


Read more about Cloud Architecture and Cloud-aware Apps at
            http://blog.cobia.net/cobiacomm
Skating towards the puck
Cloud Characteristics and Architecture
                                                       •   Stateless services
Measured service
                                                       •   Rapid provisioning
 or pay per use                                        •   Flexible topology
                                           Rapid       •   High Quality of Service
                                         Elasticity
• Fine-grained
  metering
• Billing
                              On-
• Reporting                demand
                          self-service

• Flexible workload assignment
                                              Resource pooling
• Standard service offerings
• Quick startup and automation           •   Multi-tenancy
                                         •   Resource utilization
                                         •   Shared, virtual infrastructure
                                         •   Interoperability
Cloud Dimensions
• Sharing
  – Private / Public / Community
• Responsibility
  – Internal / External
• Location
  – On-premise / outsourced
Platform as a Service Adoption Drivers
Defining Cloud Platform Boundaries
• Distributed Topology
   – Latency
   – Stateless, autonomous services
   – Instrumented, redundant, and expecting failure
• Efficient resource pooling
   – Consumption aware and multi-tenant
   – Automated, continuous
• Scale
   – Asynchronous, event driven callbacks
   – Parallelizable, workload decomposition, and idempotent
• On-demand self service
   – Personalization extensibility points
   – Fine grained, modular
   – Template driven
Platform as a Service Capabilities


                          Automated
        Dev Ops Tooling
                          Governance




        Consumption       Service Level
        based Funding     Management
Platform as a Service Capabilities
•   Self service configuration                                            • Service catalogue
•   Automated provisioning                                                      • Service tiers
•   Policy configuration                                              • Demand and capacity
•   Process automation                                                           management
                                                                     • Lifecycle management
                                                                        • Cloud Management
                                   Dev Ops       Automated                         integration
                                   Tooling       Governance




                                 Consumption     Service Level
                                 based Funding   Management
• Metering                                                             • Resource monitoring
• Reporting                                                         • Resource management
• Billing                                                        • Performance management
                                                                        • Traffic orchestration
PaaS Abstraction Levels

 Component       • Users, workspaces, transactions
  Services       • Services, channels, API



                 • Application session, frameworks
 Application     • Application instance, .war files
  Platform       • Installing application


                 • Command line interface, bash shell
  Hardware       • Machine size, JVM configuration
Infrastructure   • Installing infrastructure
WSO2 Architecture Advantage


        Availability                 Scalability                Management
       Load monitor              Tenant partitioning           Cloud controller
                                  Private jet mode
Balancing and failover across    Ghost deployment       BigData Logging infrastructure
       hybrid clouds
State replication and session   BAM 2.0 architecture    Artifact Distribution Controller
         replication                                                   and
                                                         Deployment synchronization
Multiple load balancers with        Auto-scaling                P2 Repository
  keepalived or DNS RR
   Native multi-tenancy         Elastic Load Balancer   Consistent management and
                                                        infrastructure services across
                                                                entire platform
    Dynamic Clustering          Multi-tenant shared         Management console
                                     container
                                                                                    10
PaaS Reference Architecture
Building Apps on Cloud Architecture
•Why cloud aware applications rise above Web
 applications
•Where to make applications cloud aware
•What open source projects deliver cloud
 awareness
Rise Above:
 Cloud Scale and Distributed Providers
                                                                         Business
                                            Functional                    Proces
                   Presentation and                                         Business
                       Mashups                 Role                         Process
                      Presentation            Functional                       Business
                          Role                   Role                           Process
                                                                                  Business
                      Presentation and            Functional
                                                     Role                        Process and
                          Mashups                   Functional                 Business Rules
                        Presentation and
                        Mashups                        code

Client Tier

                                                                           Resource
                                   Integration Services                      Tier
                                                                              Resource
                                                                               Services
                                                                                  Resource
                                                                                  Services
                                   Integration Services



      Public Cloud Services
                                                          Private
                                                          Applications
Rise Above:
 Application Resiliency and Composition
                                Composite                        Mobile
                                                                                 Infrastructure as a
                                Application                    Application          Service (IaaS)
SaaS Application
                                                   Cloud
                                                    API                                   Web
                                                  Endpoint                             application
                                                                                        Endpoint




                                              Integration Services



  Business Service Portfolio                                                 Application Portfolio
                                                    Hybrid
     Presentation Services
                                                   Platform
      Business
     Process and
                   Functional                      Services
                     Services
    Rules Services
      Resources Services
      Integration Services
Rise Above:
  Deliver Cross-Partner Digital Business Platform
Vertical Application 1     Vertical Application 2   Vertical Application 3

     App Data                   App Data                  App Data




                                                                              Summit
                                                                              Vertical
App Source Code            App Source Code           App Source Code
      App                        App                        App
  Configuration              Configuration              Configuration




                                                                             Vertical
                                                                              API
 Domain Services                          Domain Services

 Domain Artifacts                         Domain Artifacts




                                                                             Managed
                         Programming Languages




                                                                             by PaaS
                               Frameworks

                                Containers
                              OS/Hypervisor
                                 Hardware
Where to make applications Cloud Aware
• Deliver application to massive consumer base
• Infrastructure cost optimization strategy
• Application resiliency improvement strategy
• Create an ecosystem platform supporting cross-partner
   digital business
Cloud Aware Architecture
• Maximize utilization and optimize cost
    – Requires deterministic performance
    – Load balance based on tenant, service, and workload, context
    – Increase tenant density
• Increase reliability, availability, scalability
    –   Shared nothing architecture
    –   Stateless server-side elements
    –   Consensus protocols
    –   Services distributed across multiple providers and zones
• Ecosystem platform
    – Monetize assets based on business value
    – Tenant/Consumer personalization and isolation
    – Sharing domain specific business capabilities
Architectural Difference Between Web
      Application and Cloud Application
      Web Application                       Cloud Application
•   Synchronous request-reply        •   Asynchronous interaction
    interaction                      •   Queues and workers
•   Centralized state (i.e. single   •   Scale out across datacenters
    database) and session                and providers
    management                       •   Distributed state and session
•   Clustered server instances           management
•   Silo architecture                •   Autonomous service instances
                                     •   Tenant context personalization
                                     •   Shared JVM / Shared Schema
                                     •   Shared nothing architecture
Cloud Application Patterns
              and Anti-Patterns                                  18




                                       Separation of concerns
   Failure Resilient                      Leaky interfaces
                                              Tightly coupled
Single threaded,                                  modules
serial execution
                    Embarrassingly Parallel /
      Minimal      Shared Nothing Architecture   Deterministic
    Consumption                                  performance
 Resource locks    Monolithic footprint Single tenancy model
            Deploy and execute on optimum topology
Cloud Architecture Best Practices
Transitioning to a New normal – Traditional practices may
not apply
• Distributed and federated interactions
   – Event based, heterogeneous systems, network latency
• Configurable containers and engines
   – Declarative data, rules, and process definitions
• De-normalized and simplified data models
   – Hadoop/BigTable, Hypertext media, simple NoSQL entities
• Expect failure
   – Systems span transactional control
• Applications decomposed into distinct services
   – Federated environment drives autonomy, statelessness, and
     composition
Application Architecture Crossroads


                    Innovation




   Familiarity
Cloud-awareness

Platform support for Cloud-aware applications
• Cloud Architecture
• Cloud Aware Design Patterns
• Programming Model
PaaS Reference Architecture
Cloud aware architecture model shift
New interaction model
• Actor Model
      – Dispatching and scheduling instead of direct invocation
      – Queues and asynchronous interactions
• RESTful interactions
      – Message passing instead of function calls or shared
        memory
• Eventual consistency instead of ACID
      – Distributed cache instead of application cluster
      – Cache access instead of direct resource access
         • Traditional O/R mapping (e.g. Hibernate) doesn’t work
 24
Cloud-aware Design Patterns

Cloud-aware Application

   Parallelizable,
  Shared nothing
                      Multi-tenant Application Platform Services
  Asynchronous,
 stateless services

   Fine grained,              ESB
  modular design

      Tenant
                       Application Server
                                            PaaS Framework
  personalization       Business Process

                            Registry                                   Asset
 Efficient resource                                        Load                                   Metering and
                                            Controller              Deployer and   Repositories
   consumption        Identity Management                balancer                                   Billing
                                                                    Synchronizer

   Deterministic            Storage
   performance
Simplification Through Patterns
Relevant pattern categories
• Computational fit analysis
• Parallelism and workload decomposition
• Concurrency
• State
• Structural
• Scale


26
Apply Computational Patterns
 Evaluate 13 Dwarfs
 1. Dense linear algebra – matrix calculations
 2. Sparse linear algebra – sparse matrix calculations and storage
 3. Spectral methods – operational engineering
 4. N-body methods – particle force calculations
 5. Structured grids – mechanical and fluid engineering, meteorology
 6. Unstructured grids – mechanical and fluid engineering
 7. Mapreduce – Monte Carlo simulations, data processing
 8. Combinational logic – data transformation
 9. Graph traversal – social networking
 10. Dynamic programming – DNA pattern matching, web search, shipping
 11. back-track / branch & bound - travel route mapping
 12. graphical model reference – speech and image recognition
 13. finite state machines – workflow optimization

27
Cloud-awareness
Programming Model
• Actor model (i.e. message passing instead of function
  invocation
• RESTful interactions
• Dynamic recoverability
• Consensus protocols
• Asynchronous rather than synchronous interactions
• Shared nothing architecture
• Data partitioning and sharding
• Federated data queries
• Service orchestration
• Functional programming
• MapReduce
Open Source Projects
• Cloud aware Infrastructure
   – WSO2 Stratos
   – Cloud Foundry
   – Red Hat OpenShift
• Frameworks
   – Parallel Process Execution and Coordination
   – Distributed Map-Reduce
   – Distributed Storage for Large Scale Structured Data (aka Big
     Table / Big Data)
   – Grid Frameworks
   – Distributed Object and Tuple Spaced Data Cache
   – REST Frameworks
   – Actor model
• Languages
   – Functional, Parallel, Actor Model
Cloud-optimized Frameworks
Scaffolding to structure Cloud aware app development
• Parallel Process Execution and Coordination
• Distributed Map-Reduce
     • Apache Hadoop, Apache MapReduce, StarFish MapReduce
• Distributed Storage for Large Scale Structured Data
  (aka Big Table / Big Data)
     • Apache Cassandra, Apache Hbase, Neptune, Hypertable
• Grid Frameworks
• Distributed Object and Tuple Spaced Data Cache
     – memcache
• REST Frameworks
• Actor model
30
Cloud-optimized Frameworks
Scaffolding to structure Cloud application development
• Parallel Process Execution and Coordination
      – .NET 4 Task Parallel Library, Apache Zookeeper
• Distributed Map-Reduce
      – Apache Hadoop, Apache MapReduce, StarFish MapReduce
• Distributed Storage for Large Scale Structured Data (aka Big Table / Big
  Data)
      – Apache Cassandra, Apache Hbase, Neptune, Hypertable
• Grid Frameworks
      – Globus, Condor, DataSynapse
• Distributed Object and Tuple Spaced Data Cache
      – Oracle Coherence, Terracotta Ehcache, Spring GemStone, memcache,
        GigaSpaces XAP
• REST Frameworks
      – Restlet, .NET WCF, DJango
• Actor model
      – Akka, Jetlang, Actors Guild, Actor Foundry,
 31
Programming Languages
Cloud-ready languages are emerging and maturing
• Functional Languages
      –   Haskell
      –   Occam
      –   F#
      –   Clojure
• Actor Model Alignment
      – Erlang
      – Scala
• Parallel Computation and Data Processing
      – Skywrite
      – Pig
      – BOOM

 32
Building Cloud-awareness
Focus on adopting Cloud-friendly Architecture
• Tenancy, dynamic discovery, and distributed cache
• Fine-grained metering, billing, and reporting of
  business entities, activities, and interactions
• Scale discrete application service instances instead of
  scaling monolithic application instances
• Shared nothing architecture, Thirteen Dwarf
  Patterns, parallel processing, resource coordination
• Cloud service provisioning and load balancer
Resources
• Try StratosLive right now:
   – https://stratoslive.wso2.com/
• Read about Stratos:
   – http://wso2.com/cloud/stratos/
   – Source Download available
• White Paper
   – Selecting Platform as a Service
   – Platform as a Service TCO: multi-tenant shared container
• Blog Articles
   –   What is Platform as a Service?
   –   PaaS Evaluation Framework for CIOs and Architects
   –   How to simplify Platform as a Service Complexity
   –   Searching for Cloud Reference Architecture
• Contact us:
   – bizdev@wso2.com
Follow us:
                            http://twitter.com/#!/wso2

                                                         Follow us:
Contact us:
                                                  http://twitter.com/#!/wso2
http://wso2.com/contact/
                                                  http://twitter.com/#!/cobiacomm
lean . enterprise . middleware

Weitere ähnliche Inhalte

Was ist angesagt?

The Need of Cloud-Native Application
The Need of Cloud-Native ApplicationThe Need of Cloud-Native Application
The Need of Cloud-Native ApplicationEmiliano Pecis
 
AWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAmazon Web Services
 
Microservices & Containers - Docker Bangalore Meetup #12
Microservices & Containers - Docker Bangalore Meetup #12Microservices & Containers - Docker Bangalore Meetup #12
Microservices & Containers - Docker Bangalore Meetup #12Aravind Ajad
 
Cloud connect - Delivering Enterprise Scale Applications on Cloud
Cloud connect - Delivering Enterprise Scale Applications on CloudCloud connect - Delivering Enterprise Scale Applications on Cloud
Cloud connect - Delivering Enterprise Scale Applications on Cloudaravindajju
 
API Strategy Austin - App-centric vs Job-centric Microservices
API Strategy Austin - App-centric vs Job-centric MicroservicesAPI Strategy Austin - App-centric vs Job-centric Microservices
API Strategy Austin - App-centric vs Job-centric MicroservicesIvan Dwyer
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUni Systems S.M.S.A.
 
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...Amazon Web Services
 
DevOps in the Cloud
DevOps in the CloudDevOps in the Cloud
DevOps in the CloudEran Stiller
 
Innovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your BusinessInnovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your BusinessAmazon Web Services
 
Microsoft Cloud-Native Workshop Slides
Microsoft Cloud-Native Workshop SlidesMicrosoft Cloud-Native Workshop Slides
Microsoft Cloud-Native Workshop SlidesVMware Tanzu
 
Ensuring Cloud Native Success: Organization Transformation
Ensuring Cloud Native Success:  Organization TransformationEnsuring Cloud Native Success:  Organization Transformation
Ensuring Cloud Native Success: Organization TransformationChloe Jackson
 
Handling Asynchronous Workloads With OpenShift and Iron.io
Handling Asynchronous Workloads With OpenShift and Iron.ioHandling Asynchronous Workloads With OpenShift and Iron.io
Handling Asynchronous Workloads With OpenShift and Iron.ioIvan Dwyer
 
Large-Scale Enterprise Platform Transformation with Microservices, DevOps, an...
Large-Scale Enterprise Platform Transformation with Microservices, DevOps, an...Large-Scale Enterprise Platform Transformation with Microservices, DevOps, an...
Large-Scale Enterprise Platform Transformation with Microservices, DevOps, an...VMware Tanzu
 
Building A Diverse Geo-Architecture For Cloud Native Applications In One Day
Building A Diverse Geo-Architecture For Cloud Native Applications In One DayBuilding A Diverse Geo-Architecture For Cloud Native Applications In One Day
Building A Diverse Geo-Architecture For Cloud Native Applications In One DayVMware Tanzu
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...TriNimbus
 
Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security Tom Laszewski
 
How Discovery Migrated 80% of Their IT to AWS with Cloudreach
How Discovery Migrated 80% of Their IT to AWS with CloudreachHow Discovery Migrated 80% of Their IT to AWS with Cloudreach
How Discovery Migrated 80% of Their IT to AWS with CloudreachAmazon Web Services
 

Was ist angesagt? (20)

The Need of Cloud-Native Application
The Need of Cloud-Native ApplicationThe Need of Cloud-Native Application
The Need of Cloud-Native Application
 
AWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWS
 
Cloud Native Application Development
Cloud Native Application DevelopmentCloud Native Application Development
Cloud Native Application Development
 
Microservices & Containers - Docker Bangalore Meetup #12
Microservices & Containers - Docker Bangalore Meetup #12Microservices & Containers - Docker Bangalore Meetup #12
Microservices & Containers - Docker Bangalore Meetup #12
 
Cloud connect - Delivering Enterprise Scale Applications on Cloud
Cloud connect - Delivering Enterprise Scale Applications on CloudCloud connect - Delivering Enterprise Scale Applications on Cloud
Cloud connect - Delivering Enterprise Scale Applications on Cloud
 
API Strategy Austin - App-centric vs Job-centric Microservices
API Strategy Austin - App-centric vs Job-centric MicroservicesAPI Strategy Austin - App-centric vs Job-centric Microservices
API Strategy Austin - App-centric vs Job-centric Microservices
 
Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformation
 
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...
Monitoring the Cloud – Understanding the Dynamic Nature of Cloud Computing - ...
 
DevOps in the Cloud
DevOps in the CloudDevOps in the Cloud
DevOps in the Cloud
 
Innovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your BusinessInnovating with AWS: How Microservices on AWS Can Transform Your Business
Innovating with AWS: How Microservices on AWS Can Transform Your Business
 
Microsoft Cloud-Native Workshop Slides
Microsoft Cloud-Native Workshop SlidesMicrosoft Cloud-Native Workshop Slides
Microsoft Cloud-Native Workshop Slides
 
Ensuring Cloud Native Success: Organization Transformation
Ensuring Cloud Native Success:  Organization TransformationEnsuring Cloud Native Success:  Organization Transformation
Ensuring Cloud Native Success: Organization Transformation
 
Handling Asynchronous Workloads With OpenShift and Iron.io
Handling Asynchronous Workloads With OpenShift and Iron.ioHandling Asynchronous Workloads With OpenShift and Iron.io
Handling Asynchronous Workloads With OpenShift and Iron.io
 
Large-Scale Enterprise Platform Transformation with Microservices, DevOps, an...
Large-Scale Enterprise Platform Transformation with Microservices, DevOps, an...Large-Scale Enterprise Platform Transformation with Microservices, DevOps, an...
Large-Scale Enterprise Platform Transformation with Microservices, DevOps, an...
 
Building A Diverse Geo-Architecture For Cloud Native Applications In One Day
Building A Diverse Geo-Architecture For Cloud Native Applications In One DayBuilding A Diverse Geo-Architecture For Cloud Native Applications In One Day
Building A Diverse Geo-Architecture For Cloud Native Applications In One Day
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
 
Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security
 
How Discovery Migrated 80% of Their IT to AWS with Cloudreach
How Discovery Migrated 80% of Their IT to AWS with CloudreachHow Discovery Migrated 80% of Their IT to AWS with Cloudreach
How Discovery Migrated 80% of Their IT to AWS with Cloudreach
 
The Great Cloud Migration
The Great Cloud MigrationThe Great Cloud Migration
The Great Cloud Migration
 

Ähnlich wie Building Cloud-Aware Applications

Summer School Scale Cloud Across the Enterprise
Summer School   Scale Cloud Across the EnterpriseSummer School   Scale Cloud Across the Enterprise
Summer School Scale Cloud Across the EnterpriseWSO2
 
Hot Cloud Companies: Tap In Systems - The Problem: Managing Cloud Complexities
Hot Cloud Companies: Tap In Systems - The Problem: Managing Cloud ComplexitiesHot Cloud Companies: Tap In Systems - The Problem: Managing Cloud Complexities
Hot Cloud Companies: Tap In Systems - The Problem: Managing Cloud ComplexitiesOpSource
 
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...WSO2
 
Building a Hybrid Platform as a Service
Building a Hybrid Platform as a ServiceBuilding a Hybrid Platform as a Service
Building a Hybrid Platform as a ServiceWSO2
 
Using a private cloud to automate and govern enterprise development
Using a private cloud to automate and govern enterprise developmentUsing a private cloud to automate and govern enterprise development
Using a private cloud to automate and govern enterprise developmentWSO2
 
Building A Cloud Platform
Building A Cloud PlatformBuilding A Cloud Platform
Building A Cloud PlatformWSO2
 
Applications at Scale
Applications at ScaleApplications at Scale
Applications at ScaleServiceMesh
 
Towards a Federated Cloud Ecosystem
Towards a Federated Cloud EcosystemTowards a Federated Cloud Ecosystem
Towards a Federated Cloud EcosystemClovis Chapman
 
Creating an Ecosystem Platform with Vertical PaaS
Creating an Ecosystem Platform with Vertical PaaSCreating an Ecosystem Platform with Vertical PaaS
Creating an Ecosystem Platform with Vertical PaaSWSO2
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackbuildacloud
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud BusinessACMBangalore
 
Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012Juanchi_43
 
Fórum E-commerce Brasil 2010: Jinesh Varia
Fórum E-commerce Brasil 2010: Jinesh VariaFórum E-commerce Brasil 2010: Jinesh Varia
Fórum E-commerce Brasil 2010: Jinesh VariaiMasters
 
Cisco live 2013 anything as a service david deakin
Cisco live 2013 anything as a service david deakinCisco live 2013 anything as a service david deakin
Cisco live 2013 anything as a service david deakinOptusBusiness
 
IBM - Massimo Leoni, Cloud Computing, Milano 2 luglio 2009
IBM - Massimo Leoni, Cloud Computing, Milano 2 luglio 2009IBM - Massimo Leoni, Cloud Computing, Milano 2 luglio 2009
IBM - Massimo Leoni, Cloud Computing, Milano 2 luglio 2009Manuela Moroncini
 
SOA & BPM in Cloud Readiness
SOA & BPM in Cloud ReadinessSOA & BPM in Cloud Readiness
SOA & BPM in Cloud ReadinessJainendra Kumar
 
The role of hyper-v in nist model
The role of hyper-v in nist modelThe role of hyper-v in nist model
The role of hyper-v in nist modelAlexey Bokov
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureBob Rhubart
 

Ähnlich wie Building Cloud-Aware Applications (20)

Summer School Scale Cloud Across the Enterprise
Summer School   Scale Cloud Across the EnterpriseSummer School   Scale Cloud Across the Enterprise
Summer School Scale Cloud Across the Enterprise
 
Hot Cloud Companies: Tap In Systems - The Problem: Managing Cloud Complexities
Hot Cloud Companies: Tap In Systems - The Problem: Managing Cloud ComplexitiesHot Cloud Companies: Tap In Systems - The Problem: Managing Cloud Complexities
Hot Cloud Companies: Tap In Systems - The Problem: Managing Cloud Complexities
 
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
 
Building a Hybrid Platform as a Service
Building a Hybrid Platform as a ServiceBuilding a Hybrid Platform as a Service
Building a Hybrid Platform as a Service
 
Using a private cloud to automate and govern enterprise development
Using a private cloud to automate and govern enterprise developmentUsing a private cloud to automate and govern enterprise development
Using a private cloud to automate and govern enterprise development
 
Building A Cloud Platform
Building A Cloud PlatformBuilding A Cloud Platform
Building A Cloud Platform
 
Applications at Scale
Applications at ScaleApplications at Scale
Applications at Scale
 
Towards a Federated Cloud Ecosystem
Towards a Federated Cloud EcosystemTowards a Federated Cloud Ecosystem
Towards a Federated Cloud Ecosystem
 
Creating an Ecosystem Platform with Vertical PaaS
Creating an Ecosystem Platform with Vertical PaaSCreating an Ecosystem Platform with Vertical PaaS
Creating an Ecosystem Platform with Vertical PaaS
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stack
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud Business
 
Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012
 
Configuring and deploying a private cloud with system center 2012
Configuring and deploying a private cloud with system center 2012Configuring and deploying a private cloud with system center 2012
Configuring and deploying a private cloud with system center 2012
 
Fórum E-commerce Brasil 2010: Jinesh Varia
Fórum E-commerce Brasil 2010: Jinesh VariaFórum E-commerce Brasil 2010: Jinesh Varia
Fórum E-commerce Brasil 2010: Jinesh Varia
 
Cisco live 2013 anything as a service david deakin
Cisco live 2013 anything as a service david deakinCisco live 2013 anything as a service david deakin
Cisco live 2013 anything as a service david deakin
 
CR Unlocking the Power of AWS
CR Unlocking the Power of AWSCR Unlocking the Power of AWS
CR Unlocking the Power of AWS
 
IBM - Massimo Leoni, Cloud Computing, Milano 2 luglio 2009
IBM - Massimo Leoni, Cloud Computing, Milano 2 luglio 2009IBM - Massimo Leoni, Cloud Computing, Milano 2 luglio 2009
IBM - Massimo Leoni, Cloud Computing, Milano 2 luglio 2009
 
SOA & BPM in Cloud Readiness
SOA & BPM in Cloud ReadinessSOA & BPM in Cloud Readiness
SOA & BPM in Cloud Readiness
 
The role of hyper-v in nist model
The role of hyper-v in nist modelThe role of hyper-v in nist model
The role of hyper-v in nist model
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
 

Mehr von Chris Haddad

High Productivity Platform
High Productivity PlatformHigh Productivity Platform
High Productivity PlatformChris Haddad
 
Lightweight ESB Alternatives
Lightweight ESB AlternativesLightweight ESB Alternatives
Lightweight ESB AlternativesChris Haddad
 
Eight Miles High: Build Cloud-native and Cloud-aware Systems
Eight Miles High: Build Cloud-native and Cloud-aware SystemsEight Miles High: Build Cloud-native and Cloud-aware Systems
Eight Miles High: Build Cloud-native and Cloud-aware SystemsChris Haddad
 
Cloaking Devices, CyberPersonas, and Neutral Zones
Cloaking Devices, CyberPersonas, and Neutral ZonesCloaking Devices, CyberPersonas, and Neutral Zones
Cloaking Devices, CyberPersonas, and Neutral ZonesChris Haddad
 
Steampunk App Servers in
Steampunk App Servers in Steampunk App Servers in
Steampunk App Servers in Chris Haddad
 
Bring N-Tier Apps to containers 2015 ContainerCon
Bring N-Tier Apps to containers  2015 ContainerConBring N-Tier Apps to containers  2015 ContainerCon
Bring N-Tier Apps to containers 2015 ContainerConChris Haddad
 
Overcome DevOps Adoption Barriers to Accelerate Software Delivery
Overcome DevOps Adoption Barriers to Accelerate Software DeliveryOvercome DevOps Adoption Barriers to Accelerate Software Delivery
Overcome DevOps Adoption Barriers to Accelerate Software DeliveryChris Haddad
 
Who is Accessing My API?
Who is Accessing My API?Who is Accessing My API?
Who is Accessing My API?Chris Haddad
 
Deploy at scale with CoreOS Kubernetes and Apache Stratos
Deploy at scale with CoreOS Kubernetes and Apache StratosDeploy at scale with CoreOS Kubernetes and Apache Stratos
Deploy at scale with CoreOS Kubernetes and Apache StratosChris Haddad
 
Merging microservices architecture with SOA practices
Merging microservices architecture with SOA practicesMerging microservices architecture with SOA practices
Merging microservices architecture with SOA practicesChris Haddad
 
Connected Architecture Fabric Creating a Connected World
Connected Architecture Fabric Creating a Connected WorldConnected Architecture Fabric Creating a Connected World
Connected Architecture Fabric Creating a Connected WorldChris Haddad
 
Establishing SOA Focused Enterprise Architecture
Establishing SOA Focused Enterprise ArchitectureEstablishing SOA Focused Enterprise Architecture
Establishing SOA Focused Enterprise ArchitectureChris Haddad
 
Java PaaS Apache Stratos
Java PaaS   Apache StratosJava PaaS   Apache Stratos
Java PaaS Apache StratosChris Haddad
 
Spreadsheets To API
Spreadsheets To APISpreadsheets To API
Spreadsheets To APIChris Haddad
 
Six Steps To Build A Successful API
Six Steps To Build A Successful APISix Steps To Build A Successful API
Six Steps To Build A Successful APIChris Haddad
 
Shadow IT Risk and Reward
Shadow IT Risk and RewardShadow IT Risk and Reward
Shadow IT Risk and RewardChris Haddad
 
Gaining Startup Speed with DevOps PaaS
Gaining Startup Speed with DevOps PaaSGaining Startup Speed with DevOps PaaS
Gaining Startup Speed with DevOps PaaSChris Haddad
 
Enabling cloud-native, complex enterprise development and deployment in the C...
Enabling cloud-native, complex enterprise development and deployment in the C...Enabling cloud-native, complex enterprise development and deployment in the C...
Enabling cloud-native, complex enterprise development and deployment in the C...Chris Haddad
 
Business driven IT design
Business driven IT designBusiness driven IT design
Business driven IT designChris Haddad
 
SOA and API Convergence Strategy and Tactics
SOA and API Convergence Strategy and TacticsSOA and API Convergence Strategy and Tactics
SOA and API Convergence Strategy and TacticsChris Haddad
 

Mehr von Chris Haddad (20)

High Productivity Platform
High Productivity PlatformHigh Productivity Platform
High Productivity Platform
 
Lightweight ESB Alternatives
Lightweight ESB AlternativesLightweight ESB Alternatives
Lightweight ESB Alternatives
 
Eight Miles High: Build Cloud-native and Cloud-aware Systems
Eight Miles High: Build Cloud-native and Cloud-aware SystemsEight Miles High: Build Cloud-native and Cloud-aware Systems
Eight Miles High: Build Cloud-native and Cloud-aware Systems
 
Cloaking Devices, CyberPersonas, and Neutral Zones
Cloaking Devices, CyberPersonas, and Neutral ZonesCloaking Devices, CyberPersonas, and Neutral Zones
Cloaking Devices, CyberPersonas, and Neutral Zones
 
Steampunk App Servers in
Steampunk App Servers in Steampunk App Servers in
Steampunk App Servers in
 
Bring N-Tier Apps to containers 2015 ContainerCon
Bring N-Tier Apps to containers  2015 ContainerConBring N-Tier Apps to containers  2015 ContainerCon
Bring N-Tier Apps to containers 2015 ContainerCon
 
Overcome DevOps Adoption Barriers to Accelerate Software Delivery
Overcome DevOps Adoption Barriers to Accelerate Software DeliveryOvercome DevOps Adoption Barriers to Accelerate Software Delivery
Overcome DevOps Adoption Barriers to Accelerate Software Delivery
 
Who is Accessing My API?
Who is Accessing My API?Who is Accessing My API?
Who is Accessing My API?
 
Deploy at scale with CoreOS Kubernetes and Apache Stratos
Deploy at scale with CoreOS Kubernetes and Apache StratosDeploy at scale with CoreOS Kubernetes and Apache Stratos
Deploy at scale with CoreOS Kubernetes and Apache Stratos
 
Merging microservices architecture with SOA practices
Merging microservices architecture with SOA practicesMerging microservices architecture with SOA practices
Merging microservices architecture with SOA practices
 
Connected Architecture Fabric Creating a Connected World
Connected Architecture Fabric Creating a Connected WorldConnected Architecture Fabric Creating a Connected World
Connected Architecture Fabric Creating a Connected World
 
Establishing SOA Focused Enterprise Architecture
Establishing SOA Focused Enterprise ArchitectureEstablishing SOA Focused Enterprise Architecture
Establishing SOA Focused Enterprise Architecture
 
Java PaaS Apache Stratos
Java PaaS   Apache StratosJava PaaS   Apache Stratos
Java PaaS Apache Stratos
 
Spreadsheets To API
Spreadsheets To APISpreadsheets To API
Spreadsheets To API
 
Six Steps To Build A Successful API
Six Steps To Build A Successful APISix Steps To Build A Successful API
Six Steps To Build A Successful API
 
Shadow IT Risk and Reward
Shadow IT Risk and RewardShadow IT Risk and Reward
Shadow IT Risk and Reward
 
Gaining Startup Speed with DevOps PaaS
Gaining Startup Speed with DevOps PaaSGaining Startup Speed with DevOps PaaS
Gaining Startup Speed with DevOps PaaS
 
Enabling cloud-native, complex enterprise development and deployment in the C...
Enabling cloud-native, complex enterprise development and deployment in the C...Enabling cloud-native, complex enterprise development and deployment in the C...
Enabling cloud-native, complex enterprise development and deployment in the C...
 
Business driven IT design
Business driven IT designBusiness driven IT design
Business driven IT design
 
SOA and API Convergence Strategy and Tactics
SOA and API Convergence Strategy and TacticsSOA and API Convergence Strategy and Tactics
SOA and API Convergence Strategy and Tactics
 

Kürzlich hochgeladen

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 

Kürzlich hochgeladen (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 

Building Cloud-Aware Applications

  • 1. Building Applications On Cloud Architecture Chris Haddad @cobiacomm chris@wso2.com Read more about Cloud Architecture and Cloud-aware Apps at http://blog.cobia.net/cobiacomm
  • 3. Cloud Characteristics and Architecture • Stateless services Measured service • Rapid provisioning or pay per use • Flexible topology Rapid • High Quality of Service Elasticity • Fine-grained metering • Billing On- • Reporting demand self-service • Flexible workload assignment Resource pooling • Standard service offerings • Quick startup and automation • Multi-tenancy • Resource utilization • Shared, virtual infrastructure • Interoperability
  • 4. Cloud Dimensions • Sharing – Private / Public / Community • Responsibility – Internal / External • Location – On-premise / outsourced
  • 5. Platform as a Service Adoption Drivers
  • 6. Defining Cloud Platform Boundaries • Distributed Topology – Latency – Stateless, autonomous services – Instrumented, redundant, and expecting failure • Efficient resource pooling – Consumption aware and multi-tenant – Automated, continuous • Scale – Asynchronous, event driven callbacks – Parallelizable, workload decomposition, and idempotent • On-demand self service – Personalization extensibility points – Fine grained, modular – Template driven
  • 7. Platform as a Service Capabilities Automated Dev Ops Tooling Governance Consumption Service Level based Funding Management
  • 8. Platform as a Service Capabilities • Self service configuration • Service catalogue • Automated provisioning • Service tiers • Policy configuration • Demand and capacity • Process automation management • Lifecycle management • Cloud Management Dev Ops Automated integration Tooling Governance Consumption Service Level based Funding Management • Metering • Resource monitoring • Reporting • Resource management • Billing • Performance management • Traffic orchestration
  • 9. PaaS Abstraction Levels Component • Users, workspaces, transactions Services • Services, channels, API • Application session, frameworks Application • Application instance, .war files Platform • Installing application • Command line interface, bash shell Hardware • Machine size, JVM configuration Infrastructure • Installing infrastructure
  • 10. WSO2 Architecture Advantage Availability Scalability Management Load monitor Tenant partitioning Cloud controller Private jet mode Balancing and failover across Ghost deployment BigData Logging infrastructure hybrid clouds State replication and session BAM 2.0 architecture Artifact Distribution Controller replication and Deployment synchronization Multiple load balancers with Auto-scaling P2 Repository keepalived or DNS RR Native multi-tenancy Elastic Load Balancer Consistent management and infrastructure services across entire platform Dynamic Clustering Multi-tenant shared Management console container 10
  • 12. Building Apps on Cloud Architecture •Why cloud aware applications rise above Web applications •Where to make applications cloud aware •What open source projects deliver cloud awareness
  • 13. Rise Above: Cloud Scale and Distributed Providers Business Functional Proces Presentation and Business Mashups Role Process Presentation Functional Business Role Role Process Business Presentation and Functional Role Process and Mashups Functional Business Rules Presentation and Mashups code Client Tier Resource Integration Services Tier Resource Services Resource Services Integration Services Public Cloud Services Private Applications
  • 14. Rise Above: Application Resiliency and Composition Composite Mobile Infrastructure as a Application Application Service (IaaS) SaaS Application Cloud API Web Endpoint application Endpoint Integration Services Business Service Portfolio Application Portfolio Hybrid Presentation Services Platform Business Process and Functional Services Services Rules Services Resources Services Integration Services
  • 15. Rise Above: Deliver Cross-Partner Digital Business Platform Vertical Application 1 Vertical Application 2 Vertical Application 3 App Data App Data App Data Summit Vertical App Source Code App Source Code App Source Code App App App Configuration Configuration Configuration Vertical API Domain Services Domain Services Domain Artifacts Domain Artifacts Managed Programming Languages by PaaS Frameworks Containers OS/Hypervisor Hardware
  • 16. Where to make applications Cloud Aware • Deliver application to massive consumer base • Infrastructure cost optimization strategy • Application resiliency improvement strategy • Create an ecosystem platform supporting cross-partner digital business
  • 17. Cloud Aware Architecture • Maximize utilization and optimize cost – Requires deterministic performance – Load balance based on tenant, service, and workload, context – Increase tenant density • Increase reliability, availability, scalability – Shared nothing architecture – Stateless server-side elements – Consensus protocols – Services distributed across multiple providers and zones • Ecosystem platform – Monetize assets based on business value – Tenant/Consumer personalization and isolation – Sharing domain specific business capabilities
  • 18. Architectural Difference Between Web Application and Cloud Application Web Application Cloud Application • Synchronous request-reply • Asynchronous interaction interaction • Queues and workers • Centralized state (i.e. single • Scale out across datacenters database) and session and providers management • Distributed state and session • Clustered server instances management • Silo architecture • Autonomous service instances • Tenant context personalization • Shared JVM / Shared Schema • Shared nothing architecture
  • 19. Cloud Application Patterns and Anti-Patterns 18 Separation of concerns Failure Resilient Leaky interfaces Tightly coupled Single threaded, modules serial execution Embarrassingly Parallel / Minimal Shared Nothing Architecture Deterministic Consumption performance Resource locks Monolithic footprint Single tenancy model Deploy and execute on optimum topology
  • 20. Cloud Architecture Best Practices Transitioning to a New normal – Traditional practices may not apply • Distributed and federated interactions – Event based, heterogeneous systems, network latency • Configurable containers and engines – Declarative data, rules, and process definitions • De-normalized and simplified data models – Hadoop/BigTable, Hypertext media, simple NoSQL entities • Expect failure – Systems span transactional control • Applications decomposed into distinct services – Federated environment drives autonomy, statelessness, and composition
  • 21. Application Architecture Crossroads Innovation Familiarity
  • 22. Cloud-awareness Platform support for Cloud-aware applications • Cloud Architecture • Cloud Aware Design Patterns • Programming Model
  • 24. Cloud aware architecture model shift New interaction model • Actor Model – Dispatching and scheduling instead of direct invocation – Queues and asynchronous interactions • RESTful interactions – Message passing instead of function calls or shared memory • Eventual consistency instead of ACID – Distributed cache instead of application cluster – Cache access instead of direct resource access • Traditional O/R mapping (e.g. Hibernate) doesn’t work 24
  • 25. Cloud-aware Design Patterns Cloud-aware Application Parallelizable, Shared nothing Multi-tenant Application Platform Services Asynchronous, stateless services Fine grained, ESB modular design Tenant Application Server PaaS Framework personalization Business Process Registry Asset Efficient resource Load Metering and Controller Deployer and Repositories consumption Identity Management balancer Billing Synchronizer Deterministic Storage performance
  • 26. Simplification Through Patterns Relevant pattern categories • Computational fit analysis • Parallelism and workload decomposition • Concurrency • State • Structural • Scale 26
  • 27. Apply Computational Patterns Evaluate 13 Dwarfs 1. Dense linear algebra – matrix calculations 2. Sparse linear algebra – sparse matrix calculations and storage 3. Spectral methods – operational engineering 4. N-body methods – particle force calculations 5. Structured grids – mechanical and fluid engineering, meteorology 6. Unstructured grids – mechanical and fluid engineering 7. Mapreduce – Monte Carlo simulations, data processing 8. Combinational logic – data transformation 9. Graph traversal – social networking 10. Dynamic programming – DNA pattern matching, web search, shipping 11. back-track / branch & bound - travel route mapping 12. graphical model reference – speech and image recognition 13. finite state machines – workflow optimization 27
  • 28. Cloud-awareness Programming Model • Actor model (i.e. message passing instead of function invocation • RESTful interactions • Dynamic recoverability • Consensus protocols • Asynchronous rather than synchronous interactions • Shared nothing architecture • Data partitioning and sharding • Federated data queries • Service orchestration • Functional programming • MapReduce
  • 29. Open Source Projects • Cloud aware Infrastructure – WSO2 Stratos – Cloud Foundry – Red Hat OpenShift • Frameworks – Parallel Process Execution and Coordination – Distributed Map-Reduce – Distributed Storage for Large Scale Structured Data (aka Big Table / Big Data) – Grid Frameworks – Distributed Object and Tuple Spaced Data Cache – REST Frameworks – Actor model • Languages – Functional, Parallel, Actor Model
  • 30. Cloud-optimized Frameworks Scaffolding to structure Cloud aware app development • Parallel Process Execution and Coordination • Distributed Map-Reduce • Apache Hadoop, Apache MapReduce, StarFish MapReduce • Distributed Storage for Large Scale Structured Data (aka Big Table / Big Data) • Apache Cassandra, Apache Hbase, Neptune, Hypertable • Grid Frameworks • Distributed Object and Tuple Spaced Data Cache – memcache • REST Frameworks • Actor model 30
  • 31. Cloud-optimized Frameworks Scaffolding to structure Cloud application development • Parallel Process Execution and Coordination – .NET 4 Task Parallel Library, Apache Zookeeper • Distributed Map-Reduce – Apache Hadoop, Apache MapReduce, StarFish MapReduce • Distributed Storage for Large Scale Structured Data (aka Big Table / Big Data) – Apache Cassandra, Apache Hbase, Neptune, Hypertable • Grid Frameworks – Globus, Condor, DataSynapse • Distributed Object and Tuple Spaced Data Cache – Oracle Coherence, Terracotta Ehcache, Spring GemStone, memcache, GigaSpaces XAP • REST Frameworks – Restlet, .NET WCF, DJango • Actor model – Akka, Jetlang, Actors Guild, Actor Foundry, 31
  • 32. Programming Languages Cloud-ready languages are emerging and maturing • Functional Languages – Haskell – Occam – F# – Clojure • Actor Model Alignment – Erlang – Scala • Parallel Computation and Data Processing – Skywrite – Pig – BOOM 32
  • 33. Building Cloud-awareness Focus on adopting Cloud-friendly Architecture • Tenancy, dynamic discovery, and distributed cache • Fine-grained metering, billing, and reporting of business entities, activities, and interactions • Scale discrete application service instances instead of scaling monolithic application instances • Shared nothing architecture, Thirteen Dwarf Patterns, parallel processing, resource coordination • Cloud service provisioning and load balancer
  • 34. Resources • Try StratosLive right now: – https://stratoslive.wso2.com/ • Read about Stratos: – http://wso2.com/cloud/stratos/ – Source Download available • White Paper – Selecting Platform as a Service – Platform as a Service TCO: multi-tenant shared container • Blog Articles – What is Platform as a Service? – PaaS Evaluation Framework for CIOs and Architects – How to simplify Platform as a Service Complexity – Searching for Cloud Reference Architecture • Contact us: – bizdev@wso2.com
  • 35. Follow us: http://twitter.com/#!/wso2 Follow us: Contact us: http://twitter.com/#!/wso2 http://wso2.com/contact/ http://twitter.com/#!/cobiacomm
  • 36. lean . enterprise . middleware

Hinweis der Redaktion

  1. Is the 15-year-old web application architecture still relevant, or is new Cloud-aware application architecture emerging? While many teams forklift web applications into the Cloud, scale-out leaders are building for failure, high availability, elasticity, and operational efficiency. In this presentation, Chris Haddad describes how new components, patterns, and frameworks are redefining application architecture.
  2. Skating towards puckhttp://www.webstockpro.com/UpperCut-RF/tre02014.Ice-hockey-player-skating-Photo/
  3. To maximize business benefit, PaaS offerings should significantly exhibit essential Cloud characteristics. The NIST Draft – Cloud Computing Synopsis and Recommendations defines Cloud characteristics as:• On-demand self-service• Broad network access• Resource pooling• Rapid elasticity• Measured serviceMeasured service or pay per useThe first Cloud characteristic, measured service, enables pay-as-you-go consumption models and user subscription to metered services. Usage is monitored, and the system generates bills based on charging model. To close the perception gap between business end-users and IT teams, the Cloud solution should bill for business value or business metrics instead of billing for IT resources. Business end-users do not easily correlate business value with an invoice for CPU time, network I/O, or data storage bytes. In contrast, business focused IT teams communicate value and charges based on number of users, processed forms, received marketing pieces, or sales transactions. A cloud native PaaS supports monitoring, metering, and billing based on business oriented entities. Rapid ElasticityA stateful monolithic application server cluster connected to a relational database does not efficiently scale with rapid elastically. Dynamic discoverability and rapid provisioning can instantiate processing and message nodes across a flexible and distributed topology. Applications exposing stateless services (or where state is transparently cached and available to instances) will seamlessly expand and contract to execute on available resources. A cloud native PaaS will interoperate with cloud management components to coordinate spinning up and tearing down instances based on user, message, and business transaction load in addition to raw infrastructure load (i.e. CPU and memory utilization).Resource PoolingDevelopment and operation teams are familiar with resource pooling. Platform environments commonly pool memory, code libraries, database connections, and resource bundles for use across multiple requests or application instances. But because hardware isolation has traditionally been required to enforce quality of service and security, hardware resource utilization has traditionally been extremely low (~5-15%). While virtualization is often used to increase application-machine density and raise machine utilization, virtualization efforts often result in only (~50-60%) utilization. With PaaS level multi-tenancy, deterministic performance, and application container level isolation, an organization could possible shrink it’s hardware footprint by half. Sophisticated PaaS environments allocate resources and limit usage based on policy and context. The environment may limit usage by throttling messages, time slicing resource execution, or queuing demand. Integration and SOA run-time infrastructure supports the resource sharing and interoperability required to deliver effective resource pools. As teams start to pool resources beyond a single Cloud environment, integration is required to merge disparate identities, entitlements, policies, and resource models. As teams start to deliver application capabilities as Cloud services, a policy aware SOA run-time infrastructure pools service instances, manages service instance lifecycle, and mediates access.On-demand self-serviceOn-demand self-service requires infrastructure automation to flexibly assign workloads and decrease provisioning periods. If teams excessively customize an environment, they will increase time to market, lower resource pooling, and create a complex environment, which is difficult to manage and maintain. Users should predominantly subscribe to standard platform service offerings, and your team should minimize exceptions.
  4. This evaluation criteria measures how widely the solution can be shared (i.e. private, public, community), who is responsible for PaaS environment management (i.e. internal, external), and where the PaaS is located (i.e. on-premise, outsourced) options. Before selecting PaaS infrastructure, understand how sharing, location, and responsibility impact your decision. Public, private, or community attributes specify how widely the cloud service is shared; a sharing dimension. Internal or external denote the consumer's view of the Cloud's service interface. The view is associated with a consumer's responsibility for service development, operations, and management; a responsibility dimension. A third dimension, on-premise or outsourced, describes where the service assets are located; a location dimension. A hybrid cloud strategy delivers, spans, and connects clouds across all dimension attributes.  Your organization and team will often be confronted with delivering, connecting, and spanning solutions across diverse private and public Cloud environments. Your Platform as a Service architecture and platform service offering should provide a holistic hybrid environment consistently applying governance and policies across internal and external Clouds. Hybrid cloud use cases require interoperability, federation, SOA principles, and infrastructure services to bridge Cloud environments into a unified platform.  PaaS offerings score high (10) when they can run within all dimension coordinates, and score low (1) when they only run within a subset of the dimensions. For more information on Cloud dimensions, view Chris’ blog post.
  5. Platform as a Service resides within the space between Software as a Service (SaaS) and Infrastructure as a Service (IaaS). IaaS delivers basic network, storage, and compute- processing capabilities as standardized, scalable service offerings. Example IaaS offerings include Amazon EC2/S3, Windows Azure VM Role, and RackSpace Cloud Servers). Software as a Service delivers business software capabilities (e.g. expense reporting, logistics, benefits enrollment) and information feeds as online web applications and web services. Pioneered in the early 2000’s, SaaS was used to by independent software vendors to efficiently deliver an application without requiring on-premise installation, remote updates, and cost prohibitive instance management. Platform as a Service is application middleware offered as a service to developers, integrators, and architects.Infrastructure as a Service offers development team a bare-bones infrastructure environment, which requires adding middleware, application frameworks, and infrastructure services (i.e. identity, entitlement, application logging). IaaS encapsulates hardware complexity and applies operational best practices. Operation teams create IaaS Clouds by applying virtualization, automation, and standardization to hardware provisioning and allocation tasks. As teams look to apply provisioning and automation to the application platform, interest in DevOps has grown.The DevOps movement creates a collaborative environment bridging development and operation team members. DevOps enables team members to jointly design, build, and deploy business application and service solutions. The environment closes the gap between business requirements, policies, available run- time resources, and solution development.Development and operation teams use Platform as a Service to design, build, and deliver customized applications or information services. Instead of relying on standardized SaaS, teams using PaaS have more control over solution architecture, quality of service, user experience, data models, identity, integration, and business logic. PaaS offerings often support DevOp practices, which include self-service, automated provisioning, continuous integration, and continuous delivery.Figure 1 illustrates the Platform as a Service space, which incorporates IaaS DevOps practices and increases solution customization options. IaaS could be considered an unfinished house requiring appliances, cabinetry, and fixtures. At the other spectrum extreme, SaaS offers a fully furnished dwelling with little customization. Even if purple dotted lime décor is not your personal style, a SaaS may require you to sit on the purple dotted lime green couch. Alternatively, a PaaS offers a finished house with an array of personalized furniture choices. Because the industry broadly defines PaaS as the level above hardware infrastructure and below business applications, development teams do not commonly have clear comparison criteria to intelligently evaluate frameworks or determine adoption benefits. At a minimum, PaaS offerings differ from traditional application platforms by shielding teams from direct infrastructure ownership, management, and complexity. Figure 1. Relationship between Platform as a Service and other Cloud service layers
  6. Taken from Gartner
  7. Architects are interested in delivering measurable business value, shielding IT personnel from complex dependencies, and deliver a productive development and operations (i.e. DevOps) environment. The following PaaS capabilities are used to achieve these objectives:DevOps ToolingAutomated GovernanceService Level ManagementConsumption based pricing “Cloud consumers of PaaS can employ the tools and execution resources provided by cloud providers to develop, test, deploy and manage the applications hosted in a cloud environment. PaaS consumers can be application developers who design and implement application software, application testers who run and test applications in cloud-based environments, application deployers who publish applications into the cloud, and application administrators who configure and monitor application performance on a platform. PaaS consumers can be billed according to, processing, database storage and network resources consumed by the PaaS application, and the duration of the platform usage.”Source: http://collaborate.nist.gov/twiki-cloud-computing/pub/CloudComputing/ReferenceArchitectureTaxonomy/NIST_SP_500-292_-_090611.pdf“For PaaS, the Cloud Provider manages the computing infrastructure for the platform and runs the cloud software that provides the components of the platform, such as runtime software execution stack, databases, and other middleware components. The PaaS Cloud Provider typically also supports the development, deployment and management process of the PaaS Cloud Consumer by providing tools such as integrated development environments (IDEs), development version of cloud software, software development kits (SDKs), deployment and management tools. The PaaS Cloud Consumer has control over the applications and possibly some the hosting environment settings, but has no or limited access to the infrastructure underlying the platform such as network, servers, operating systems (OS), or storage.”Source: http://collaborate.nist.gov/twiki-cloud-computing/pub/CloudComputing/ReferenceArchitectureTaxonomy/NIST_SP_500-292_-_090611.pdf
  8. Some solution architects find Cloud characteristics and supporting PaaS attributes too abstract and infrastructure focused. Architects may be more interested in delivering measurable business value, shielding IT personnel from complex dependencies, and deliver a productive development and operations (i.e. DevOps) environment. The following PaaS capabilities (See Figure 4) are used to achieve these objectives:DevOps ToolingAutomated GovernanceService Level ManagementConsumption based pricing Figure 4: Platform as a Service (PaaS) Capabilities and supporting practices DevOps ToolingDevOps tooling creates an environment fostering collaboration between development and operations team members. Practice and tooling enable teams to implement self-service configuration, automated provisioning, policy configuration, and process automation practices which bridge the design, build, deploy, and manage phases within the software development life-cycle. By integrating DevOps tooling with on-demand resource instances, teams can reduce time to market and increase agility. Automated GovernanceGovernance is a practice, which defines policies, people, and processes. Effective governance mitigates risks, improves performance, and facilitates correct actions. Automated governance enables application and infrastructure services to efficiently scale across numerous consumers and providers while effectively monetizing, maintaining, and securing assets and consumer-provider interactions. By publishing a service catalogue offering tiered levels of service, teams can promote standard offerings that meet customer requirements. By streamlining access and approval, automated governance encourages customers to choose standard offerings and reduce cost. Scaling a Cloud environment while right-sizing available capacity is non-trivial, and the infrastructure must support demand management and capacity management activities. When organizations move beyond their first Cloud service release, automated lifecycle management becomes a predominant concern. To effectively manage the service lifecycle, the infrastructure must report on service versions, subscribed consumers, and usage trends. In the run-time environment, an infrastructure authority component makes resource allocation decisions, which are enforced by service level management components. Service Level ManagementService level management enforces governance policies. PaaS infrastructure should integrate service level management activities throughout the solution stack (i.e. network, processing, storage, managed code container, application platform engines, and application logic). Resource monitoring, resource management, performance management, and traffic orchestration must monitor, manage, and optimize machine node instances, message routing, application service location, tenant security, and session state. Intelligent service level management on Cloud native PaaS infrastructure has the ability to raise infrastructure utilization while maintaining quality of service. Consumption Based PricingToday, cloud consumption based pricing reflects IT asset monetization (e.g. machine instance per hour, network I/O, storage bytes). However, business users don’t really care how many instances are running in the Cloud. Business users care about business entities, business activity performance, and associated cost. Table 1 below illustrates various pricing units. For example, the number of market leads generated by a marketing piece, or cost to process an insurance policy. Decoupling metering and billing from IT assets and shifting the reporting model to focus on business activity and holistic IT cost will positively change the IT investment conversation. Coupling multi-tenant metering and billing with business activity monitoring and reporting will facilitate the shift. “Cloud consumers of PaaS can employ the tools and execution resources provided by cloud providers to develop, test, deploy and manage the applications hosted in a cloud environment. PaaS consumers can be application developers who design and implement application software, application testers who run and test applications in cloud-based environments, application deployers who publish applications into the cloud, and application administrators who configure and monitor application performance on a platform. PaaS consumers can be billed according to, processing, database storage and network resources consumed by the PaaS application, and the duration of the platform usage.”Source: http://collaborate.nist.gov/twiki-cloud-computing/pub/CloudComputing/ReferenceArchitectureTaxonomy/NIST_SP_500-292_-_090611.pdf“For PaaS, the Cloud Provider manages the computing infrastructure for the platform and runs the cloud software that provides the components of the platform, such as runtime software execution stack, databases, and other middleware components. The PaaS Cloud Provider typically also supports the development, deployment and management process of the PaaS Cloud Consumer by providing tools such as integrated development environments (IDEs), development version of cloud software, software development kits (SDKs), deployment and management tools. The PaaS Cloud Consumer has control over the applications and possibly some the hosting environment settings, but has no or limited access to the infrastructure underlying the platform such as network, servers, operating systems (OS), or storage.”Source: http://collaborate.nist.gov/twiki-cloud-computing/pub/CloudComputing/ReferenceArchitectureTaxonomy/NIST_SP_500-292_-_090611.pdf
  9. Cloud computing, PaaS, and DevOps tooling is an opportunity to raise infrastructure abstraction. Figure 5 demonstrates the continuum from hardware infrastructure to business entities. DevOps tooling integrated with PaaS should shield developers from hardware infrastructure concerns and expose business entities. While Cloud washed PaaS does often facilitates hardware infrastructure configuration, enables rapid infrastructure installation, and delivers machine level access to Cloud machines, the Cloud washed PaaS environment does not shield development team members from hardware infrastructure complexity. Development team members must still be experts in machine sizing, Java Virtual Machine (JVM) configuration, and network topologies.  Some PaaS environments do hide hardware infrastructure concerns and instead expose application platform entities. Application developers can work with familiar application platform entities (i.e. .war files, application frameworks, application sessions), easily install applications on the Cloud, and configure application instances. Cloud environment exposing application platform entities will deliver a familiar application development model and provide the team with a high level of control.  With both the hardware infrastructure and application platform abstraction levels, teams can often forklift existing applications into the Cloud with few modifications. The migrated applications will run in the Cloud, but will not be purpose-built for the Cloud. If Cloud benefits are derived by delivering capabilities ‘as a service’, business entities should be exposed, composed, connected, consumed, and orchestrated as services. A business entity perspective is required to decompose applications and flexibly distribute the entities across Cloud nodes. PaaS environments exposing APIs, services, and communication channels deliver application building blocks at an appropriate abstraction level. Multi-tenancy is extended inside the application, and tenancy can be applied to users, workspaces, and transactions.
  10. A Platform as a Service offering should promote deploying applications onto a flexible, distributed topology. To maximize Cloud characteristics, a PaaS should facilitate scaling way out (e.g. across cloud zones, data centers) and automatically distribute fine-grained service component resources. Figure 6 presents a logical view of a cloud application executing across a distributed topology. The Integration Services PaaS service component is used to connect application service components and external cloud services by message passing, not function invocation. Integration services commonly include a Enterprise Service Bus (ESB), service governance registry, service gateways, and message brokers. Figure 6: Cloudy Topology
  11. As an application platform in the Cloud, PaaS should facilitate Cloud characteristics (i.e. elastic scale, on-demand self service, resource pooling, and consumption based pricing). While all middleware vendors purport to deliver a platform product or service powering the Cloud, all PaaS offerings do not deliver appropriate granularity, abstraction, capabilities, simplicity, and solution breadth. When attempting to achieve Cloud characteristics, development teams often specify the following goals Ensure an application satisfies consumer demand while maximizing resource utilizationScale workload processing and increase performance while minimizing infrastructure spendAllocate, provision, monitor, manage, and administer resources and policies across multiple tenants, nodes, and locationsRapidly deploy application and service components on a preferred topology that meets deterministic performance requirements (e.g., replication, utilization, latency, bandwidth, and coherency)To achieve these goals, PaaS offerings can be evaluated and compared across the following criteria categories:Cloud CharacteristicsMeasures characteristics (i.e. on-demand self-service, resource pooling, rapid elasticity, and measured service) used to distinguish Cloud solutions from traditional application solutions. Cloud DimensionsMeasures how widely the solution can be shared (i.e. private, public, community), who is responsible for PaaS environment management (i.e. internal, external), and where the PaaS is located (i.e. on-premise, outsourced) optionsProduction ReadyMeasures PaaS maturity and suitability for enterprise, mission critical level useDevOps Activities and Lifecycle PhasesMeasures how to design, construct, deploy, and manage applications and services using DevOps practices (i.e. continuous integration, continuous delivery, automated release management, and incremental testing)Cloud ArchitectureMeasures architecture principles, concepts, and patterns enabling applications to dynamically execute parallel workloads across a highly distributed environmentPlatform ServicesMeasures how completely the PaaS satisfies development of complex applications by providing comprehensive application middleware components and servicesProgramming ModelMeasures programming languages and frameworks, which facilitates building applications and services exhibiting Cloud characteristics
  12. Building Cloud optimized applications is difficult, but frameworks, languages, and patterns help guide our work.Cloud Application Patterns can be divided into six main categories:Computational fit analysis: How toanalyze problem domain and apply appropriate pattern to distribute workloadDecomposition: how do we divide the work?Concurrency: How do we ensure coordination and synchronization?State: how do we ensure safe process and data state manipulation in a distributed or parallel environment?Structural: How do we decouple business logic and applications from topology?Scale: How do we scale run-time application execution?
  13. Most parallel programs can be reduced to a small set of concurrent patterns: For example, the 13 dwarf from David Patterson“A dwarf is a class of algorithms that tend to have a common pattern of communication and computation”Two dwarf patterns are currently popular, MapReduce, and Graph traversal.MapReduce is being used to process distributed dataGraph traversal is en vogue due to high interest in building social networking applications.If you develop applications for complex business domains, for example stock trade analysis, DNA pattern matching, meteorological predictions, or travel route mapping, a few more of these patterns may be familiar to you. http://view.eecs.berkeley.edu/wiki/Dwarfs Most parallel programs can be reduced to a small set of concurrent patterns: 13 dwarf from David Patterson“A dwarf is a class of algorithms that tend to have a common pattern of communication and computation”“Roles of Dwarfs1. Give us a vocabulary/organization to talk across disciplinary boundaries2. Define minimum set of necessary functionality for new hardware/software systems3. Define building blocks for creating libraries that cut across application domains4. “Anti-benchmarks” not tied to code or language artifacts ⇒ encourage innovation in algorithms, languages, data structures, and/or hardware5. They decouple research, allowing analysis of HW & SW programming support without waiting years for full app development“
  14. The programming model category measures programming languages and frameworks, which facilitates building applications and services exhibiting Cloud characteristics. The Cloud programming model is fundamentally different from the web programming model which fueled Java EE’s popularity. To maximize cloud benefits, development teams must adopt new programming models, architecture patterns, and frameworks. The actor model, service composition, RESTful interactions, policy injection, and tenant aware frameworks extend Java into the Cloud.  A Cloud programming model facilitates building applications and services, which exhibit Cloud characteristics. The programming model should be congruent with Cloud architecture principles and patterns. Example detailed criteria include:Actor model (i.e. message passing instead of function invocationRESTful interactionsDynamic recoverabilityConsensus protocolsAsynchronous rather than synchronous interactionsShared nothing architectureData partitioning and shardingFederated data queriesService orchestrationFunctional programmingMapReduce PaaS offerings score high (10) when the programming model explicitly supports parallel processing, distributed interactions, shared nothing architecture, workload decomposition, and hide infrastructure complexity. PaaS offerings score low (1) when they expose data center infrastructure concepts (i.e. machines, storage parameters, network addresses) and do not elastically scale beyond traditional application server clusters.
  15. This category measures architecture principles, concepts, and patterns enabling applications to dynamically execute parallel workloads across a highly distributed environment. The PaaS architecture model should shield application developers, integrators, and architects from infrastructure, natively support cloud characteristics, and exhibit Cloudy architectural attributes (i.e. tenancy, dynamic discovery). Cloud architectural attributes should span the entire solution stack, and not be constrained to components below the application server. The Cloud Architecture criteria category measures conformance with architecture principles enabling:Measured service or pay per useEvaluate the PaaS solution for fine-grained metering, billing, and reporting of business entities, activities, and interactions. For example, can the PaaS meter the number of workspaces created, users added, or business transactions executed?  Rapid elasticityMature PaaS offerings scale discrete application service instances rather than scaling monolithic application instances. An ability to rapidly provision small footprint services based on user demand will increase application density and infrastructure utilization. PaaS offerings should exhibit rapid service provisioning, flexible resource allocation, and distributed topologies. Implicit support for shared nothing architecture and the Thirteen Dwarf patterns (e.g. MapReduce) enables application decomposition, parallel processing, and resource coordination. On-demand self-serviceMature PaaS offerings do more than push application bits to a Cloud node. Mature PaaS offerings perform flexible, run-time workload assignment and automated startup of standard service offerings. Cloud architecture components include a Cloud controller, Cloud service provisioning, and Cloud load balancer.  Resource PoolingMature PaaS offerings supply shared everything containers to hosted applications. Multi-tenancy is incorporated throughout the solution stack (i.e. network, processing, storage, managed code container, application platform engines, frameworks, and application logic). Resource utilization is tracked by business transaction or business entity access, and resource allocation conforms to well-defined policies. Distributed caches are used to share resources across entitled tenants while enforcing security.  PaaS offerings score high (10) when they deliver enhanced capabilities at high abstraction and fine granularity. PaaS offerings score low (1) when they do not extend capabilities beyond levels offered by traditional application platform infrastructure.