PaaS Design and Architecture: A Deep Dive into Apache Stratos Samisa Abeysinghe VP Delivery, WSO2 Member Apache Software Foundation 10 th June 2014.

Slides:



Advertisements
Similar presentations
Cloud computing is used to describe a variety of computing concepts that involve a large number of computers connected through a real-time communication.
Advertisements

System Center 2012 R2 Overview
Take your CMS to the cloud to lighten the load Brett Pollak Campus Web Office UC San Diego.
An Approach to Secure Cloud Computing Architectures By Y. Serge Joseph FAU security Group February 24th, 2011.
Lift-and- Shift Cloud First Dev. And TestHybrid SaaS for Sale Windows Azure PaaS IaaS+ Windows CEAP Private PaaS Be sure to grab all parts of graphic before.
Unified Logs and Reporting for Hybrid Centralized Management
Cloud Computing (101).
SaaS, PaaS & TaaS By: Raza Usmani
M.A.Doman Model for enabling the delivery of computing as a SERVICE.
SPRING 2011 CLOUD COMPUTING Cloud Computing San José State University Computer Architecture (CS 147) Professor Sin-Min Lee Presentation by Vladimir Serdyukov.
EA and IT Infrastructure - 1© Minder Chen, Stages in IT Infrastructure Evolution Mainframe/Mini Computers Personal Computer Client/Sever Computing.
Plan Introduction What is Cloud Computing?
Source: Forrester 2008 configurability multi- tenant efficiency, scalability.
Memi Lavi Senior Consultant MCS, Microsoft Israel Self Service Private Cloud With Windows Azure Pack.
Effectively Explaining the Cloud to Your Colleagues.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
1 Building SaaS for SMEs on WSO2 PaaS Kathiravelu Pradeeban - Software Engineer Muhammed Shariq - Software Engineer Nov 2011.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
© Copyright 2011 Hewlett-Packard Development Company, L.P. 1 Sundara Nagarajan (“SN”) CLOUD SYSTEMS AUTOMATION.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
+ CS 325: CS Hardware and Software Organization and Architecture Cloud Architectures.
— Build your own enterprise-class PaaS platform. Master Cloudset Cloudset1 Cloudset Resource Pool cloud Dedicated resource can be assigned to a cloudset.
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
MDC417 Follow me on Working as Practice Manager for Insight, he is a subject matter expert in cloud, virtualization and management.
Plan  Introduction  What is Cloud Computing?  Why is it called ‘’Cloud Computing’’?  Characteristics of Cloud Computing  Advantages of Cloud Computing.
For Testbeds TM. Secure, multi-tenant cloud orchestration platform –Turnkey platform for delivering IaaS clouds –Hypervisor agnostic –Massively scalable,
What is the cloud ? IT as a service Cloud allows access to services without user technical knowledge or control of supporting infrastructure Best described.
Techcello Provides SaaS Lifecycle Management Solution to “SaaS-ify” Your Application Efficiently on the Powerful Microsoft Azure Cloud Platform MICROSOFT.
One of essential attributes of Cloud Computing where a software architecture is designed in such a way that a single logical instance serves.
Looking Ahead to Carbon 5 and Stratos 2 and Beyond By Afkham Azeez, Amila Suriarachchi.
Building a scalable multi-tenanted Cloud-native Application Server using Tomcat, Axis2 & Synapse.
ON-PREMISES SERVICE PROVIDERMICROSOFT CONSISTENT PLATFORM Modern platform for the world’s apps 1.
Accumulus Delivers Enterprise Class Subscription Billing and Automation Solutions for Gaming, Retail, and More on the Scalable Microsoft Azure Platform.
VMware vSphere Configuration and Management v6
Corent’s SurPaaS Transforms Your Software into Scalable SaaS on Windows Azure – in Days! COMPANY PROFILE: CORENT TECHNOLOGY INC. Corent’s SurPaaS is a.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Chapter 8 – Cloud Computing
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Web Technologies Lecture 13 Introduction to cloud computing.
Lecture III: Challenges for software engineering with the cloud CS 4593 Cloud-Oriented Big Data and Software Engineering.
Optimize the Business with Microsoft Datacenter Services 2.0
noun ; Software Defined Enterprise/SDE/ The enterprise who leverages software to flank their traditional business offerings, or to create entirely new.
Enabling the Cloud OS Today  New high-density Web Sites with elastic cloud scaling and complete dev-ops experiences  New rich IaaS experience for self-service.
Cloud Architecture. SPI Model Cloud Computing Classification Model – SPI Cloud Computing Classification Model – SPI - SaaS: (Software as a Service) -
CLOUD COMPUTING WHAT IS CLOUD COMPUTING?  Cloud Computing, also known as ‘on-demand computing’, is a kind of Internet-based computing,
Hello Cloud… Mike Benkovich
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
Submitted to :- Neeraj Raheja Submitted by :- Ghelib A. Shuaib (Asst. Professor) Roll No : Class :- M.Tech(CSE) 2 nd Year.
Understanding The Cloud
Avenues International Inc.
Organizations Are Embracing New Opportunities
COMPANY PROFILE: CORENT TECHNOLOGY INC.
Architectural Overview Of Cloud Computing
Join the Lean Wave Asanka Abeysinghe
StratusLab Final Periodic Review
StratusLab Final Periodic Review
Cloud Computing Platform as a Service
Cloud Computing By P.Mahesh
Introduction to Cloud Computing
Cloud Computing.
CNIT131 Internet Basics & Beginning HTML
Managing Clouds with VMM
Logsign All-In-One Security Information and Event Management (SIEM) Solution Built on Azure Improves Security & Business Continuity MICROSOFT AZURE APP.
Cloud Computing Cloud computing refers to “a model of computing that provides access to a shared pool of computing resources (computers, storage, applications,
AWS Cloud Computing Masaki.
Cloud Computing: Concepts
Zendos Tecnologia Utilizes the Powerful, Scalable
Presentation transcript:

PaaS Design and Architecture: A Deep Dive into Apache Stratos Samisa Abeysinghe VP Delivery, WSO2 Member Apache Software Foundation 10 th June 2014

What is Apache Stratos ? ●A Platform-as-a-Service (PaaS) Framework from Apache Community ●Initially developed and maintained by WSO2 ●Donated to Apache Software Foundation ●Evolved within the Apache Community for nearly a year ●Significantly re-architected and improved in Apache ●Graduated to an Apache TLP last month (May 2014)

What does it Do? ●Elastic scalability for any type of service using underlying infrastructure cloud ●Managing logging and metering for services ●Provides foundation services ●User management ●Storage ●Billing

Topics Covered ●Architecture ●Scalable and dynamic load balancing ●Multi-factored auto scaling ●Controlling IaaS resources ●Smart policies ●Multi-tenancy ●Cloud bursting ●Logging, metering and monitoring

Architecture

* Apache Stratos Layered Architecture

Stratos Architecture

Stratos Controller

IaaS Integration with jclouds

Services

Real Time Event Bus

* Apache Stratos Message Flows

Foundation Services

Stratos Architecture

* Why is this architecture so important? ๏ Unified communication across components in the PaaS using message broker ๏ Ability to plugin any third party load balancer using message broker model ๏ A real time event bus to capture and process complex events ๏ Centralized monitoring and metering with unified logging framework ๏ Ability to plugin any third party health checking/monitoring framework ๏ Ability to plugin any IaaS due to the use of jclouds API ๏ Cartridge model enable bringing in even legacy apps into cloud as service nodes Architecture Advantages

Stratos Cartridges Not only Web Oriented: e.g. Can Scale Thrift Services

Scalable and Dynamic Load Balancing

* How Scalable it is? ๏ In theory infinite - horizontal scaling - limited by resource (instance capacity) availability How Dynamic it is? ๏ Load Balancers are spawned dynamically - LB too is a cartridge ๏ In case of multi-cloud, multi-region, LB can scale per cloud/region ๏ Per service cluster LB Scalable and Dynamic Load Balancing

* What is unique about Stratos ๏ Cartridge based LB model ๏ Can bring any third-party LB - HAProxy, nginx, AWS ELB - As easy as plugging into LB extension API Scalable and Dynamic Load Balancing..

*

Multi-Factored Auto Scaling

* What is it? ๏ Scaling algorithm can use multiple factors. such as - Load average of the instance - Memory consumption of the instance - In-flight request count in LB ๏ Capable of predicting future load - Real time analysis of current load status using CEP integration - Predict immediate future load based on CEP resulting streams - Predicting equation s=ut + ½ at 2 - s=predicted load, u=first derivative of current average load, t= time interval, a=second derivative of current load Multi-factored Auto Scaling

* Why should one care? ๏ Maximise resource utilization ๏ Easy to do capacity planning ๏ Dynamic load based resource provisioning ๏ Optimizing across multiple clouds What are the advantages? ๏ Make DevOps life easy ๏ More accurate capacity planning Multi-factored Auto Scaling...

*

Controlling IaaS Resources

* What is a Partition? ๏ Logically group IaaS resource locations ๏ Partitions are important to make application high availability ๏ Cartridge instances are spawned inside these partitions ๏ Partitions are defined by DevOps What is a network partition? ๏ Logical groups multiple partitions, that are in the same network ๏ Stratos will spawn Load Balancers per network partition ๏ Since LB instances and cartridge instances reside in same network, they can communicate using private IP addresses ๏ Used in deployment policies Controlling IaaS Resources

* What are the advantages? ๏ Can control ๏ per cloud, per region, per zone,...etc ๏ Can achieve high availability, disaster recovery ๏ Help for cloud SLA ๏ Control the resource utilization ๏ Help with geo based deployments ๏ help comply with geo rules/regulations Controlling IaaS Resources

Smart Policies

* What are the smart policies? ๏ Auto scaling ๏ Deployment Auto scaling policy ๏ Define thresholds values pertaining scale up/down decision ๏ Auto Scaler refer this policy ๏ Defined by DevOps Deployment policy ๏ Defined how and where to spawn cartridge instances ๏ Defined min and max instances in a selected service cluster ๏ Defined by DevOps based on deployment patterns Smart Policies

* Why should one care? ๏ Can provide cloud SLA What are the advantages? ๏ Make DevOps life easy - Help keep to SLA ๏ Make SaaS app delivery life easy - Do not have to worry about availability in application layer Smart Policies

Multi-Tenancy

* What MT model does it support? ๏ Container MT - virtual Machine, LXC, Docker ๏ In-container MT - within VM/LXC/Docker tenancy What is unique? ๏ Can have high tenant density What are the advantage of this model? ๏ Optimizing resource utilization ๏ Sharing resource such as CPU, memory across tenants ๏ low footprint, based on utilization/usage of the tenants app ๏ No need dedicated resource allocation for tenants Multi-tenancy

Cloud Bursting

* What is it? ๏ Expanding/provisioning application into another cloud to handle peak load. Why Should one care? ๏ Resource peak time can be off-loaded to third party clouds/resources What is unique about it? ๏ Can off-load to any cloud - Private, Public and Hybrid ๏ Easy to managed with the model of LB per busting cloud What are the advantages? ๏ Make DevOps life easy ๏ Low TCO, and higher utilization existing dedicated resources Cloud Bursting

Logging, Metering and Monitoring

* How detail it is? ๏ Instance up/down time ๏ Each and every instance public health status ๏ application health, OS health like load average, memory consumption ๏ Application logs Why should one care? ๏ Centralize view for all logging, metering and monitoring What are the advantages? ๏ Easy to make throttling ๏ DevOps life easy ๏ centralize log viewer ๏ centralize dashboard Logging, Metering and Monitoring

DevOps Tooling

Be Part of It

What are the Advantages ●Elastic scalability for “anything” – not only HTTP based services ●Cloud bursting ●Scale across multiple infrastructure clouds (IaaS) simultaneously ●Multi zone/data center support ●Multiple tenant isolation levels ●In container multi tenancy ●OS container (LXC, Docker) ●Virtual machines ●Physical machines

What Can you Do with it? ●Build your SaaS applications on top of it ●Create Cartridges to extend the services ●Cloud enable your applications ●Scale your legacy applications

Apache Stratos ●Try it! ●Be part of it!!! o Contribute Cartridges – Cartridge Store o Join the community!!! ● o Facebook: o LinkedIn: o Twitter: