When thinking about automation and orchestration most people have tools like CloudFormation, Chef or Puppet in mind. These tools do a great job at allocating infrastructure resources and configuring them. But in reality, when deploying and managing complete application stacks, there’s much more to it. You need things to be done in a certain order; there are dependencies to consider and information to share between your application tiers, and then there’s everything related to post deployment - recovering from failures, scaling and continuously deploying your code, to name some. In this session we’ll discuss what it takes to orchestrate and automate your applications through the entire lifecycle, and without losing control.
4. Load
Balancer Web DataBase
Load
Balancer Web DataBase
Your Journey
Start Here
Your Journey
Start Here
Application Centric Infrastructure Centric
Map Application Dependencies, SLA
(performance, scaling, HA)
Map Application To machine instances
18. DevOps Automation: Example 1
• Very large U.S. hardware/software
company.
• Use Cloudify for Continuous
Delivery
• Stack: Cloudify, Chef, Openstack
• Reason for Choosing Cloudify
– Dozens of roles across multiple orgs.
– Chef shop, needed backwards compatibility.
– Cloud portability
– SDN support
– Devops integration with existing
Jenkins/Chef infrastructure to build internal
PAAS on internal cloud.
19. DevOps Automation: Bleeding edge
• Full automation of stack deployment/scaling
across multiple AZs.
• Multi-tier SDN governed stack deployments
(nets/subnets/firewalls/routers etc…)
• Scaling to 1000s of nodes across org
• Auto scaling based on load
• Uses hosted chef for cookbook, attribute
storage.
• Replaces home grown system that uses chef
server to coordinate complex/cluster
deployments.
20. DevOps Automation: PaddyPower
• Ireland's largest online betting
service.
• Use Cloudify for Continuous
Delivery
• Stack: Cloudify, Chef, Cloud Stack
• Reason for Choosing Cloudify
– PAAS strives to abstract provisioning and
deployment thus reducing complexity.
– PAAS constrains applications to use features
provided by the platform.
– Cloudify was geared to work in DevOps
environment
We tend to think of devops in terms of infrastructure, or setting up nodes. Cloud platforms permit a level of automation that is was not possible before, and the list of services keeps growing. Today’s popular tools will automate the preparation of nodes and the deployment and configuration of software, which is great. But there is more to do before the promised land is reached. Ultimately, devops is about delivering applications to customers (internal or external), not roles of nodes. So how is the gap filled?
In order to implement a fully automated, continuous delivery platform, the bolting together of multiple tools is necessary. For example, a typical case I’ve encountered quite a bit is a build automation platform (Jenkins et. Al.) being used to tie together the various pieces required for automation. To deploy a technology stack to the cloud requires several build steps, and some kind of global storage. A pattern I’m familiar with is Jenkins and Chef. Jenkins runs a script or plugin that creates VMs on the cloud. Jenkins bootstraps chef client on the nodes and then runs the required cookbooks. This can be a complex multi-step process involving chef server data bags.
Contrast application vs infrastructure centric. Application centric creates a model of application requirements, and renders them onto an infrastructure. The infrastructure view thinks of mapping application components to hardware, which is actually more driven by traditional datacenter thinking.
Names familiar to everyone no doubt. Focused on installation and perhaps startup of applications targeting infrastructure, i.e. preparing nodes and installation sw.
What are the Specific Features in Cloudify that Makes it DevOps Oriented?I will use Matt Jaynes’ definition from his book Taste Test:Directive & Directives Script - Cloudify currently uses Groovy-based recipes with extended DSL as its directives. The Cloudify recipe allows you to combine Chef or Puppet directives as part of the Cloudify recipie. Our future release will include support for Yaml/TOSCA directives and may also include support for Ansible.Master Node & Children Nodes - Cloudify automatically bootstraps Master and Child nodes. It has a cloud plug-in that will allow you to automate this entire process and avoid any manual host/IP configuration. The Cloudify integration with Chef takes care of provisioning of Chef Master and Child nodes as well.Remote Execution - Cloudify uses custom-commands as a way to route calls to a group of individual sets of service instances. The integration with Chef includes built-in custom commands for updating Chef Coookbooks as well as for executing Chef-Knife and other Chef commands as described here.In addition, Cloudify provides built-in services to query the state of the cluster through the ServiceContext API and share states across services in the cluster through the Attribute Store API.- See more at: http://natishalom.typepad.com/nati_shaloms_blog/2013/10/an-application-centric-approach-to-devops.html#sthash.k5cKhWhX.dpuf
What are the Specific Features in Cloudify that Makes it DevOps Oriented?I will use Matt Jaynes’ definition from his book Taste Test:Directive & Directives Script - Cloudify currently uses Groovy-based recipes with extended DSL as its directives. The Cloudify recipe allows you to combine Chef or Puppet directives as part of the Cloudify recipie. Our future release will include support for Yaml/TOSCA directives and may also include support for Ansible.Master Node & Children Nodes - Cloudify automatically bootstraps Master and Child nodes. It has a cloud plug-in that will allow you to automate this entire process and avoid any manual host/IP configuration. The Cloudify integration with Chef takes care of provisioning of Chef Master and Child nodes as well.Remote Execution - Cloudify uses custom-commands as a way to route calls to a group of individual sets of service instances. The integration with Chef includes built-in custom commands for updating Chef Coookbooks as well as for executing Chef-Knife and other Chef commands as described here.In addition, Cloudify provides built-in services to query the state of the cluster through the ServiceContext API and share states across services in the cluster through the Attribute Store API.- See more at: http://natishalom.typepad.com/nati_shaloms_blog/2013/10/an-application-centric-approach-to-devops.html#sthash.k5cKhWhX.dpuf
AWSopsworks takes a devops approach to application management. Defines abstractions for stack, layer, network, scaling and deployment. Template driven provision with cloud formation.
AWSopsworks takes a devops approach to application management. Defines abstractions for stack, layer, network, scaling and deployment. Template driven provision with cloud formation.
AWSopsworks takes a devops approach to application management. Defines abstractions for stack, layer, network, scaling and deployment. Template driven provision with cloud formation.
AWSopsworks takes a devops approach to application management. Defines abstractions for stack, layer, network, scaling and deployment. Template driven provision with cloud formation.
“stack” level specification of roles is rendered on arbitrary IAAS platform. Extension of chef recipe concept (sort of).
What are the Specific Features in Cloudify that Makes it DevOps Oriented?I will use Matt Jaynes’ definition from his book Taste Test:Directive & Directives Script - Cloudify currently uses Groovy-based recipes with extended DSL as its directives. The Cloudify recipe allows you to combine Chef or Puppet directives as part of the Cloudify recipie. Our future release will include support for Yaml/TOSCA directives and may also include support for Ansible.Master Node & Children Nodes - Cloudify automatically bootstraps Master and Child nodes. It has a cloud plug-in that will allow you to automate this entire process and avoid any manual host/IP configuration. The Cloudify integration with Chef takes care of provisioning of Chef Master and Child nodes as well.Remote Execution - Cloudify uses custom-commands as a way to route calls to a group of individual sets of service instances. The integration with Chef includes built-in custom commands for updating Chef Coookbooks as well as for executing Chef-Knife and other Chef commands as described here.In addition, Cloudify provides built-in services to query the state of the cluster through the ServiceContext API and share states across services in the cluster through the Attribute Store API.- See more at: http://natishalom.typepad.com/nati_shaloms_blog/2013/10/an-application-centric-approach-to-devops.html#sthash.k5cKhWhX.dpuf
What are the Specific Features in Cloudify that Makes it DevOps Oriented?I will use Matt Jaynes’ definition from his book Taste Test:Directive & Directives Script - Cloudify currently uses Groovy-based recipes with extended DSL as its directives. The Cloudify recipe allows you to combine Chef or Puppet directives as part of the Cloudify recipie. Our future release will include support for Yaml/TOSCA directives and may also include support for Ansible.Master Node & Children Nodes - Cloudify automatically bootstraps Master and Child nodes. It has a cloud plug-in that will allow you to automate this entire process and avoid any manual host/IP configuration. The Cloudify integration with Chef takes care of provisioning of Chef Master and Child nodes as well.Remote Execution - Cloudify uses custom-commands as a way to route calls to a group of individual sets of service instances. The integration with Chef includes built-in custom commands for updating Chef Coookbooks as well as for executing Chef-Knife and other Chef commands as described here.In addition, Cloudify provides built-in services to query the state of the cluster through the ServiceContext API and share states across services in the cluster through the Attribute Store API.- See more at: http://natishalom.typepad.com/nati_shaloms_blog/2013/10/an-application-centric-approach-to-devops.html#sthash.k5cKhWhX.dpuf
*Tosca coming soon in 3.0 releaseWhat are the Specific Features in Cloudify that Makes it DevOps Oriented?I will use Matt Jaynes’ definition from his book Taste Test:Directive & Directives Script - Cloudify currently uses Groovy-based recipes with extended DSL as its directives. The Cloudify recipe allows you to combine Chef or Puppet directives as part of the Cloudify recipie. Our future release will include support for Yaml/TOSCA directives and may also include support for Ansible.Master Node & Children Nodes - Cloudify automatically bootstraps Master and Child nodes. It has a cloud plug-in that will allow you to automate this entire process and avoid any manual host/IP configuration. The Cloudify integration with Chef takes care of provisioning of Chef Master and Child nodes as well.Remote Execution - Cloudify uses custom-commands as a way to route calls to a group of individual sets of service instances. The integration with Chef includes built-in custom commands for updating Chef Coookbooks as well as for executing Chef-Knife and other Chef commands as described here.In addition, Cloudify provides built-in services to query the state of the cluster through the ServiceContext API and share states across services in the cluster through the Attribute Store API.- See more at: http://natishalom.typepad.com/nati_shaloms_blog/2013/10/an-application-centric-approach-to-devops.html#sthash.k5cKhWhX.dpuf
Templates to describe and drive all these processes