This document provides an overview of developing a strategy for moving an enterprise to the cloud. It discusses identifying the needs of cloud computing, understanding existing applications, evaluating different service and deployment models, and key features of cloud providers. The presentation then demonstrates implementing a proof of concept using WSO2 Cloud, an open source platform as a service. It highlights WSO2 Cloud's extensible architecture, support for auto-scaling, multi-tenancy, and deployment to multiple infrastructure as a service providers. The goal is to help enterprises develop a clear strategy to leverage cloud computing.
1. A Clear Strategy for
Moving Your Enterprise
to the Cloud
Imesh Gunaratne
Technical Lead, WSO2
Committer & PPMC Member, Apache Stratos
with WSO2 Cloud
2. About the Presenter
Imesh Gunaratne
Technical Lead, WSO2
Committer & PPMC Member, Apache Stratos
Email: imesh@wso2.com
Blog: http://imesh.gunaratne.org/blog
1
5. Agenda
● Identifying the needs of cloud computing
● Understanding existing applications
● Identifying the right service model
● Identifying the right deployment model
● Evaluating key features in cloud providers
● Implementing a POC with WSO2 Cloud
● Deploying applications in cloud
4
7. Defining Cloud
It is a broad topic, according to Gartner:
“Cloud is a style of computing where scalable and
elastic IT-related capabilities are provided as a service
to external customers using Internet technologies.”
6
8. Cloud Computing Attributes
Infrastructure and software could be provided as
services
Source: Gartner
Services can scale capacity up or down as the
consumer demands
Services share a pool of resources to build
economies of scale
Services are tracked with usage metrics to enable
multiple payment models
Services are delivered using Internet identifiers,
formats and protocols (IP, URLs, HTTP, REST,
etc),
Service Based
Scalable & Elastic
Shared
Metered by Use
Uses Internet Technology
7
16. Concerns on Clustering
o Managing session affinity:
o In memory distributed
o Persisted to a data store
o None distributed, load balancer centric
o Managing application state:
o Distributed data structures
o Distributed caching
o Data replication for data storage
o Any other aspects that may get affected by distributed
computing
15
18. Cloud Computing Service Models
IaaS PaaS SaaS
Infrastructure as a Service:
- Provides computing,
storage and network
resources as a service.
Platform as a Service:
- Provides computing
platforms as s service on top
of an IaaS.
- The platforms Include
environments for deploying
applications.
Software as a Service:
- Provides software as a
service on top of a PaaS.
17
20. Cloud Computing Deployment Models
Private Hybrid Public
- Operated solely for a single
organization.
- Could host internally or
externally.
- Externally hosted: Virtual
Private
- Policy based and
coordinated service
provisioning across private
and public clouds.
- Services are rendered over
a public network.
- Managed by a third party
cloud provider.
19
22. Key Features in PaaS Cloud Providers
o Service & Application Lifecycle Management API
o Application Management Model (CAMP, CloudML,
TOSCA, etc)
o Standards based User Authentication/Authorization
o Multi-tenancy
o Policy based Autoscaling
o Scalable Dynamic Load Balancing
o Cloud Partitioning
o Cloud Bursting
o IaaS Independence (jclouds, etc)
o Linux Container (LXC) Management
21
23. Key Features in PaaS Cloud Providers
o Configuration Management Tool Support
o Ex: Chef, Puppet
o Monitoring Tools
o Billing
o Centralized Real Time Logging
22
27. WSO2 Private PaaS - Key Features
o Extensible cartridge architecture
o Ability to plugin third party run-times such as PHP, MySQL, and
Tomcat
o Support for Puppet based cartridge creation for WSO2 Carbon
products
o Add multi-tenant or single tenant cartridges
o Enhanced cloud deployment
o Support for multiple Infrastructure-as-a-Service (IaaS)
o Fully tested on Amazon Web Services EC2
o Experimental support for OpenStack and vCloud
o Capability to support any IaaS via jClouds API
o Cloud-bursting to scale onto multiple IaaS’s at the same time
o High availability achieved through cloud bursting
o Availability for private, public and hybrid cloud solutions
26
28. WSO2 Private PaaS - Key Features
o Multi-tenancy and self-provisioning
o Manage a single set of servers with even better utilization
targets than that is achieved by virtualization
o Self-provision to manage and deploy a full middleware stack as
required
o Simple click to add users and services, develop new
applications and manage an own setup
o Shared cloud infrastructure such as server hardware, JVM,
database and services
o Tenant-aware elastic load balancer
o Highly tunable performance across different tenant requirements
o “Economy class” for low priority workloads
o “Private jet” mode for workloads that require dedicated resources
o Ability to accept both static and dynamic cluster domain registrations
27
29. WSO2 Private PaaS - Key Features
o Policy-based multifactor auto-scaling
o Ability to automatically scale up or down depending on the load
o Ability to transparently add services when new resources are
needed
o Dynamic discovery enabling services to be automatically
detected when resource allocations change
o Easy SaaS App Development
o Built-in support for multi-tenant and single-tenant models
o Support for user identity management, metering and billing
o Provision of data storage with easy access, caching and queuing
o Provision of a SaaS app as a multi-tenant application and allows each
tenant to deploy their own customized logic alongside it
o Artifact Distribution Coordinator (ADC) with support for external Git
and GitHub repositories
o Ability to publish application logs into a centralized location for easy
monitoring
28
30. WSO2 Private PaaS - Key Features
o Multiple options for interaction with the PaaS
o Provides an interactive command line interface
o Provides an additional user friendly graphical user interface for user
friendliness
http://wso2.com/cloud/private-paas
29
31. WSO2 App Factory is a
multi-tenant, elastic and
self-service Enterprise
DevOps platform that
enables multiple project
teams to collaboratively
create, run and manage
enterprise applications.
http://wso2.com/cloud/app-factory
30
32. WSO2 App Cloud is a public enterprise-ready, self-
service aPaaS that enables development,
deployment and full lifecycle management of a
range of different multi-tenant, elastically
scalable applications.
Application Platform as a Service (aPaaS) - A cloud service that offers development
and deployment environments for application services - Gartner
http://wso2.com/cloud/app-cloud
31
33. WSO2 Integration Cloud is a public multi-tenant
integration cloud, enabling development,
execution and governance of cloud-to-cloud and
cloud-to-enterprise integrations.
http://wso2.com/cloud/integration-cloud
32
34. WSO2 API Cloud is a public multi-tenant cloud
environment for managing lifecycle of business
APIs.
http://wso2.com/cloud/api-cloud
33
36. References
● Five Ways Cloud Can Help You Transform Your
Business, http://www.gartner.
com/it/content/2604500/2604519/december_5_tran
sform_your_business_mcantara.pdf?
userId=55890730
● Moving Legacy Apps to the Cloud, http://www.
informationweek.com/software/moving-legacy-apps-
to-the-cloud/d/d-id/1108964
● WSO2 Cloud, http://wso2.com/cloud/
35