Presentation is loading. Please wait.

Presentation is loading. Please wait.

It’s the App, Stupid! Orchestration, Automation, Scaling & What’s in Between Yaron Parasol, Uri

Similar presentations


Presentation on theme: "It’s the App, Stupid! Orchestration, Automation, Scaling & What’s in Between Yaron Parasol, Uri"— Presentation transcript:

1 It’s the App, Stupid! Orchestration, Automation, Scaling & What’s in Between Yaron Parasol, Uri

2 Meet Petsy, Selling Pet Art and Supporting Pet Artists Since 2013

3 So They’re Services Are Deployed on OpenStack Gunicorn PostgreSQL Hadoop ActiveMQ Nginx MongoDB Logstash GraphiteJenkinsNagios

4 The Business Is Doing Great, Thx (esp. Cat paper crafts), But… Rolling out new code is Painful

5 The Business Is Doing Great, Thx (esp. Cat paper crafts), But… MTTR is… mehhh Mehhh

6 They Had a Server Failure Two Weeks Ago One of the web servers crashed due to a bug in the Inventory service It took a few days to get the system back on its feet…

7 It Was also the Case When They Needed a New Server It’s still troublesome to roll out a new Gunicorn and add it to the existing deployment

8 Another Thing Is Quality… They have a nice set of unit tests, but integration testing is mostly manual…

9 They Need to Automate!!

10 So, Let’s have a closer look at DevOps Processes It’s about Workflows and Triggers

11 Automated Deployment Triggers: Manual, CI Server Flow: – Provision Cloud Resources: Compute, Storage, Network – Configure servers – Push code – Start components

12 Infra Upgrade Trigger: Critical updates, patches, etc. Flow: Take down relevant processes, one by one, apply patch, and reconnect to cluster. In some cases restarts server

13 App upgrade (or more generally, CD) Trigger: CI server, Manual Flow: Canary, Red/Black, A/B… – In general – Partial deploy, verify, rollback / complete deploy

14 Node Failure Trigger: happens… Flow: Detect, provision VM, attach storage, add to network, reconfigure app (load balancer in case of web serve, DB connection in case of database, etc.)

15 Scaling Trigger: System SLAs, Schedule Flow: Add new nodes, push code, reconfigure dependent nodes, reconfigure LB

16 Automation refers to all the layers Proxy Config Python App Schema Infrastructure Middleware NGinx Gunicorn Postgres Application Host Networks Storage WE need Workflows

17 Take a (Very) Simple Deployment Scenario.. WE need Workflows

18 Let’s have a look at AWS Compared to OpenStack

19 The AWS Stack

20 The OpenStack Equivalents OpenShift/ CloudFoundry **Solum** Heat Nova, Cinder, Neutron etc.. ? ?

21 He Calls It Devops Automation

22 Still a bit too rigid

23 OpsWorks – We can do better! Integrated with Heat Cross Clouds Custom Workflows Not limited to Chef Open Monitoring and Policies

24 How do you build the WF piece? Introduction to the Cloudify COSMO project

25 Our TOSCA-Inspired Building Blocks Application Topologies Workflows Policies

26 Application Topologies Nodes – The layers in the cake - e.g. VM, web server, app module – Actions (can be grouped into Interfaces) Relationships – Actions – Requirements capabilities

27 Workflows Create and interact with nodes using actions

28 Policies Trigger workflows based on a certain system state

29 DSL GUI How It Works in Practice Blueprint + Runtime Model Blueprint + Runtime Model Metrics Plugins Workflow Engine Workflow Engine TaskBroker TaskBroker Policy Engine Policy Engine Agen t Metrics Collecto r Plugin REST API REST API Agen t Plugin

30 Live Demo – Installing Mezzanine Create the VMs Install Postgres Install Gunicorn Install NGinx Create DB on Postgres Push app to Containers Configure App connection to DB Configure Nginx routing rules Start components in the right order

31 Some Resources Framework (code name – Cosmo) code and sample app are available on github github.com/cloudifysource/cosmo- manager github.com/cloudifysource/cosmo-mezzanine- example github.com/cloudifysource/cosmo- manager github.com/cloudifysource/cosmo-mezzanine- example

32 Plans, Plans

33

34 How Does It Fit into the OpenStack Eco-System? The need was identified (Call for TOSCA like DSL) Solum Project – Solum Blueprints identified the needs: Cross Cloud Continuous Deployment – As of last week we have joined Solum In order to contribute the relevant parts into Solum

35 Thank You! Come meet us in booth C27


Download ppt "It’s the App, Stupid! Orchestration, Automation, Scaling & What’s in Between Yaron Parasol, Uri"

Similar presentations


Ads by Google