Successfully reported this slideshow.
Your SlideShare is downloading. ×

Summer School Scale Cloud Across the Enterprise

Loading in …3

Check these out next

1 of 61 Ad

More Related Content

Slideshows for you (20)

Viewers also liked (20)


Similar to Summer School Scale Cloud Across the Enterprise (20)

More from WSO2 (20)


Recently uploaded (20)

Summer School Scale Cloud Across the Enterprise

  1. 1. Scaling Cloud Across the Enterprise Chris Haddad Vice President Technology Evangelism, WSO2 Asanka Abeysinghe Director, Solutions Architecture Follow me @cobiacomm Read more about PaaS at Try StratosLive
  2. 2. Your Presenters Chris Haddad WSO2 Vice President Technology Evangelism Former Burton Group and Gartner research leader whose main role is to raise visibility, awareness, and knowledge of the Platform as Service, Service Oriented Architecture, and API Management Twitter @cobiacomm Asanka WSO2 Director, Solutions Architecture Twitter @asankama
  3. 3. Scaling Cloud Across the Enterprise • Where your cloud application strategy may encounter challenges • When to migrate applications to the cloud • How to scale your cloud strategy and cloud tactics across the organization.
  4. 4. Application Development Challenges • Long time and significant effort required to create application project environment(s) • Complex integration required to extend core application capabilities and bridge consumers • Difficult to enforce governance best practices and policies • Time consuming, manual process to obtain project status, dependencies, and change impact
  5. 5. Cloud Governance Challenges • New data types and metadata • Interface with new Cloud management infrastructure • Resurgent focus on bridging silos and creating a hybrid solution requires extensibility • Emerging specifications and practices requires customization and experimentation
  6. 6. What is Platform as a Service?
  7. 7. 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
  8. 8. Defining Cloud 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
  9. 9. Platform as a Service Capabilities Automated Dev Ops Tooling Governance Consumption Service Level based Funding Management
  10. 10. Platform as a Service Capabilities • Self service configuration • Service catalogue • Automated provisioning • Service tiers • Policy configuration • Demand and capacity • Process automation management • Lifecycle management • Infrastructure Authority Dev Ops Automated integration Tooling Governance Consumption Service Level based Funding Management • Metering • Resource monitoring • Reporting • Resource management • Billing • Performance management • Traffic orchestration
  11. 11. 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
  12. 12. Cloud Scale 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
  13. 13. Bridging Clouds Infrastructure as a Composite Mobile Service (IaaS) Application Application SaaS Application Cloud Web application API Endpoint Endpoint Integration Services Business Service Portfolio Application Portfolio Hybrid Presentation Services Platform Business Process and Functional Services Services Rules Services Resources Services Integration Services
  14. 14. Composing a Cloud Platform Cloud Platform Platform as a Service Run-time Framework (i.e. WSO2 Stratos) Cloud Management Service-aware, tenant-aware Elastic Load Balancer PaaS Manager Stratos Controller Cloud Native Container(s) Cloud Asset/Code Deployer Governance Tenant 1 Tenant (n) Identity Asset/Code Synchronizer Management Application Platform Services (web server, database, ESB) Metering and Billing Asset Repositories and Registries(tenant code, service Infrastructure as a Service endpoints, meta-data, (AWS, Eucalyptus, OpenStack, configuration, policies) CloudStack)
  15. 15. Composing a Cloud Platform Cloud Application Platform Architecture Load Balancer Controller Manager Metering Repository and Billing Platform Code Services Deployer
  16. 16. Platform as a Service
  17. 17. Cloud Application Platform Shared Middleware Services
  18. 18. Platform as a Service Architecture What 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
  19. 19. Platform as a Service Architecture What 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)
  20. 20. Tenant Scaling Method Impacts Value Proposition • Single Application Multiple Application Tenants Tenant per per • Dedicated Application Shared Application Platform Server Container Service Container
  21. 21. Partitions modify value proposition • Single, flat namespace Multiple partitions and segmented name space
  22. 22. Partitioning and Tenancy Implications Three (3) Container Instances Tenant Application Solution Traffic Web Service Partition ESB Applicati on Container ESB-1 ESB-2 AS-1 Tenant Context Tenant-1 Tenant-3 Tenant-2 Tenant-1 Tenant-2
  23. 23. Scaling your Cloud
  24. 24. How to size an infrastructure • Expected Maximum TPS – Any max latency requirements • Work done per transaction • Size of messages • Availability • Deployment needs (e.g. specific setup might need based on the infrastructure policy etc.)
  25. 25. Cloud Capacity Planning • Service types • System load – Per service type – Administration • Scaling – Static – Dynamic • PaaS system and deployment architecture • Limitation of IaaS
  26. 26. WSO2 Stratos Component Architecture Controller Service Cluster 1:M • Stratos Controller - Management, Governance, Monitoring component - System security • Stratos Service Cluster - Worker nodes provide the runtime for application logic / services - Administrator nodes to create, manage, govern the application logic / services
  27. 27. Scaling Stratos Controller
  28. 28. Formula for Static Scaling Stratos Controller i = 2 + (2 +x) y LB + Admin Node i – Number of WSO2 Carbon instances x – Number of worker nodes per service cluster y – Number of service clusters In most cases each service node will not have equal number of worker nodes. Stratos Controller instances. i = Z + (2 + x1) + (2 + x2) + …….. + (2 + xn) 2
  29. 29. Optimizing Cloud Performance: Cloud Scaling
  30. 30. Cloud Aware App
  31. 31. 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
  32. 32. PaaS Evaluation Framework 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
  33. 33. Cloud Application Demo • Register a new tenant – Show the self service aspect, multi tenancy aspect – Create and provision a new tenant on shared infrastructure • Demonstrate PaaS facilities available for a tenant (metering, billing, logs) • Upload an existing web application to the tenant – Demonstrate the zero cost/easy migration of applications • Creating a new hello world web application – Demonstrate the procedure to create an application – Deploy application to Cloud using WSO2 Dveloper Studio • Secure the web application(Tie the authentication to underlying user model). • Create a database – Relational storage model options – NoSQL storage model options • Access a database via web application • Expose a database table as data services. • Demonstrate WSO2 Stratos and WSO2 StratosLive application platform services • Explain the programming model + services – Access "CarbonContext” within applications
  34. 34. Optimizing Cloud Performance: Asset Lifecycle Code Tenant Traffic Synchronizer Balancer Code Code Development Deployer and Update Instance Activity Scaling Metering
  35. 35. Optimizing Cloud Performance Stratos Monitoring, Metering, and Billing • Number of users and applications • Tenant Storage • Tenant transaction activity
  36. 36. Cloud-aware Design
  37. 37. Application Architecture Crossroads Innovation Familiarity
  38. 38. Migrated or Native 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
  39. 39. Cloud Application Patterns 18 and Anti-Patterns 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
  40. 40. Cloud Aware Application Use Cases 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
  41. 41. 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
  42. 42. Cloud-aware Design 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
  43. 43. Scaling Cloud Adoption
  44. 44. Cloud Business Value Blockers • Silo owners • Adoption curve • Trust barrier • Unknown baseline • Funding model Source:
  45. 45. Architecture Shapes Value • Resource friendly := small footprint, minimal consumption, parallelizable workloads • Poolablility := Non-exclusive use, short usage duration • Automation := decrease activity time, latency between steps • Governance := encourage trust, communication, coordination • Distribution friendly:= Stateless, autonomous
  46. 46. DevOp Principles • Iterative • Incremental • Continuous • Automated • Self-service • Collaborative • Holistic
  47. 47. DevOps Processes • Self-service configuration • Automated provisioning • Continuous build • Continuous integration • Continuous delivery • Automated release management • Incremental testing
  48. 48. DevOps Tooling • Self service project and policy configuration – Via project configuration portals – Security, service levels, frameworks, usage, topology • Automated platform provisioning – Via service tier templates – Framework and policy enforcement points (PEPs) • Process automation – Continuous build, test, and deployment – Code promotion and synchronization across environments and servers • Dependency analysis and impact analysis
  49. 49. Defining Governance • Ensuring people do the right thing • Make doing the right thing the easy path – via automation • Spans precepts, policies, people, and process  Governance applies to many domains – Design and development – Operational processes and run-time environment – Organizational resources • Effective governance requires a big picture view of portfolio and dependencies
  50. 50. Cloud Governance extends general purpose Registry & Repository • Store Cloud Governance Artifacts: – Contracts, Models, Workflows, Service Definitions, Documentation – SLAs, Monetization Rates, Usage Limits – Cloud Service Dependencies and Machine Instance Configurations – Scale and Resource Pool Policies
  51. 51. Automated Governance Requires • Service catalogue and service tiers • Demand and capacity management • Lifecycle management and workflow • Continuous provisioning and deployment • Cloud management integration
  52. 52. WSO2 AppFactory A Cloud-based, agile, DevOps approach to application design, development, and delivery – On-demand self service and Cloud provisioning – Continuous build, continuous integration, continuous test, and continuous delivery – Governed, iterative lifecycle management across hybrid clouds and composite applications
  53. 53. WSO2 AppFactory Partner and Mobile applications API Management Lightweight High Performance Integration Existing IT infrastructure Scalable Private Cloud infrastructure CIO/Management Workflow managed Dashboard build and deploy Governance Stratos Multi-tenant elastic and Identity integration and ESB runtime WSO2 AppFactory
  54. 54. WSO2 AppFactory • For developers • Simplifies project setup and provisioning • Fits into their existing IDE (i.e. Eclipse, IDEA, Rational) • Works with leading development tooling (i.e. SVN, Git, Junit, Selenium, Maven, Jenkins, Bamboo, and JIRA • For development managers • Manage project lifecycle with well defined checkpoints and phases • Ensures projects follow governance model and best practices • Provides consistent frameworks and architecture • For the CIO and Executive IT management • Development dashboards deliver at a glance view of projects’ status, lifecycle, activity, and health
  55. 55. WSO2 App Factory 7/25/2012 55
  56. 56. Overcoming Cloud Value Blockers: WSO2 AppFactory
  57. 57. Configuration Governance • Governs any kind of server/system configuration • Manages Versions and Revisions with checkpointing & rollback • Manages the full promotion lifecycle spanning across development, testing, staging and production environments • Deeply integrates with all WSO2 Carbon middleware products • Integration to any 3rd party product via command-line clients
  58. 58. Key Metrics • Foundation • Time to create new application environment • Time to redeploy application • Optimize • Minimum and maximum scale • Scale frequency (i.e. time to scale up/down) • Transformation • Time and effort required integrating business process, event processor – creating a complex app. • Time and effort required to apply policy across tenant(s) • Cost to operate application per user or transaction
  59. 59. Quick Start Use Cases • DevOps Tooling and On-demand self-service • Automated Governance • Service level management and elastic scale • Consumption based pricing and billing
  60. 60. Resources • Try StratosLive right now: – • Read about Stratos: – – Source Download available • White Paper – Selecting Platform as a Service • 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: –
  61. 61. Follow us: Contact us:!/wso2