SlideShare une entreprise Scribd logo
1  sur  25
SkyBase – DevOps Platform. 
(or Finding your way in Hybrid 
Clouds) 
Vlad Kuusk 
Lead CloudOps Engineer 
(May 2014)
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.
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.
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
What we are dealing with? 
• The goal is to find a common ground between 
services and teams! --- but it’s like herding cats.
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?
CI and CD pipeline.
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”
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
No more Environments 
but Planets inside Universes
Standard Planet: univ-cloud-region
Pipeline is a sequence of deployments 
into different planets 
• Business decides the order. But it is independent from the 
deployment engine.
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
Here comes SkyBase. 
• Our implementation of concepts described 
earlier
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.
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 Cloudformation 
and Openstack Heat
Basic Skybase Core workflow
High Level Architecture of SkyBase 
Core
Demo 
•
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
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
Interested contributors are welcome 
• Talk to me after presentation
THE END. Questions?
NOW THE END 
Contact Info: Vlad Kuusk, PhD. email: vlad.kuusk@lithium.com
SkyBase Ecosystem 
(Vision for the SkyBase Platform)

Contenu connexe

Tendances

Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
CloudBees
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Docker, Inc.
 

Tendances (20)

Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Building a Secure Supply Chain with Docker
Building a Secure Supply Chain with DockerBuilding a Secure Supply Chain with Docker
Building a Secure Supply Chain with Docker
 
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
 
Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
Analyze This! CloudBees Jenkins Cluster Operations and AnalyticsAnalyze This! CloudBees Jenkins Cluster Operations and Analytics
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
 
Intro to Git: a hands-on workshop
Intro to Git: a hands-on workshopIntro to Git: a hands-on workshop
Intro to Git: a hands-on workshop
 
Immutable Infrastructure: Rise of the Machine Images
Immutable Infrastructure: Rise of the Machine ImagesImmutable Infrastructure: Rise of the Machine Images
Immutable Infrastructure: Rise of the Machine Images
 
Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
 
Software Delivery at Warp Speed: Five Essential Techniques
Software Delivery at Warp Speed: Five Essential TechniquesSoftware Delivery at Warp Speed: Five Essential Techniques
Software Delivery at Warp Speed: Five Essential Techniques
 
How Docker simplifies CI/CD
How Docker simplifies CI/CDHow Docker simplifies CI/CD
How Docker simplifies CI/CD
 
Continuous Delivery with Jenkins Workflow
Continuous Delivery with Jenkins WorkflowContinuous Delivery with Jenkins Workflow
Continuous Delivery with Jenkins Workflow
 
Jenkins vs. AWS CodePipeline
Jenkins vs. AWS CodePipelineJenkins vs. AWS CodePipeline
Jenkins vs. AWS CodePipeline
 
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
 
Jenkins Reviewbot
Jenkins ReviewbotJenkins Reviewbot
Jenkins Reviewbot
 
Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
 

En vedette

Master Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins PlatformMaster Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins Platform
dcjuengst
 

En vedette (20)

Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CD
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
 
DEVOPS, NOOPS QUEL FUTUR POUR LES OPS ?
DEVOPS, NOOPS QUEL FUTUR POUR LES OPS ?DEVOPS, NOOPS QUEL FUTUR POUR LES OPS ?
DEVOPS, NOOPS QUEL FUTUR POUR LES OPS ?
 
DevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday KumarDevOps Primer : Presented by Uday Kumar
DevOps Primer : Presented by Uday Kumar
 
The Agile Roots of Microservices
The Agile Roots of MicroservicesThe Agile Roots of Microservices
The Agile Roots of Microservices
 
How open source is driving DevOps innovation: CloudOpen NA 2015
How open source is driving DevOps innovation: CloudOpen NA 2015How open source is driving DevOps innovation: CloudOpen NA 2015
How open source is driving DevOps innovation: CloudOpen NA 2015
 
Desktop|Embedded Application API JSR
Desktop|Embedded Application API JSRDesktop|Embedded Application API JSR
Desktop|Embedded Application API JSR
 
Dev ops, noops or hypeops - Networkshop44
Dev ops, noops or hypeops -  Networkshop44Dev ops, noops or hypeops -  Networkshop44
Dev ops, noops or hypeops - Networkshop44
 
Summit 16: CI/CD and DevOps
Summit 16: CI/CD and DevOpsSummit 16: CI/CD and DevOps
Summit 16: CI/CD and DevOps
 
DevOps for Big Data - Data 360 2014 Conference
DevOps for Big Data - Data 360 2014 ConferenceDevOps for Big Data - Data 360 2014 Conference
DevOps for Big Data - Data 360 2014 Conference
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Rise of the Machines - Automate your Development
Rise of the Machines - Automate your DevelopmentRise of the Machines - Automate your Development
Rise of the Machines - Automate your Development
 
Jenkins Docker
Jenkins DockerJenkins Docker
Jenkins Docker
 
Ic maven jenkins_sonar
Ic maven jenkins_sonarIc maven jenkins_sonar
Ic maven jenkins_sonar
 
Dockercon2015 bamboo
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bamboo
 
Game of Codes: the Battle for CI
Game of Codes: the Battle for CIGame of Codes: the Battle for CI
Game of Codes: the Battle for CI
 
Master Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins PlatformMaster Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins Platform
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLab
 
Getting started with Jenkins
Getting started with JenkinsGetting started with Jenkins
Getting started with Jenkins
 

Similaire à SkyBase - a Devops Platform for Hybrid Cloud

Crowbar2 update
Crowbar2 updateCrowbar2 update
Crowbar2 update
osonoi
 

Similaire à SkyBase - a Devops Platform for Hybrid Cloud (20)

Crowbar2 update
Crowbar2 updateCrowbar2 update
Crowbar2 update
 
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-nativeKubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
 
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-nativeKubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructure
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Gluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container InfrastructureGluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container Infrastructure
 
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next LevelKubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
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
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
 
Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17
 
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with CrowbarWicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devops
 

Dernier

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
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

SkyBase - a Devops Platform for Hybrid Cloud

  • 1. SkyBase – DevOps Platform. (or Finding your way in Hybrid Clouds) Vlad Kuusk Lead CloudOps Engineer (May 2014)
  • 2. 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.
  • 3. 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.
  • 4. 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
  • 5. What we are dealing with? • The goal is to find a common ground between services and teams! --- but it’s like herding cats.
  • 6. 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?
  • 7. CI and CD pipeline.
  • 8. 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”
  • 9. 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
  • 10. No more Environments but Planets inside Universes
  • 12. Pipeline is a sequence of deployments into different planets • Business decides the order. But it is independent from the deployment engine.
  • 13. 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
  • 14. Here comes SkyBase. • Our implementation of concepts described earlier
  • 15. 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.
  • 16. 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 Cloudformation and Openstack Heat
  • 17. Basic Skybase Core workflow
  • 18. High Level Architecture of SkyBase Core
  • 20. 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
  • 21. 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
  • 22. Interested contributors are welcome • Talk to me after presentation
  • 24. NOW THE END Contact Info: Vlad Kuusk, PhD. email: vlad.kuusk@lithium.com
  • 25. SkyBase Ecosystem (Vision for the SkyBase Platform)

Notes de l'éditeur

  1. Decisions about: Which CM: Chef, Puppet, Salt, Ansible, ...? Hybrid Cloud Management System -Rightscale, Scalr, ..., or create our own How Continuous Integration and Delivery pipeline should look like? After trying different tools and approaches we discovered that with all those tools out there we were still missing something. Here I’d like to tell the story of our journey and present our rationale for the choices we made and describe the solution, which we are currently developing I hope that this talk will be helpful for those of you who are in the same position as we are and who feel the same pain as we are. .
  2. all at the same time is a very tricky situation
  3. To give an idea what we are dealing with here. 1. Multiple Apps (2 major and some other standalone services) 2. Each app is customized and deployed for multiple customers 3. Different versions of App are potentially running for different customers 4. Different services deployed separately but depend on and interact with each other 5. Multiple Teams develop and deploy their services into production It’s not just a simple move from Dev-QA-Prod for a single app.
  4. The role of Ops team is to provide common tools for the other DevOps teams to deploy and manage their services.
  5. This is our pipeline. It’s more or less standard pipeline, where during each phase different groups of servers are used (orange blocks). These groups are usually called environments: Dev, QA, Stage, Prod. Later we’ll see that word environment might be confusing in situations with multiple locations and clouds. Usually pipelines are promoting new release automatically up to QA environment. After that people are usually using the approval gates to UA and Prod.
  6. We were focusing in several areas. We came up with two main concepts: Arti-Ball and Planet. What are these?
  7. Decoupling of CI and CD is achieved by creating an ArtiBall , so CI creates AB, then CD uses AB.
  8. From our experience, when discussing CD pipeline and even simply describing location of the server or service term “EVIRONMENT” is often ambiguous and confusing. And even in the same conversation different people mean different things. Is it DEV/QA/PROD or it’s a colocation cage, or is it Chef Server Environment and so on. Let’s consider this matrix and define planet as Universe-Provider-Region. We can think of planet as a VPC. These 3 parameters is enough, because there is no need to have 2 VPCs in the same region.
  9. 1. “Planet” is based on a set of subnets grouped by location and purpose. ( Dev-AWS-us-west-1, Prod-AWS-eu-west-2) 2, “Planet” contains supporting infrastructure to provision, install and maintain Our Services. Usually One Our Service runs in one planet. One Deployment is always putting one ArtiBall into one Planet Multi-Region deployments will spend across two regions.
  10. After we introduced Planets the implementation of deployment pipeline simplified. Any Pipeline can be configured as sequence of single planet deployments
  11. Any deployment system has to include these steps.
  12. Now let’s talk about implementation of concepts described earlier. But first this...
  13. Let’s talk about our approach but first an old joke: Once two men came to Hodja Nasreddin and asked him to resolve their dispute. Hodja agrreed to do this. First man says: “I think that this thing has to be done from right to left” – Hodja says: “You are absolutely right!” Second man says: “I thing that same thing has to be done from left to right: - Hodja says: “And you are absolutely right!” Both men left with joy. A bystander, who saw this, says to Hodja: “Hodja, it is impossible that both men can be both right at the same time!” So Deployment Pipeline is a such thing. “And you are absolutely right!” – says Hodja Nasreddin.
  14. CI process dumps AB to an S3 bucket Process AB Process target planet data Update Support services Update Chef server Create and apply CF templates for the stack Stack is created and Chef client pointed to Chef server Chef Server completes the install
  15. Client WebApp with REST API Worker (executes a request) SkyBase Clases perform actions on AB and Planet)
  16. Decoupling of the CI and CD allows to develop these processes independently at different pace – This is accomplished by using ArtiBalls ( Release Bundles ) Defining a target for deployment as a planet allows greatly simplify management of stack deployment templates ( e.g. Cloud Formation or Heat templates) thus accelerating transition of developers into DevOps. There several fundamental steps in the deployment, and with correct architecture it possible to change the mechanisms of each step without affecting other – which allows to create a functioning system while some parts of the design are still in discussion or if the new system has to coexist with legacy mechanisms Skybase by definition is a central location, which has access to all elements of infrastructure and can easily be extended with new functionality, and as such it presents a convenient DevOps platform for all
  17. External services like monitoring, cost analytics, ... Openstack “Mistrel”