achieve business agility with cloud apis, cloud-aware apps, and cloud devops paas
DESCRIPTION
Chris Haddad's a workshop at GigaOm Structure Con 2013 held from 19-20 June.TRANSCRIPT
![Page 1: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/1.jpg)
Achieve business agility with Cloud APIs, Cloud-aware Apps, and
Cloud DevOps PaaSChris Haddad
@cobiacomm on Twitterhttp://blog.cobia.net/cobiacomm
Read more about Platform as a Service at http://blog.cobia.net/cobiacomm/tag/paas/
![Page 2: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/2.jpg)
Cloud IT Drivers
![Page 3: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/3.jpg)
Cloud Delivers The Speed of Now• Time to create project
workspace• Time to build, integrate, test• Time to approve, promote• Time to deploy, release• Dwell time – time waiting for
the next operation to commence or complete
![Page 4: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/4.jpg)
Cloud Yields
![Page 5: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/5.jpg)
Cloud-Oriented Delivery Domains
![Page 6: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/6.jpg)
Cloud Architecture Crossroads
![Page 7: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/7.jpg)
ResourceTier
Cloud Scale and Distributed Providers
Functional Role
Client Tier
API aggregation and orchestration
API aggregation and orchestration Resource
Services
Functional Role
Presentation and Mashups
Functional RoleFunctional
code
Presentation RolePresentation and
MashupsPresentation and Mashups
ResourceServices
Private Applications
Public Cloud Services
Business ProcesBusiness
ProcessBusiness ProcessBusiness Process and
Business Rules
![Page 8: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/8.jpg)
Cloud Architecture Best PracticesTransitioning 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
![Page 9: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/9.jpg)
Cloud Application Patterns and Anti-Patterns
![Page 10: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/10.jpg)
Cloud Aware Application Goals and Underlying Cloud Patterns
• Maximize utilization– Requires deterministic performance – Load balance based on tenant, service, and workload, context
• Increase reliability, availability, scalability– Shared nothing architecture– Stateless server-side elements– Consensus protocols
• Ecosystem platform– Monetize assets based on business value– Tenant/Consumer personalization and isolation– Sharing domain specific business capabilities
![Page 11: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/11.jpg)
Architectural Difference Between Web Application and Cloud-aware Application
Web Application• Synchronous request-reply
interaction• Centralized state (i.e. single
database) and session management
• Clustered server instances• Silo architecture
Cloud-aware Application• Asynchronous interaction• Queues and workers• Scale out across datacenters
and providers• Distributed state and session
management• Autonomous service instances• Tenant context personalization• Shared JVM / Shared Schema• Shared nothing architecture
![Page 12: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/12.jpg)
Shift towards Cloud-aware ApplicationProgramming 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• API/Service orchestration• Functional programming•MapReduce – and the Thirteen Dwarf patterns
![Page 13: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/13.jpg)
Source: http://edcforums.com/threads/the-atwood-collectors-thread-part-2.101226/page-5
Redesigned Tools
![Page 14: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/14.jpg)
PaaS ArchitectureWhat is a tenant?• An isolated or personalized run-time environment context that cannot be
shared across PaaS consumers
• Tenant specific personalization can occur across multiple personalization dimensions• Information access privileges• Information aggregation and composition• Business processes and rules• Service levels and Quality of Service• Security policies, subscriber entitlements, and social network access privileges• Monetization rates
• Personalization may require loading code, configuration files, or data
• Tenant isolation dictated by expected performance, security requirements, and legacy technology.• PaaS security managers, code deployers, and tenant-aware load balancing
influences required container-level isolation
![Page 15: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/15.jpg)
PaaS ArchitectureWhat is a container?• A standalone, Internet addressable node offering application
platform services• Web application hosting, API management, integration endpoint
hosting, ESB mediation, registry services, identity management, relational database
• Containers host tenant resources and context• Code, configuration files, data, process definitions, rules, policies,
entitlements
• Containers may serve • a single tenant at a time (dedicated), or • multiple-tenants at a time (shared)
![Page 16: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/16.jpg)
PaaS Architecture
What is a partition?
• Partitions define distinct container resource pools
• Partition containers to tune container sharing, service resource allocation, QoS, and utilization
• Containers may be assigned into service-specific or tenant specific partitions
![Page 17: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/17.jpg)
Cloud Partitioning Strategies
![Page 18: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/18.jpg)
Consider Enhanced Virtualization Models
WSO2 Stratos 2.0 supports all models and model combinations
Stratos Carbon (Shared Process)
Agilit
y
Resource Optimization
Pure Hardware
Virtual Machine
Stratos Cartridge (LXC)
IaaS Machine Instance
![Page 19: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/19.jpg)
Cloud Native PaaS Difference
![Page 20: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/20.jpg)
Partitioning and Container Tenancy Impact
Tenant-First = Three Tenants and 5 Containers
![Page 21: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/21.jpg)
Partitioning and Container Tenancy Impact
Service-First = Three Tenants and 3 Containers40% footprint reduction
![Page 22: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/22.jpg)
Tenant-aware and Service-aware Load Balancing
![Page 23: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/23.jpg)
Total Cost of Ownership Levers• Rapid elasticity
• Provides ability to turn-on additional containers only when demand requires more capacity
• Provides ability to turn-off under utilized containers and lower expense
• Measured Service and Pay Per Use• No foundational infrastructure investment required• Possibly a minimal up-front registration investment• Only charged for usage (e.g. platform up-time, deployed application count,
transaction count)
• Resource Pooling• Minimize usage cost by sharing and re-using resources
• On-demand self-service• Create and provision platform without third party participation
![Page 24: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/24.jpg)
Total Cost of Ownership Advantage
• Rapid elasticity• Containers shared across multiple tenants• Capacity managed per service, not per tenant• Single, flat container partition space enables maximum sharing• Containers may be partitioned by service
• Resource Pooling• Application footprint lower than single tenant, dedicated container
deployment• Lazy loading further minimizes footprint
![Page 25: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/25.jpg)
Total Cost of Ownership Advantage
• Measured Service and Pay Per Use• Cloud infrastructure investment recaptured after 4 tenants
subscribe (at full-time usage per tenant)• Can meter and bill based on business transaction usage,
application count
• On-demand self-service• Application teams do not have to specify infrastructure topology
(i.e. server count)• Subscribe to application platform services instead of application
server instances
![Page 26: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/26.jpg)
Attributes influencing Total Cost of Ownership
• Container sharing and tenant isolation level• Tenant Density per JVM or Application Server• Container license cost
•Read entire methodology at •http://blog.cobia.net/cobiacomm/2012/05/13/paas-tco-and-paas-roi-multi-tenant-shared-container-paas
/
![Page 27: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/27.jpg)
Open Source PaaSCloud Native Architecture
http://blog.cobia.net/cobiacomm/2013/04/18/cloud-native-paas-architecture/
![Page 28: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/28.jpg)
28
WSO2 Architecture Advantage
Availability Scalability Management
Load monitor Tenant partitioningPrivate jet mode
Cloud controller
Balancing and failover across hybrid clouds
Ghost deployment BigData Logging infrastructure
State replication and session replication
BAM 2.0 architecture Artifact Distribution Controller and
Deployment synchronizationMultiple load balancers with
keepalived or DNS RRAuto-scaling P2 Repository
Native multi-tenancy Elastic Load Balancer Consistent management and infrastructure services across
entire platformDynamic Clustering Multi-tenant shared
container Management console
![Page 29: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/29.jpg)
Close the Loop between Cloud-apps, Cloud PaaS, and Cloud Infrastructure
• Specify Scale Parameters– Tenancy and sessions– Partitioning and sharing
• Monitor Quality of Service– Service tier– Performance and utilization– Expected load per API call or web request
• Trigger Provisioning and Deployment Events– Automated Provisioning– Automated Deployment
![Page 30: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/30.jpg)
Automated Provisioning Service
![Page 31: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/31.jpg)
Automated App Deployment Service
![Page 32: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/32.jpg)
Fast Time to Value with On-demand Contextual Personalization
Increase agility• Rapidly adapt and fulfill new market demand• Reduce time to introduce new services, applications, and
products into long tail market(s)
On-demand Contextual Personalization
• Information access and social network access privileges• Information aggregation and composition• Business processes and rules• Service levels, Quality of Service, and monetization rates• Security policies
![Page 33: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/33.jpg)
33
Cloud Business Value For Development TeamsLower development barriers • Provide on-demand Application Development project
infrastructure and run-time environments• Catalogue of re-usable open APIs, cloud services, and
domain frameworks
Lower adoption barriers • On-demand web application and Cloud API subscriptions via a
self-service provisioning portal• Establish searchable registry of app, service, api, and data
descriptors• Reliable, available, and scalable solutions
![Page 34: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/34.jpg)
Best Practice Adoption and Process Repeatability
• Cost-effective, development, collaboration, and deployment infrastructure enabling a long tail of application development• Architecture templates and application platform services
• A shared environment for cross-organization application development and delivery• Governed, iterative lifecycle management across hybrid
clouds and composite applications• IT Business performance metrics and analytics
• Infrastructure enabling user experience composition across multiple disparate application providers
![Page 35: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/35.jpg)
Enterprise DevOps PaaSBridging Development with Deployment
![Page 36: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/36.jpg)
DevOps Streamlines IterationsA developer’s perspective
![Page 37: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/37.jpg)
Service Performance Metrics
• Foundational– Time to Market
• Optimization– Portfolio Efficiency
• Transformational– Productivity
![Page 38: Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps PaaS](https://reader034.vdocuments.us/reader034/viewer/2022051608/5456d17cb1af9f40378b4ce7/html5/thumbnails/38.jpg)
38
7 +/- 2 Cloud Roadmap Objectives
1. Engage stakeholders in a collaborative development workspace
2. Promote best practice workflow, architecture, and governance practices
3. Deploy applications into a Cloud run-time environment
4. On-demand application subscriptions via a self-service provisioning portal
5. Share applications across multiple tenants (e.g. departments, workgroups, employees, partners)
6. Scale run-time to meet usage7. Deploy Open APIs8. Encourage API adoption via API Store9. Track business activity and analyze Cloud
service usage, performance, and cost