SlideShare a Scribd company logo
1 of 31
Download to read offline
CoolingTower
    Michael Neale
    Senior Engineer, Red Hat
    (JBoss)




1           CoolingTower | Michael Neale
CoolingTower: Turnkey PaaS

What is CoolingTower?
A platform-as-a-service for Java Server side apps (Servlet/EE
  container) – completely self service
Application centric (it is a PaaS) not server/infrastructure centric
Is a project of utilities and aggressive automation of existing (or
   soon to be existing) components
Runs as a server component with RESTful API
Policy driven
Driven by RESTful apis, multiple front ends
Using open API's such as deltacloud for multiple IaaS platforms


2               CoolingTower | Michael Neale
CoolingTower:




3        CoolingTower | Michael Neale
“off the shelf”, eg
   PaaS refresher...                                   Expenses, Timesheets,
                                                       CRM

       Apps:
 hr.yourcloud.com,
app2.yourcloud.com
                                               SaaS




                                               PaaS




                                                IaaS     server1west, db02 etc.




  4                  CoolingTower | Michael Neale
Motivation

    Many clouds are infrastructure and operations centric
    A space exists for application and developer centric
      clouds
    Yet adhering to organisational policies, workflows for
      application lifecycles etc.
    Automation !
    Build on standards !
    emerging for clouds, and for apps




5               CoolingTower | Michael Neale
Public PaaS already in use

    Heroku.com
    Ruby based




6                CoolingTower | Michael Neale
Google App engine

    Java or Python editions
    Free or Pay (based on quotas)‫‏‬
    Can run other languages via JVM




7               CoolingTower | Michael Neale
What do they have in common?

    Stunning developer experience (ease, low/no barrier)‫‏‬
    Instant results (via a nice URL)‫‏‬
    Some ability to scale elastically *
    NO management of server resources *
    Infrastructure abstracted (automated) away
    You don't manage/see servers
    Very good uptake for small/medium apps
    Very ATTRACTIVE to developers
    (who don't want to administer !)‫‏‬

8                CoolingTower | Michael Neale
Limitations (not all bad)‫‏‬

    Often a subset of a “full stack”
    Must stick within API
    Locked to specific platform versions
    Build apps to scale
    Run on public infrastructure (shared)‫‏‬
    Follow the conventions, live with with specific versions
    Don't have usual “enterprise” needs for promotion, QA
     environments etc



9                CoolingTower | Michael Neale
CoolingTower - motivations

 Use standards as much as possible
 JavaEE, Servlet API (JVM allows many languages now)‫‏‬
 Deltacloud for IaaS layer
 A PaaS cloud is a PaaS cloud: avoid lock in to IaaS layer
 Allow PaaS cloud to be built on private infrastructure, or
    public
 Address “enterprise concerns”
 Use configurable deployment and management policies
 Allow promotion through cloud “environments” (dev/test →
    QA → production etc).

10            CoolingTower | Michael Neale
Further motivations

 In enterprise, apps need to scale in many directions:
 Up: lots of users
 Deep: complex app with lots of calculations (but maybe
  not many users)‫‏‬
 Many: many small departmental apps – come and go.
 Reality: many apps don't need to scale like GAE style
  apps do (but high availability is very nice if possible !)‫‏‬
 With JEE/JBossAS we get relatively easy app tier
  clustering


11            CoolingTower | Michael Neale
CoolingTower - components

 Deployment API
 RESTful api, Policy driven deployment
 Elastic scaler
 Policy driven horizontal scaling of clustered apps
 Server minimiser
 “densely” pack applications for development clusters
 Naming Service
 RESTful api for self service of application names
 Authoritative only DNS
 Clients: Web, Eclipse, RESTful
12           CoolingTower | Michael Neale
CoolingTower - deployment

 Applications packaged up in standard war/ear (optional
   extra meta data)‫‏‬
 Deploy via RESTful API




13           CoolingTower | Michael Neale
CoolingTower - deployment

 On request:
 service applies policy rules, finds a running instance, or starts
   instances as needed (using CirrAS to start a cluster up of
   app servers)
 deploys application, runs promotion “tasks”
 Track status of applications via RESTful call
 Update an application easily, decommission
 Policy could enforce what certain developers can deploy
   to – notify people of new version
 Workflow: new version, approval, promotion to QA, PROD
  etc.
14             CoolingTower | Michael Neale
Deployment - policies

 Currently uses deltacloud “model”
 Policies are declarative rules !
 Selection of appropriate image, or running instance




15            CoolingTower | Michael Neale
Deployment - policies




16        CoolingTower | Michael Neale
Declarative rules

 Like scripts, but far more powerful
 Combine data of cloud (images, instances) with
  application needs (meta data, other running
  applications) to reason over in rules
 Efficient use of cloud IaaS layer
 Rules, so customisable for a given cloud installation
 Cover:
 Allocation for deployment, image selection
 instance life cycle
 application lifecycle (promotion)‫‏‬
17            CoolingTower | Michael Neale
Roadmap: deployment front ends

 Eclipse
 Developers deploy from eclipse to development cloud
  (whence workflow for promotion can be initialised)‫‏‬
 Command line
 Scripts, ant (all good RESTful interfaces should be able
   to be driven from the command line)‫‏‬
 Web Client
 Web based PaaS console for creating/updating apps




18            CoolingTower | Michael Neale
Roadmap: data services

 Most practical applications require persistent data
 NoSQL (Infinispan REST api – as well as cache)‫‏‬
 But not for everyone
 RDBMS – will need to offer a fixed set (Postgres likely,
   possibly MySQL in limited configuration)‫‏‬
 Most JVM apps use ORM which provides RDBMS
  flexibility
 TBD...




19           CoolingTower | Michael Neale
CoolingTower – Elastic Scaler

 Once again, use declarative policy rules
 Commonly done with scripts: monitor load, grow and
  shrink as needed (application tier mainly)‫‏‬
 Rules will apply that, as well as conform to policy
 limiting resource load
 prioritising for important apps
 attempt to anticipate load and scale up ahead of time
   (user driven, or based on historical data patterns).



20            CoolingTower | Michael Neale
A note on app multi-tenancy

 Instances can run multiple application servers
 Application servers (1 process) can run multiple
   applications
 Need to have policies to decide what level of isolation is
  needed for each app.
 For even “lite” applications, can have 2 instances
   supporting it for HA reasons
 So multi-tenanting often makes sense
 For development purposes, may want to multi tenant for
   efficiency.

21           CoolingTower | Michael Neale
CoolingTower – Server Minimiser

 Keep costs low (both in $ and resources)‫‏‬
 Many IaaS “bill” per-instance
 Keep instance numbers as low as possible for
   applications
 Mainly important for development clusters
 Each process/app has a footprint of memory, cpu, disk
   needs, an instance has finite amount of each
 Resembles the “bin packing problem”



22           CoolingTower | Michael Neale
Minimiser

 We have a “constraint solver” (called Drools Planner)‫‏‬
 Declare rules to describe the hard and soft constraints
 Try multiple configurations of applications per instance to
   result in a solution with lower number of instances
   needed
 Could be run periodically (in the case of many apps
  coming and going)‫‏‬




23           CoolingTower | Michael Neale
Minimiser

                   App
       App                                    App
                                App



     App

                                Pac
                                   k


                           App
                           App              App

                           Instance

                                                    App
                       App
                       App          App



24           CoolingTower | Michael Neale
Minimiser: roadmap

 Very experimental
 Most likely of use for public IaaS where cost is clear. For
  private clouds, not as urgent
 May be important longer term
 Minimise hardware foot print
 Will need to take into account data we don't yet easily
  have (eg energy usage) or understand




25           CoolingTower | Michael Neale
CoolingTower: Naming Service

 The “forgotten” cloud service
 http://www.rackspacecloud.com/blog/2009/06/04/dns-the-overlooked-cloud-service/

 In a PaaS cloud, typically have many apps:
 hr.yourcloud.com, incentive.yourcloud.com are nice
 Web “entry-point” may move around
 Apps can come and go
 Eg EC2 “ugly” names, or rackspace IPs
 You may want to refer to “cloud services” via URLs, eg
   caching, vertical services etc


26                   CoolingTower | Michael Neale
Naming Service

 Typical process
 When setting up a cloud, buy domain name
 Register CoolingTower/PaaS clouds DNS servers with
  registrar you use (own DNS gives control)‫‏‬
 CoolingTower does the rest
 DNS can be error prone, so automate !




27          CoolingTower | Michael Neale
Naming Service – a RESTful api for DNS

 Register a domain
 POST /cooling-tower/naming name=yourcloud.com
 Set/update address of subdomain (or default)‫‏‬
 POST ../yourdomain.com
  subdomain=applicationName&address=1.2.3.4
 PUT ../yourdomain.com/www address=newAddress...
 (IP or domain name, either works)‫‏‬
 Many more REST verbs apply for modifying, removing
  etc.
 CoolingTower will call this when creating an instance etc.
28           CoolingTower | Michael Neale
Naming – RESTful DNS

 CoolingTower stores DNS records in standard zone files
 Can rsync to BIND servers (so the “master” is hidden), or
  use built in authoritative server (which is updated
  instantly with changes)‫‏‬
 Use very short TTLs to allow services to move around in
  the cloud
 For both internal and external services




29           CoolingTower | Michael Neale
Work to be done..

 Defining “cloud descriptor” for meta data needed to
  deploy
 Include automating of data/migration scripts when
   “promoting” an application
 Defining common RDBMS services that cover enough
  use-cases
 Integration with CirrAS for deployment of applications into
   clustered App Servers.
 Capturing more policies/samples in rules
 Much more...

30           CoolingTower | Michael Neale
Community: Getting involved

 Subproject of StormGrind @ JBoss
 jboss.org/stormgrind/projects/coolingtower
 Code currently on github/michaelneale/cooling-tower
 wiki.github.com/michaelneale/cooling-tower
 (will migrate to jboss.org)‫‏‬
 IRC: #stormgrind on irc.freenode.net



 Thank You


31           CoolingTower | Michael Neale

More Related Content

What's hot

Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly - Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly - Giulio Vian
 
How Cloudify uses Chef as a Foundation for PaaS
How Cloudify uses Chef as a Foundation for PaaSHow Cloudify uses Chef as a Foundation for PaaS
How Cloudify uses Chef as a Foundation for PaaSNati Shalom
 
Running OpenStack on Amazon AWS, Alex Fishman
Running OpenStack on Amazon AWS, Alex FishmanRunning OpenStack on Amazon AWS, Alex Fishman
Running OpenStack on Amazon AWS, Alex FishmanCloud Native Day Tel Aviv
 
Orchestration across multiple cloud platforms using Heat
Orchestration across multiple cloud platforms using HeatOrchestration across multiple cloud platforms using Heat
Orchestration across multiple cloud platforms using HeatCoreStack
 
How we Upgraded Public Cloud From Juno to Queens with Minimal Downtime? | Ngu...
How we Upgraded Public Cloud From Juno to Queens with Minimal Downtime? | Ngu...How we Upgraded Public Cloud From Juno to Queens with Minimal Downtime? | Ngu...
How we Upgraded Public Cloud From Juno to Queens with Minimal Downtime? | Ngu...Vietnam Open Infrastructure User Group
 
Heat - keep the clouds up
Heat - keep the clouds upHeat - keep the clouds up
Heat - keep the clouds upKiran Murari
 
Getting Started with jClouds: Multi Cloud Framework
Getting Started with jClouds: Multi Cloud FrameworkGetting Started with jClouds: Multi Cloud Framework
Getting Started with jClouds: Multi Cloud FrameworkIndicThreads
 
Cloud Surfing: Kubernetes on Mesos
Cloud Surfing: Kubernetes on MesosCloud Surfing: Kubernetes on Mesos
Cloud Surfing: Kubernetes on MesosKarl Isenberg
 
Container Orchestration Wars (2017 Edition)
Container Orchestration Wars (2017 Edition)Container Orchestration Wars (2017 Edition)
Container Orchestration Wars (2017 Edition)Karl Isenberg
 
jclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian Colejclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian ColeEverett Toews
 
Introduction to Apache jclouds
Introduction to Apache jcloudsIntroduction to Apache jclouds
Introduction to Apache jcloudsEverett Toews
 
Template Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCATemplate Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCACloud Native Day Tel Aviv
 
Securing Containers - Sathyajit Bhat - Adobe
Securing Containers - Sathyajit Bhat - AdobeSecuring Containers - Sathyajit Bhat - Adobe
Securing Containers - Sathyajit Bhat - AdobeCodeOps Technologies LLP
 
Scaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache MesosScaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache MesosMesosphere Inc.
 
Openstack: An Open Source Cloud Framework
Openstack: An Open Source Cloud FrameworkOpenstack: An Open Source Cloud Framework
Openstack: An Open Source Cloud FrameworkAndrew Shafer
 

What's hot (20)

Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly - Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly -
 
Introduction to IAC and Terraform
Introduction to IAC and Terraform Introduction to IAC and Terraform
Introduction to IAC and Terraform
 
OpenStack Heat
OpenStack HeatOpenStack Heat
OpenStack Heat
 
How Cloudify uses Chef as a Foundation for PaaS
How Cloudify uses Chef as a Foundation for PaaSHow Cloudify uses Chef as a Foundation for PaaS
How Cloudify uses Chef as a Foundation for PaaS
 
Running OpenStack on Amazon AWS, Alex Fishman
Running OpenStack on Amazon AWS, Alex FishmanRunning OpenStack on Amazon AWS, Alex Fishman
Running OpenStack on Amazon AWS, Alex Fishman
 
Apache JClouds
Apache JCloudsApache JClouds
Apache JClouds
 
Orchestration across multiple cloud platforms using Heat
Orchestration across multiple cloud platforms using HeatOrchestration across multiple cloud platforms using Heat
Orchestration across multiple cloud platforms using Heat
 
AWS-compared-to-OpenStack
AWS-compared-to-OpenStackAWS-compared-to-OpenStack
AWS-compared-to-OpenStack
 
How we Upgraded Public Cloud From Juno to Queens with Minimal Downtime? | Ngu...
How we Upgraded Public Cloud From Juno to Queens with Minimal Downtime? | Ngu...How we Upgraded Public Cloud From Juno to Queens with Minimal Downtime? | Ngu...
How we Upgraded Public Cloud From Juno to Queens with Minimal Downtime? | Ngu...
 
Heat - keep the clouds up
Heat - keep the clouds upHeat - keep the clouds up
Heat - keep the clouds up
 
Jclouds Intro
Jclouds IntroJclouds Intro
Jclouds Intro
 
Getting Started with jClouds: Multi Cloud Framework
Getting Started with jClouds: Multi Cloud FrameworkGetting Started with jClouds: Multi Cloud Framework
Getting Started with jClouds: Multi Cloud Framework
 
Cloud Surfing: Kubernetes on Mesos
Cloud Surfing: Kubernetes on MesosCloud Surfing: Kubernetes on Mesos
Cloud Surfing: Kubernetes on Mesos
 
Container Orchestration Wars (2017 Edition)
Container Orchestration Wars (2017 Edition)Container Orchestration Wars (2017 Edition)
Container Orchestration Wars (2017 Edition)
 
jclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian Colejclouds High Level Overview by Adrian Cole
jclouds High Level Overview by Adrian Cole
 
Introduction to Apache jclouds
Introduction to Apache jcloudsIntroduction to Apache jclouds
Introduction to Apache jclouds
 
Template Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCATemplate Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCA
 
Securing Containers - Sathyajit Bhat - Adobe
Securing Containers - Sathyajit Bhat - AdobeSecuring Containers - Sathyajit Bhat - Adobe
Securing Containers - Sathyajit Bhat - Adobe
 
Scaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache MesosScaling Like Twitter with Apache Mesos
Scaling Like Twitter with Apache Mesos
 
Openstack: An Open Source Cloud Framework
Openstack: An Open Source Cloud FrameworkOpenstack: An Open Source Cloud Framework
Openstack: An Open Source Cloud Framework
 

Similar to CoolingTower PaaS: Turnkey Platform as a Service

5 Quick Wins for the Cloud
5 Quick Wins for the Cloud5 Quick Wins for the Cloud
5 Quick Wins for the CloudRightScale
 
Build & Deploy Scalable Cloud Applications in Record Time
Build & Deploy Scalable Cloud Applications in Record TimeBuild & Deploy Scalable Cloud Applications in Record Time
Build & Deploy Scalable Cloud Applications in Record TimeRightScale
 
Best Practices for Building Successful Cloud Projects
Best Practices for Building Successful Cloud ProjectsBest Practices for Building Successful Cloud Projects
Best Practices for Building Successful Cloud ProjectsNati Shalom
 
Why Cloud Management Makes Sense
Why Cloud Management Makes SenseWhy Cloud Management Makes Sense
Why Cloud Management Makes SenseRightScale
 
Application Considerations for Cloud
Application Considerations for CloudApplication Considerations for Cloud
Application Considerations for CloudKyle Brown
 
GigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapGigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapShay Hassidim
 
Cloud Computing Basics I
Cloud Computing Basics ICloud Computing Basics I
Cloud Computing Basics IRightScale
 
Next-Generation Server Architecture
Next-Generation Server ArchitectureNext-Generation Server Architecture
Next-Generation Server ArchitectureRightScale
 
Building a Hybrid Cloud The Real Deal
Building a Hybrid Cloud The Real DealBuilding a Hybrid Cloud The Real Deal
Building a Hybrid Cloud The Real DealRightScale
 
A perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applicationsA perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applicationsGeorge Milliken
 
Cloud computing
Cloud computingCloud computing
Cloud computinggd1410
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudMongoDB
 
AWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid EnvironmentsAWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid EnvironmentsRightScale
 
Identifying Workloads to Move to the Cloud
Identifying Workloads to Move to the CloudIdentifying Workloads to Move to the Cloud
Identifying Workloads to Move to the CloudRightScale
 
Newvem Community - Cloud Management
Newvem Community - Cloud ManagementNewvem Community - Cloud Management
Newvem Community - Cloud ManagementAndreas Chatzakis
 
The intersection of Traditional IT and New-Generation IT
The intersection of Traditional IT and New-Generation ITThe intersection of Traditional IT and New-Generation IT
The intersection of Traditional IT and New-Generation ITKangaroot
 

Similar to CoolingTower PaaS: Turnkey Platform as a Service (20)

5 Quick Wins for the Cloud
5 Quick Wins for the Cloud5 Quick Wins for the Cloud
5 Quick Wins for the Cloud
 
Cloud computing What Why How
Cloud computing What Why HowCloud computing What Why How
Cloud computing What Why How
 
Build & Deploy Scalable Cloud Applications in Record Time
Build & Deploy Scalable Cloud Applications in Record TimeBuild & Deploy Scalable Cloud Applications in Record Time
Build & Deploy Scalable Cloud Applications in Record Time
 
Best Practices for Building Successful Cloud Projects
Best Practices for Building Successful Cloud ProjectsBest Practices for Building Successful Cloud Projects
Best Practices for Building Successful Cloud Projects
 
Why Cloud Management Makes Sense
Why Cloud Management Makes SenseWhy Cloud Management Makes Sense
Why Cloud Management Makes Sense
 
Application Considerations for Cloud
Application Considerations for CloudApplication Considerations for Cloud
Application Considerations for Cloud
 
GigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapGigaSpaces CCF 4 Xap
GigaSpaces CCF 4 Xap
 
Cloud Computing Basics I
Cloud Computing Basics ICloud Computing Basics I
Cloud Computing Basics I
 
Next-Generation Server Architecture
Next-Generation Server ArchitectureNext-Generation Server Architecture
Next-Generation Server Architecture
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Building a Hybrid Cloud The Real Deal
Building a Hybrid Cloud The Real DealBuilding a Hybrid Cloud The Real Deal
Building a Hybrid Cloud The Real Deal
 
A perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applicationsA perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applications
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the Cloud
 
AWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid EnvironmentsAWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid Environments
 
Identifying Workloads to Move to the Cloud
Identifying Workloads to Move to the CloudIdentifying Workloads to Move to the Cloud
Identifying Workloads to Move to the Cloud
 
Newvem Community - Cloud Management
Newvem Community - Cloud ManagementNewvem Community - Cloud Management
Newvem Community - Cloud Management
 
Cto cloud
Cto cloudCto cloud
Cto cloud
 
Cloud Management
Cloud ManagementCloud Management
Cloud Management
 
The intersection of Traditional IT and New-Generation IT
The intersection of Traditional IT and New-Generation ITThe intersection of Traditional IT and New-Generation IT
The intersection of Traditional IT and New-Generation IT
 

Recently uploaded

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

CoolingTower PaaS: Turnkey Platform as a Service

  • 1. CoolingTower Michael Neale Senior Engineer, Red Hat (JBoss) 1 CoolingTower | Michael Neale
  • 2. CoolingTower: Turnkey PaaS What is CoolingTower? A platform-as-a-service for Java Server side apps (Servlet/EE container) – completely self service Application centric (it is a PaaS) not server/infrastructure centric Is a project of utilities and aggressive automation of existing (or soon to be existing) components Runs as a server component with RESTful API Policy driven Driven by RESTful apis, multiple front ends Using open API's such as deltacloud for multiple IaaS platforms 2 CoolingTower | Michael Neale
  • 3. CoolingTower: 3 CoolingTower | Michael Neale
  • 4. “off the shelf”, eg PaaS refresher... Expenses, Timesheets, CRM Apps: hr.yourcloud.com, app2.yourcloud.com SaaS PaaS IaaS server1west, db02 etc. 4 CoolingTower | Michael Neale
  • 5. Motivation Many clouds are infrastructure and operations centric A space exists for application and developer centric clouds Yet adhering to organisational policies, workflows for application lifecycles etc. Automation ! Build on standards ! emerging for clouds, and for apps 5 CoolingTower | Michael Neale
  • 6. Public PaaS already in use Heroku.com Ruby based 6 CoolingTower | Michael Neale
  • 7. Google App engine Java or Python editions Free or Pay (based on quotas)‫‏‬ Can run other languages via JVM 7 CoolingTower | Michael Neale
  • 8. What do they have in common? Stunning developer experience (ease, low/no barrier)‫‏‬ Instant results (via a nice URL)‫‏‬ Some ability to scale elastically * NO management of server resources * Infrastructure abstracted (automated) away You don't manage/see servers Very good uptake for small/medium apps Very ATTRACTIVE to developers (who don't want to administer !)‫‏‬ 8 CoolingTower | Michael Neale
  • 9. Limitations (not all bad)‫‏‬ Often a subset of a “full stack” Must stick within API Locked to specific platform versions Build apps to scale Run on public infrastructure (shared)‫‏‬ Follow the conventions, live with with specific versions Don't have usual “enterprise” needs for promotion, QA environments etc 9 CoolingTower | Michael Neale
  • 10. CoolingTower - motivations Use standards as much as possible JavaEE, Servlet API (JVM allows many languages now)‫‏‬ Deltacloud for IaaS layer A PaaS cloud is a PaaS cloud: avoid lock in to IaaS layer Allow PaaS cloud to be built on private infrastructure, or public Address “enterprise concerns” Use configurable deployment and management policies Allow promotion through cloud “environments” (dev/test → QA → production etc). 10 CoolingTower | Michael Neale
  • 11. Further motivations In enterprise, apps need to scale in many directions: Up: lots of users Deep: complex app with lots of calculations (but maybe not many users)‫‏‬ Many: many small departmental apps – come and go. Reality: many apps don't need to scale like GAE style apps do (but high availability is very nice if possible !)‫‏‬ With JEE/JBossAS we get relatively easy app tier clustering 11 CoolingTower | Michael Neale
  • 12. CoolingTower - components Deployment API RESTful api, Policy driven deployment Elastic scaler Policy driven horizontal scaling of clustered apps Server minimiser “densely” pack applications for development clusters Naming Service RESTful api for self service of application names Authoritative only DNS Clients: Web, Eclipse, RESTful 12 CoolingTower | Michael Neale
  • 13. CoolingTower - deployment Applications packaged up in standard war/ear (optional extra meta data)‫‏‬ Deploy via RESTful API 13 CoolingTower | Michael Neale
  • 14. CoolingTower - deployment On request: service applies policy rules, finds a running instance, or starts instances as needed (using CirrAS to start a cluster up of app servers) deploys application, runs promotion “tasks” Track status of applications via RESTful call Update an application easily, decommission Policy could enforce what certain developers can deploy to – notify people of new version Workflow: new version, approval, promotion to QA, PROD etc. 14 CoolingTower | Michael Neale
  • 15. Deployment - policies Currently uses deltacloud “model” Policies are declarative rules ! Selection of appropriate image, or running instance 15 CoolingTower | Michael Neale
  • 16. Deployment - policies 16 CoolingTower | Michael Neale
  • 17. Declarative rules Like scripts, but far more powerful Combine data of cloud (images, instances) with application needs (meta data, other running applications) to reason over in rules Efficient use of cloud IaaS layer Rules, so customisable for a given cloud installation Cover: Allocation for deployment, image selection instance life cycle application lifecycle (promotion)‫‏‬ 17 CoolingTower | Michael Neale
  • 18. Roadmap: deployment front ends Eclipse Developers deploy from eclipse to development cloud (whence workflow for promotion can be initialised)‫‏‬ Command line Scripts, ant (all good RESTful interfaces should be able to be driven from the command line)‫‏‬ Web Client Web based PaaS console for creating/updating apps 18 CoolingTower | Michael Neale
  • 19. Roadmap: data services Most practical applications require persistent data NoSQL (Infinispan REST api – as well as cache)‫‏‬ But not for everyone RDBMS – will need to offer a fixed set (Postgres likely, possibly MySQL in limited configuration)‫‏‬ Most JVM apps use ORM which provides RDBMS flexibility TBD... 19 CoolingTower | Michael Neale
  • 20. CoolingTower – Elastic Scaler Once again, use declarative policy rules Commonly done with scripts: monitor load, grow and shrink as needed (application tier mainly)‫‏‬ Rules will apply that, as well as conform to policy limiting resource load prioritising for important apps attempt to anticipate load and scale up ahead of time (user driven, or based on historical data patterns). 20 CoolingTower | Michael Neale
  • 21. A note on app multi-tenancy Instances can run multiple application servers Application servers (1 process) can run multiple applications Need to have policies to decide what level of isolation is needed for each app. For even “lite” applications, can have 2 instances supporting it for HA reasons So multi-tenanting often makes sense For development purposes, may want to multi tenant for efficiency. 21 CoolingTower | Michael Neale
  • 22. CoolingTower – Server Minimiser Keep costs low (both in $ and resources)‫‏‬ Many IaaS “bill” per-instance Keep instance numbers as low as possible for applications Mainly important for development clusters Each process/app has a footprint of memory, cpu, disk needs, an instance has finite amount of each Resembles the “bin packing problem” 22 CoolingTower | Michael Neale
  • 23. Minimiser We have a “constraint solver” (called Drools Planner)‫‏‬ Declare rules to describe the hard and soft constraints Try multiple configurations of applications per instance to result in a solution with lower number of instances needed Could be run periodically (in the case of many apps coming and going)‫‏‬ 23 CoolingTower | Michael Neale
  • 24. Minimiser App App App App App Pac k App App App Instance App App App App 24 CoolingTower | Michael Neale
  • 25. Minimiser: roadmap Very experimental Most likely of use for public IaaS where cost is clear. For private clouds, not as urgent May be important longer term Minimise hardware foot print Will need to take into account data we don't yet easily have (eg energy usage) or understand 25 CoolingTower | Michael Neale
  • 26. CoolingTower: Naming Service The “forgotten” cloud service http://www.rackspacecloud.com/blog/2009/06/04/dns-the-overlooked-cloud-service/ In a PaaS cloud, typically have many apps: hr.yourcloud.com, incentive.yourcloud.com are nice Web “entry-point” may move around Apps can come and go Eg EC2 “ugly” names, or rackspace IPs You may want to refer to “cloud services” via URLs, eg caching, vertical services etc 26 CoolingTower | Michael Neale
  • 27. Naming Service Typical process When setting up a cloud, buy domain name Register CoolingTower/PaaS clouds DNS servers with registrar you use (own DNS gives control)‫‏‬ CoolingTower does the rest DNS can be error prone, so automate ! 27 CoolingTower | Michael Neale
  • 28. Naming Service – a RESTful api for DNS Register a domain POST /cooling-tower/naming name=yourcloud.com Set/update address of subdomain (or default)‫‏‬ POST ../yourdomain.com subdomain=applicationName&address=1.2.3.4 PUT ../yourdomain.com/www address=newAddress... (IP or domain name, either works)‫‏‬ Many more REST verbs apply for modifying, removing etc. CoolingTower will call this when creating an instance etc. 28 CoolingTower | Michael Neale
  • 29. Naming – RESTful DNS CoolingTower stores DNS records in standard zone files Can rsync to BIND servers (so the “master” is hidden), or use built in authoritative server (which is updated instantly with changes)‫‏‬ Use very short TTLs to allow services to move around in the cloud For both internal and external services 29 CoolingTower | Michael Neale
  • 30. Work to be done.. Defining “cloud descriptor” for meta data needed to deploy Include automating of data/migration scripts when “promoting” an application Defining common RDBMS services that cover enough use-cases Integration with CirrAS for deployment of applications into clustered App Servers. Capturing more policies/samples in rules Much more... 30 CoolingTower | Michael Neale
  • 31. Community: Getting involved Subproject of StormGrind @ JBoss jboss.org/stormgrind/projects/coolingtower Code currently on github/michaelneale/cooling-tower wiki.github.com/michaelneale/cooling-tower (will migrate to jboss.org)‫‏‬ IRC: #stormgrind on irc.freenode.net Thank You 31 CoolingTower | Michael Neale