SkyBase - a Devops Platform for Hybrid Cloud

25
SkyBase DevOps Platform. (or Finding your way in Hybrid Clouds) Vlad Kuusk Lead CloudOps Engineer (May 2014)

Transcript of SkyBase - a Devops Platform for Hybrid Cloud

Page 1: SkyBase - a Devops Platform for Hybrid Cloud

SkyBase – DevOps Platform.(or Finding your way in Hybrid

Clouds)

Vlad Kuusk

Lead CloudOps Engineer

(May 2014)

Page 2: SkyBase - a Devops Platform for Hybrid Cloud

what is this presentation about?

About science fiction? – No

About software project?

– Maybe, but mostly about finding a way to simplify the complex situation and create a software to bring order out of chaos.

Page 3: SkyBase - a Devops Platform for Hybrid Cloud

Introduction

• Lithium is moving into Hybrid Cloud and adopting DevOps model

• A lot of tools and approaches, but one still needs to glue them together

• Thus project SkyBase was born.

Page 4: SkyBase - a Devops Platform for Hybrid Cloud

What is going on at Lithium?

• We are SaaS company with 400+ enterprise customers

• Moving into hybrid cloud

• Establishing CI and CD processes

• Adopting DevOps model

• Releasing independent services using SOA

While running at 100 mph with main business

Page 5: SkyBase - a Devops Platform for Hybrid Cloud

What we are dealing with?

• The goal is to find a common ground between services and teams! --- but it’s like herding cats.

Page 6: SkyBase - a Devops Platform for Hybrid Cloud

Role of Ops in DevOps

To support multiple DevOps teams we need to create a base infrastructure (platform), so these teams can maintain services they develop.

Among other things, this platform has to contain a deployment pipeline.

How this Deployment Pipeline might look like?

Page 7: SkyBase - a Devops Platform for Hybrid Cloud

CI and CD pipeline.

Page 8: SkyBase - a Devops Platform for Hybrid Cloud

How to implement this pipeline in our case?

• Currently two teams working on the project from Dev and Ops sides So establishing of CI and CD processes could/should proceed in parallel.

• Define the standard target location for app deployment -> simplify promotion job Dev QA Prod.

• Decouple deployment mechanism from promotion job quickly adapt to changes in infrastructure and business workflows

• Two new concepts: “ArtiBall” and “Planet”

Page 9: SkyBase - a Devops Platform for Hybrid Cloud

WTF is ARTIBALL ?

• Decoupling CI and CD with ArtiBall* ( Tarball of Release Artifacts)

• Artiball contains everything needed to create a service, including Infrastructure-as-a-Code

– Application code (package)

– Application configs (for all universes)

– Chef cookbooks to install servers

– Deployment Templates (last but not the least)

* - term Artiball was borrowed from Chef Conference in SF, Apr 2014

Page 10: SkyBase - a Devops Platform for Hybrid Cloud

No more Environments but Planets inside Universes

Page 11: SkyBase - a Devops Platform for Hybrid Cloud

Standard Planet: univ-cloud-region

Page 12: SkyBase - a Devops Platform for Hybrid Cloud

Pipeline is a sequence of deployments into different planets

• Business decides the order. But it is independent from the deployment engine.

Page 13: SkyBase - a Devops Platform for Hybrid Cloud

Basic Single Deployment steps

1. Prepare Support Services (DNS, Yum, S3,...)

2. Prepare Chef Server (CookBooks, Roles, DataBags)

3. Launch Instances and point them to correct Chef Server

4. Verify Functionality (Smoke Test) of New Deployment

5. Allow Traffic to the New Deployment

Page 14: SkyBase - a Devops Platform for Hybrid Cloud

Here comes SkyBase.

• Our implementation of concepts described earlier

Page 15: SkyBase - a Devops Platform for Hybrid Cloud

Four Truths about Deployment Pipeline

As Hodja Nasreddin says: there is no wrong way to ride a pack mule.

1. There is no single universal way to create deployment pipeline

1. Tools give too much flexibility to users causing confusion.

1. It is possible to create Deployment Pipeline to be useful for any company

1. Skybase is the way to do it.

Page 16: SkyBase - a Devops Platform for Hybrid Cloud

Design Principles and Technologies

• Minimalistic user interface – less options but balanced with the ease of changing standards (flat files)

• Chef for server configuration

• Salt for remote execution and orchestration

• Written in Python

• Managing templates for AWS Cloudformationand Openstack Heat

Page 17: SkyBase - a Devops Platform for Hybrid Cloud

Basic Skybase Core workflow

Page 18: SkyBase - a Devops Platform for Hybrid Cloud

High Level Architecture of SkyBaseCore

Page 19: SkyBase - a Devops Platform for Hybrid Cloud

Demo

Page 20: SkyBase - a Devops Platform for Hybrid Cloud

Conclusion

• Decouple CI and CD using Artiballs

• Define standard planet to simplify configuration

• Identify fundamental steps of deployment and allow flexibility in each

• Use Skybase to glue it all together

Page 21: SkyBase - a Devops Platform for Hybrid Cloud

Future of Skybase platform

• ChatOps – HipChat + Skybot (based on Hubot)

• Connectors to external RESTful API services (Jira, Monitoring and Cost Analytics)

• Workflow Service (sequence of actions)

• Open Source coming soon

Page 22: SkyBase - a Devops Platform for Hybrid Cloud

Interested contributors are welcome

• Talk to me after presentation

Page 23: SkyBase - a Devops Platform for Hybrid Cloud

THE END. Questions?

Page 24: SkyBase - a Devops Platform for Hybrid Cloud

NOW THE END

Contact Info: Vlad Kuusk, PhD. email: [email protected]

Page 25: SkyBase - a Devops Platform for Hybrid Cloud

SkyBase Ecosystem (Vision for the SkyBase Platform)