33
Last Updated: October. 2014 Java and PaaS: Apache Stratos

Java PaaS Apache Stratos

Embed Size (px)

DESCRIPTION

Apache Stratos is a highly-extensible Platform-as-a-Service (PaaS) framework that helps run Apache Tomcat, PHP, and MySQL applications. The PaaS environment can be extended to support any additional language, framework, or server. For developers, Stratos provides a cloud-based environment for developing, testing, and running scalable applications. IT providers benefit from high utilization rates, automated resource management, and platform-wide insights, including monitoring and billing. In this session, we will discuss key features in Apache Stratos and choosing the right solution for your business needs. Topics to be covered: True community ecosystem Open extensible architecture True flexibility for custom services and infrastructure Multi-factored auto scaling Multi-tenancy Scalable dynamic load balancing Capability of controlling PaaS resources Logging, metering and monitoring Cloud bursting

Citation preview

Page 1: Java PaaS   Apache Stratos

Last Updated: October. 2014

Java and PaaS: Apache Stratos

Page 2: Java PaaS   Apache Stratos

*2

About the PresenterChris Haddad

๏ VP Platform Evangelism

๏ F500/G2000 Advisor

๏ Cloudy DevOps for Dev guy

๏ Former Gartner research team leader

๏ SaaS Pioneer Learn more about meFollow me @cobiacomm on Twitter

Blog: http://blog.cobia.net/cobiacomm

Decks: http://www.slideshare.net/cobiacomm/

Profle: http://www.linkedin.com/in/cobiacomm/

On Google+ too

Page 3: Java PaaS   Apache Stratos

**

Agenda

Presentation๏ Motivators and Use Cases๏ Technical overview

PaaS Demo๏ Create service and link to runtime artifact repository๏ Upload application๏ Demonstrate multi-tenancy๏ Scale instances

Page 4: Java PaaS   Apache Stratos

**

Why Do You Cloud?๏ Obtain the right tool bits๏ Access a pre-built platform๏ Rely on embedded compliance, governance, and security

policies

๏ Creative experimentation ๏ Spin up and down on demand๏ Lower startup cost

๏ Meet business demand๏ Fulfill dynamic and spiky usage requirements ๏ Optimize Spend

Page 5: Java PaaS   Apache Stratos

**

Why Do You PaaS?

๏ Ready to DevOps๏ Hug a virtual server (or container)๏ Configure a run-time environment๏ Provision software development lifecycle repos and tools

๏ Build better software and accelerate software delivery๏ Offer a pre-built platform to development teams๏ No QoS worries

Page 6: Java PaaS   Apache Stratos

*

What is a Cloud Native Platform?

Page 7: Java PaaS   Apache Stratos

**

What is a Java PaaS?

3 Dimensions

๏ Run-time Framework๏ Application, Service, and API Platform๏ Development Environment

Page 8: Java PaaS   Apache Stratos

*

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)

Page 9: Java PaaS   Apache Stratos

**

Apache Stratos Use Cases

๏ Deploy on all major cloud infrastructures

๏ Provision and Scale Middleware Cartridges๏ Run Apache Tomcat, PHP, and MySQL applications๏ Host services, APIs, and integration flows๏ .NET support in the works

๏ Share platform across multiple teams, departments, channels

๏ Setup Once and Take an Automation Break๏ Configure scale and burst policies

Page 10: Java PaaS   Apache Stratos

*

Deploy on Your IaaS

Page 11: Java PaaS   Apache Stratos

**

Provision and Scale Your App

Page 12: Java PaaS   Apache Stratos

*

Differentiator: Real Time Event Bus

Page 13: Java PaaS   Apache Stratos

**

Multi-Tenancy Models [measure your density]๏ Container MT

- virtual Machine, LXC, Docker๏ In-container MT

- within VM/LXC/Docker tenancy

What is the MT advantage?๏ Optimizing resource utilization๏ Reduce dedicated resource allocation

Share platform across multiple teams, departments, channels

Page 14: Java PaaS   Apache Stratos

**

Apache Stratos L1 Deployment Architecture for VM based Cartridges

Page 15: Java PaaS   Apache Stratos

**

Apache Stratos L1 Deployment Architecture for Docker based Cartridges

Page 16: Java PaaS   Apache Stratos

**

Stratos Architecture with Docker Support

Page 17: Java PaaS   Apache Stratos

**

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

Setup Once and Take an Automation Break

Page 18: Java PaaS   Apache Stratos

**

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..

Page 19: Java PaaS   Apache Stratos

**

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

Page 20: Java PaaS   Apache Stratos

**

What are the advantages?๏ Make DevOps life easy๏ Low TCO, and higher utilization existing dedicated

resources

Cloud Bursting...

Page 21: Java PaaS   Apache Stratos

**

Apache Stratos 4.0 Layered Architecture

Page 22: Java PaaS   Apache Stratos

*

Stratos Controller

Page 23: Java PaaS   Apache Stratos

**

๏ Apache Stratos next release is mainly into- Docker based cartridge support- integration with CoreOS- integration with Kubernetes- integration with flannel- integration with discovery service and build in

docker registry support

๏ Support docker top of VM- provide two level of scalability- support for integrated with any existing IaaS- any public, private cloud support which can run

docker host VM

Apache Stratos 4.1 - Docker support.

Page 24: Java PaaS   Apache Stratos

**

Platform as a Service Demo

PaaS Demo๏ Create service and link to runtime artifact repository๏ Upload application๏ Demonstrate multi-tenancy๏ Scale instances

Page 25: Java PaaS   Apache Stratos

*25

DevOps PaaS: AppFactory

Page 26: Java PaaS   Apache Stratos

**

Advanced Extra Credit

Using Apache Stratos 4.1.0-m2 developer preview

๏ setup with 3 node CoreOS cluster, Discovery service, Kubernetes master and 3 minions and flannel

๏ Configure Stratos๏ Register Kubernetes-CoreOS host cluster to Stratos๏ Deploy Docker based PHP Cartridge๏ Deploy PHP application using PHP Cartridge๏ Automated artifact updates๏ Manual Scaling๏ Autoscaling based on load avarage

Page 27: Java PaaS   Apache Stratos

*

Apache Stratos

● Try it!

● Be part of it!!!๏Contribute Cartridges – Cartridge Store๏Join the community!!!

● http://stratos.apache.org/index.html

๏ Facebook: https://www.facebook.com/apache.stratos

๏ LinkedIn: http://www.linkedin.com/groups/Apache-Stratos-5131436

๏ Twitter: https://twitter.com/ApacheStratos

Page 28: Java PaaS   Apache Stratos

**

More Information !

๏ Apache Stratoshttp://stratos.apache.org/

๏ Apache Stratos 4.1.0-m2 developer previewhttps://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Stratos+M2+Developer+Preview

๏ Why Apache Stratos is the preferred choice in the PaaS Space

http://wso2.com/library/articles/2014/05/why-apache-stratos-is-the-preferred-choice-in-the-paas-space/

๏ Sneak peak into Apache Stratos 4.0.0http://lakmalsview.blogspot.com/2013/12/sneak-peek-into-apache-stratos.html

Page 29: Java PaaS   Apache Stratos

**

What WSO2 delivers

Page 30: Java PaaS   Apache Stratos

*30

WSO2 Advantage

API-Centric, Cloud-Native, DevOps Friendly, Enterprise-Ready Open Source

30

Page 31: Java PaaS   Apache Stratos

**

Business Model

Page 32: Java PaaS   Apache Stratos

*

Strategic Success Requires Adopting New IT Disciplines

Page 33: Java PaaS   Apache Stratos

Contact us !