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
“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
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
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
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
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
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
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
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
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
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
DevOps platform that enables multiple project teams to collaboratively create, run and manage enterprise applications. http://wso2.com/cloud/app-factory 30
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