SlideShare a Scribd company logo
1 of 18
Download to read offline
Alex Heneveld / @ahtweetin
                            OpenStack Design Summit
                                          17 April 2013




Cloud Application Management in Practice
http://brooklyncentral.github.com




© 2013 Cloudsoft Corporation                                   2
Uses




Strictly Confidential © 2013 Cloudsoft Corporation   03/26/13      3
Uses




Strictly Confidential © 2013 Cloudsoft Corporation   03/26/13      4
Uses




Strictly Confidential © 2013 Cloudsoft Corporation   03/26/13      5
Betfair




Strictly Confidential © 2013 Cloudsoft Corporation   03/26/13         6
Betfair




Strictly Confidential © 2013 Cloudsoft Corporation   03/26/13         7
Autonomic Management (M-A-P-E)


                       Escalate                                             Delegate
                    Enrich
                                  Sensors                             Effectors
                                             Analyze           Plan
     Autonomic
     Manager*                   Monitor                               Execute
                                                       State



                                  Sensors                             Effectors
        Managed
        Element



*An autonomic manager can be a managed element
Strictly Confidential © 2013 Cloudsoft Corporation          03/26/13                    8
Hierarchical Autonomic Management




Granularity can be anything from individual application to overall control plane
Strictly Confidential © 2013 Cloudsoft Corporation   03/26/13                       9
Multi-Tier Application

            Multi-Tier Application
                                                                              Need to update targets
              Load Balanced Cluster
                                                    NGINX                        to match cluster
                                                     OS

                Cluster
                                                                              Need to specify
                                                                            autoscaling policy
                                  JBoss7Server
                                        OS
                                                    …                JBoss7Server
                                                                         OS



                                                                               Need to publish MySQL
                                                                                  URL for cluster
                                                    MySQL
                                                     OS                       There has to be a better
                                                                              way than scripting …
Strictly Confidential © 2013 Cloudsoft Corporation         03/26/13                                       10
MyWebCluster – Topology
                                             MyWebCluster




                                  MySQL                     ControlledDynamicWebAppCluster

  MySQL and NGINX could be
  swapped out for their
  clustered variants
                                                    NGINX                 DynamicWebAppCluster



  Here we explicitly model the app’s
  organizational structure                                     JBoss7Server …      JBoss7Server


   Abstract Entities        Autonomic Managers - AMP specific constructs or building blocks

   Concrete Entities        Managed Elements - AMP proxies for real world components
Strictly Confidential © 2013 Cloudsoft Corporation              03/26/13                           11
MyWebCluster – Blueprint
                                             MyWebCluster




                                  MySQL                     ControlledDynamicWebAppCluster

  [targets] is a built in policy
  whereas the auto scaling
                                                     [targets]                      Auto Scaler Policy
  policy is explicitly added
                                                    NGINX                   DynamicWebAppCluster



  An application blueprint is
  completely portable                                            JBoss7Server …        JBoss7Server




         Policies           Attached to entities they effect but can subscribe to any sensor
Strictly Confidential © 2013 Cloudsoft Corporation                03/26/13                                12
MyWebCluster – Customization
                                             MyWebCluster




                                  MySQL                     ControlledDynamicWebAppCluster

                                  MySQL

                                                     [targets]                      Auto Scaler Policy
                                                    NGINX                   DynamicWebAppCluster

                                                    NGINX


  The pluggable driver mechanism is an                           JBoss7Server …        JBoss7Server
  elegant way to customize a blueprint for
  a particular environment                                       JBoss7Server …        JBoss7Server


         Drivers            Customer specific implementations (Bash, Puppet, Chef etc.)
Strictly Confidential © 2013 Cloudsoft Corporation                03/26/13                                13
MyWebCluster – Instantiation
         Location        +                   MyWebCluster




                                  MySQL                     ControlledDynamicWebAppCluster

                                  MySQL

                                     OS              [targets]                       Auto Scaler Policy
                                                    NGINX                    DynamicWebAppCluster

                                                    NGINX

                                                     OS
                                                                 JBoss7Server …         JBoss7Server

                                                                 JBoss7Server …         JBoss7Server

                                                                        OS        …         OS
        Instances            Location dependent – can be virtual machine, LXC etc.
Strictly Confidential © 2013 Cloudsoft Corporation                03/26/13                                 14
Powerful GUI and RESTful API




© 2013 Cloudsoft Corporation                             15
Java Library

 public class MyWebCluster extends AbstractApplication
 implements MyWebClusterConstants {

     @Override
     public void init() {
       MySqlNode mysql = ...;
       ControlledDynamicWebAppCluster web = ...;

         web.addEnricher(HttpLatencyDetector.builder().url(ROOT_URL).
           rollup(10, SECONDS).build());

         web.getCluster().addPolicy(AutoScalerPolicy.builder().
           metric(REQUESTS_PER_SECOND_IN_WINDOW_PER_NODE).
           metricRange(10, 100).sizeRange(2, 5).build());

         addEnricher(SensorPropagatingEnricher.newInstanceListeningTo(web,
           ROOT_URL, REQUESTS_PER_SECOND_IN_WINDOW, REQUEST_LATENCY_IN_SECONDS_IN_WINDOW));
     }
 }




© 2013 Cloudsoft Corporation                                                                  16
A DSL — Heat, CAMP, TOSCA, more ...
name: "three tier app"
components:
  hello_war:             # no type
    content: hello.war
    requires:
       com.example.java:WarContainer:
          initialSize: 3
          fulfillment: frontend
       com.example.java:Autoscaler:
          metric: request.latency
          max: 120ms
  hello_sql:
    content: hello.sql
    type: com.example.database:Schema             # here, type of component defined
    requires: backend
  frontend:                          # "platform component" implied by WarDeplReq above
    requires:
       database:                     # frontend type must recognise a named "database" req
          mode: CDI                  # assume that req supports various injection modes
          fulfillment: backend

© 2013 Cloudsoft Corporation                                                                 17
What Next?




• DSL UNCONFERENCE tomorrow 2.20pm

• Community at http://brooklyncentral.github.com
• IRC at #brooklyncentral




© 2013 Cloudsoft Corporation                               18

More Related Content

Similar to Cloud Application Management in Practice - OpenStack Summit Lightning Talk

2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublinAlex Heneveld
 
10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in Azure10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in AzureVAST
 
CloudByte Technology Whitepaper
CloudByte Technology WhitepaperCloudByte Technology Whitepaper
CloudByte Technology WhitepaperCloudByte Inc.
 
Successful PaaS and CI in the Cloud - EclipseCon 2012
Successful PaaS and CI in the Cloud - EclipseCon 2012Successful PaaS and CI in the Cloud - EclipseCon 2012
Successful PaaS and CI in the Cloud - EclipseCon 2012CloudBees
 
Tracking SLAs In Cloud
Tracking SLAs In CloudTracking SLAs In Cloud
Tracking SLAs In CloudSatish Agrawal
 
JDK 9: Migrating Applications
JDK 9: Migrating ApplicationsJDK 9: Migrating Applications
JDK 9: Migrating ApplicationsSimon Ritter
 
How WebLogic 12c Can Boost Your Productivity
How WebLogic 12c Can Boost Your ProductivityHow WebLogic 12c Can Boost Your Productivity
How WebLogic 12c Can Boost Your ProductivityBruno Borges
 
Load Balancing in Cloud Computing Through Virtual Machine Placement
Load Balancing in Cloud Computing Through Virtual Machine PlacementLoad Balancing in Cloud Computing Through Virtual Machine Placement
Load Balancing in Cloud Computing Through Virtual Machine PlacementIRJET Journal
 
From Physical to Virtual to Cloud
From Physical to Virtual to CloudFrom Physical to Virtual to Cloud
From Physical to Virtual to CloudCisco Security
 
Posscon my sql56
Posscon my sql56Posscon my sql56
Posscon my sql56Dave Stokes
 
Three Stage of AWS Cost Optimisation with ActOnCloud Trusted Fixer
Three Stage of AWS Cost Optimisation with ActOnCloud Trusted FixerThree Stage of AWS Cost Optimisation with ActOnCloud Trusted Fixer
Three Stage of AWS Cost Optimisation with ActOnCloud Trusted FixerMadan Ganesh Velayudham
 
MySQL High Availability: Managing Farms of Distributed Servers (MySQL Fabric)
MySQL High Availability: Managing Farms of Distributed Servers (MySQL Fabric)MySQL High Availability: Managing Farms of Distributed Servers (MySQL Fabric)
MySQL High Availability: Managing Farms of Distributed Servers (MySQL Fabric)Alfranio Júnior
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudArun Gupta
 
Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01MindTree Ltd
 
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012CloudBees
 
Consolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeConsolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeNovell
 
Kubernetes for the VI Admin
Kubernetes for the VI AdminKubernetes for the VI Admin
Kubernetes for the VI AdminKendrick Coleman
 
Resource Provisioning Algorithms for Resource Allocation in Cloud Computing
Resource Provisioning Algorithms for Resource Allocation in Cloud ComputingResource Provisioning Algorithms for Resource Allocation in Cloud Computing
Resource Provisioning Algorithms for Resource Allocation in Cloud ComputingIRJET Journal
 

Similar to Cloud Application Management in Practice - OpenStack Summit Lightning Talk (20)

2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin
 
24 27
24 2724 27
24 27
 
10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in Azure10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in Azure
 
CloudByte Technology Whitepaper
CloudByte Technology WhitepaperCloudByte Technology Whitepaper
CloudByte Technology Whitepaper
 
Successful PaaS and CI in the Cloud - EclipseCon 2012
Successful PaaS and CI in the Cloud - EclipseCon 2012Successful PaaS and CI in the Cloud - EclipseCon 2012
Successful PaaS and CI in the Cloud - EclipseCon 2012
 
Tracking SLAs In Cloud
Tracking SLAs In CloudTracking SLAs In Cloud
Tracking SLAs In Cloud
 
JDK 9: Migrating Applications
JDK 9: Migrating ApplicationsJDK 9: Migrating Applications
JDK 9: Migrating Applications
 
How WebLogic 12c Can Boost Your Productivity
How WebLogic 12c Can Boost Your ProductivityHow WebLogic 12c Can Boost Your Productivity
How WebLogic 12c Can Boost Your Productivity
 
Load Balancing in Cloud Computing Through Virtual Machine Placement
Load Balancing in Cloud Computing Through Virtual Machine PlacementLoad Balancing in Cloud Computing Through Virtual Machine Placement
Load Balancing in Cloud Computing Through Virtual Machine Placement
 
From Physical to Virtual to Cloud
From Physical to Virtual to CloudFrom Physical to Virtual to Cloud
From Physical to Virtual to Cloud
 
Posscon my sql56
Posscon my sql56Posscon my sql56
Posscon my sql56
 
Three Stage of AWS Cost Optimisation with ActOnCloud Trusted Fixer
Three Stage of AWS Cost Optimisation with ActOnCloud Trusted FixerThree Stage of AWS Cost Optimisation with ActOnCloud Trusted Fixer
Three Stage of AWS Cost Optimisation with ActOnCloud Trusted Fixer
 
MySQL High Availability: Managing Farms of Distributed Servers (MySQL Fabric)
MySQL High Availability: Managing Farms of Distributed Servers (MySQL Fabric)MySQL High Availability: Managing Farms of Distributed Servers (MySQL Fabric)
MySQL High Availability: Managing Farms of Distributed Servers (MySQL Fabric)
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloud
 
Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01
 
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012
 
zClouds - A better business Cloud
zClouds - A better business CloudzClouds - A better business Cloud
zClouds - A better business Cloud
 
Consolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeConsolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization Initiative
 
Kubernetes for the VI Admin
Kubernetes for the VI AdminKubernetes for the VI Admin
Kubernetes for the VI Admin
 
Resource Provisioning Algorithms for Resource Allocation in Cloud Computing
Resource Provisioning Algorithms for Resource Allocation in Cloud ComputingResource Provisioning Algorithms for Resource Allocation in Cloud Computing
Resource Provisioning Algorithms for Resource Allocation in Cloud Computing
 

More from Alex Heneveld

2015-11-cloudsoft-basho-brooklyn-riak
2015-11-cloudsoft-basho-brooklyn-riak2015-11-cloudsoft-basho-brooklyn-riak
2015-11-cloudsoft-basho-brooklyn-riakAlex Heneveld
 
2014-05-gluecon-amplifying-docker
2014-05-gluecon-amplifying-docker2014-05-gluecon-amplifying-docker
2014-05-gluecon-amplifying-dockerAlex Heneveld
 
2014 04-AMPlifying-docker-at-451-hcts-eu
2014 04-AMPlifying-docker-at-451-hcts-eu2014 04-AMPlifying-docker-at-451-hcts-eu
2014 04-AMPlifying-docker-at-451-hcts-euAlex Heneveld
 
2013 05-openstack-israel-heat
2013 05-openstack-israel-heat2013 05-openstack-israel-heat
2013 05-openstack-israel-heatAlex Heneveld
 
2013 05-fite-club-working-models-cloud-growing-up
2013 05-fite-club-working-models-cloud-growing-up2013 05-fite-club-working-models-cloud-growing-up
2013 05-fite-club-working-models-cloud-growing-upAlex Heneveld
 
2013 04-specs-camp-tosca-heat-brooklyn
2013 04-specs-camp-tosca-heat-brooklyn2013 04-specs-camp-tosca-heat-brooklyn
2013 04-specs-camp-tosca-heat-brooklynAlex Heneveld
 

More from Alex Heneveld (6)

2015-11-cloudsoft-basho-brooklyn-riak
2015-11-cloudsoft-basho-brooklyn-riak2015-11-cloudsoft-basho-brooklyn-riak
2015-11-cloudsoft-basho-brooklyn-riak
 
2014-05-gluecon-amplifying-docker
2014-05-gluecon-amplifying-docker2014-05-gluecon-amplifying-docker
2014-05-gluecon-amplifying-docker
 
2014 04-AMPlifying-docker-at-451-hcts-eu
2014 04-AMPlifying-docker-at-451-hcts-eu2014 04-AMPlifying-docker-at-451-hcts-eu
2014 04-AMPlifying-docker-at-451-hcts-eu
 
2013 05-openstack-israel-heat
2013 05-openstack-israel-heat2013 05-openstack-israel-heat
2013 05-openstack-israel-heat
 
2013 05-fite-club-working-models-cloud-growing-up
2013 05-fite-club-working-models-cloud-growing-up2013 05-fite-club-working-models-cloud-growing-up
2013 05-fite-club-working-models-cloud-growing-up
 
2013 04-specs-camp-tosca-heat-brooklyn
2013 04-specs-camp-tosca-heat-brooklyn2013 04-specs-camp-tosca-heat-brooklyn
2013 04-specs-camp-tosca-heat-brooklyn
 

Recently uploaded

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Recently uploaded (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Cloud Application Management in Practice - OpenStack Summit Lightning Talk

  • 1. Alex Heneveld / @ahtweetin OpenStack Design Summit 17 April 2013 Cloud Application Management in Practice
  • 3. Uses Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 3
  • 4. Uses Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 4
  • 5. Uses Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 5
  • 6. Betfair Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 6
  • 7. Betfair Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 7
  • 8. Autonomic Management (M-A-P-E) Escalate Delegate Enrich Sensors Effectors Analyze Plan Autonomic Manager* Monitor Execute State Sensors Effectors Managed Element *An autonomic manager can be a managed element Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 8
  • 9. Hierarchical Autonomic Management Granularity can be anything from individual application to overall control plane Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 9
  • 10. Multi-Tier Application Multi-Tier Application Need to update targets Load Balanced Cluster NGINX to match cluster OS Cluster Need to specify autoscaling policy JBoss7Server OS … JBoss7Server OS Need to publish MySQL URL for cluster MySQL OS There has to be a better way than scripting … Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 10
  • 11. MyWebCluster – Topology MyWebCluster MySQL ControlledDynamicWebAppCluster MySQL and NGINX could be swapped out for their clustered variants NGINX DynamicWebAppCluster Here we explicitly model the app’s organizational structure JBoss7Server … JBoss7Server Abstract Entities Autonomic Managers - AMP specific constructs or building blocks Concrete Entities Managed Elements - AMP proxies for real world components Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 11
  • 12. MyWebCluster – Blueprint MyWebCluster MySQL ControlledDynamicWebAppCluster [targets] is a built in policy whereas the auto scaling [targets] Auto Scaler Policy policy is explicitly added NGINX DynamicWebAppCluster An application blueprint is completely portable JBoss7Server … JBoss7Server Policies Attached to entities they effect but can subscribe to any sensor Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 12
  • 13. MyWebCluster – Customization MyWebCluster MySQL ControlledDynamicWebAppCluster MySQL [targets] Auto Scaler Policy NGINX DynamicWebAppCluster NGINX The pluggable driver mechanism is an JBoss7Server … JBoss7Server elegant way to customize a blueprint for a particular environment JBoss7Server … JBoss7Server Drivers Customer specific implementations (Bash, Puppet, Chef etc.) Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 13
  • 14. MyWebCluster – Instantiation Location + MyWebCluster MySQL ControlledDynamicWebAppCluster MySQL OS [targets] Auto Scaler Policy NGINX DynamicWebAppCluster NGINX OS JBoss7Server … JBoss7Server JBoss7Server … JBoss7Server OS … OS Instances Location dependent – can be virtual machine, LXC etc. Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 14
  • 15. Powerful GUI and RESTful API © 2013 Cloudsoft Corporation 15
  • 16. Java Library public class MyWebCluster extends AbstractApplication implements MyWebClusterConstants { @Override public void init() { MySqlNode mysql = ...; ControlledDynamicWebAppCluster web = ...; web.addEnricher(HttpLatencyDetector.builder().url(ROOT_URL). rollup(10, SECONDS).build()); web.getCluster().addPolicy(AutoScalerPolicy.builder(). metric(REQUESTS_PER_SECOND_IN_WINDOW_PER_NODE). metricRange(10, 100).sizeRange(2, 5).build()); addEnricher(SensorPropagatingEnricher.newInstanceListeningTo(web, ROOT_URL, REQUESTS_PER_SECOND_IN_WINDOW, REQUEST_LATENCY_IN_SECONDS_IN_WINDOW)); } } © 2013 Cloudsoft Corporation 16
  • 17. A DSL — Heat, CAMP, TOSCA, more ... name: "three tier app" components: hello_war: # no type content: hello.war requires: com.example.java:WarContainer: initialSize: 3 fulfillment: frontend com.example.java:Autoscaler: metric: request.latency max: 120ms hello_sql: content: hello.sql type: com.example.database:Schema # here, type of component defined requires: backend frontend: # "platform component" implied by WarDeplReq above requires: database: # frontend type must recognise a named "database" req mode: CDI # assume that req supports various injection modes fulfillment: backend © 2013 Cloudsoft Corporation 17
  • 18. What Next? • DSL UNCONFERENCE tomorrow 2.20pm • Community at http://brooklyncentral.github.com • IRC at #brooklyncentral © 2013 Cloudsoft Corporation 18