The document discusses scaling cloud strategies across the enterprise. It addresses challenges in application development and cloud governance. It then covers Platform as a Service capabilities and architectures, including tenant scaling methods. The document also discusses optimizing cloud performance through asset lifecycles and DevOps principles and processes. It emphasizes the importance of cloud-aware application design.
Exploring the Future Potential of AI-Enabled Smartphone Processors
Summer School Scale Cloud Across the Enterprise
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 http://blog.cobia.net/cobiacomm
Try StratosLive https://stratoslive.wso2.com/
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
http://blog.cobia.net/cobiacomm
Asanka
WSO2 Director, Solutions Architecture
Twitter @asankama
http://asanka.abeysinghe.org
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. 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. 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
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. 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. 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)
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. 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. Tenant Scaling Method Impacts Value Proposition
• Single Application Multiple Application Tenants
Tenant per per
• Dedicated Application Shared Application Platform
Server Container Service Container
21. Partitions modify value proposition
• Single, flat namespace Multiple partitions and
segmented name space
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
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. Cloud Capacity Planning
• Service types
• System load
– Per service type
– Administration
• Scaling
– Static
– Dynamic
• PaaS system and deployment architecture
• Limitation of IaaS
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
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
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. 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. 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
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. 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. 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. 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. 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
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. 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. 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. Automated Governance
Requires
• Service catalogue and service tiers
• Demand and capacity management
• Lifecycle management and workflow
• Continuous provisioning and deployment
• Cloud management integration
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. 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. 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
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. 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. 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. 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
• 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