2016
Building Continuous Integration
with Virtuozzo DevOps
Andre Moruga
Director of Program Management,Virtuozzo
@AndreMoruga
— Why Continuous Integration
— Scenarios of Continuous Integration
— Introducing Virtuozzo DevOps platform
— Demo: CI for Hello World
Copyright © 2016 Virtuozzo. All rights reserved. 2
Session Agenda
Monolithic Microservices
New Cloud Born Apps
Copyright © 2016 Virtuozzo. All rights reserved. 3
There are Two Worlds
Dev / Test
— Efficient development
— Rapid Prototyping
— Provisioning Speed
— Simple continues integration cycle
DevOps / Security
— Security, Audit and Monitoring
— High Availability and Disaster Recovery
— Scaling
— Rolling Updates
Continuous Delivery
Hours
Waterfall
Months or Years
Iterative Development
Weeks
Kanban
Days
Copyright © 2016 Virtuozzo. All rights reserved. 4
V1 100% V2 0.1%
V1 95% V2 5%
V1 50% V2 50%
V1 0% V2 100%
Rolling Updates
Copyright © 2016 Virtuozzo. All rights reserved. 10
— Virtuozzo DevOps is a container
orchestration platform
— Virtuozzo DevOps was built in partnership
between Virtuozzo and Jelastic
— You can get your free license
at http://virtuozzo.com/products/devops
About Virtuozzo DevOps
Copyright © 2016 Virtuozzo. All rights reserved. 6
Why It is So Efficient
— Create apps, not infrastructure. 50+ ready
to use development environments
— Create complex layered and clustered
deployments in seconds
— Focus of app business logic, high availability,
disaster recovery, rolling updates are handled for you
— Self service: no bureaucracy.
Easy and fast to create new environments.
— Create, backup, clone, migrate (to cloud as well)
your apps as needed
— Automate everything REST API, scripts
Copyright © 2016 Virtuozzo. All rights reserved. 7
Highly Available Runtime
— High Availability is provided by the platform.
No need to handle if on app layer.
— Maintenance operations are just a usual routine.
No need to migrate apps manually.
Copyright © 2016 Virtuozzo. All rights reserved. 8
Auto Scaling: Handling load
— Efficiency now, capacity when you need it
— Scaling based on CPU, RAM, network and disk I/O
Handles horizontal and vertical scale up/down automatically. Set it and forget it.
Horizontal and vertical scale up / down
Application Stats
+
Copyright © 2016 Virtuozzo. All rights reserved. 9
Smart Load Balancer
— Traffic distributor can split traffic between versions
— Environment auto scale up and down
Copyright © 2016 Virtuozzo. All rights reserved. 10
Requests
Cloud Federation & Multi-Zone Clusters
— Multi Zones and Multi Regions Deployments
— Multi cloud deployments
— Migration between public clouds
Requests
Traffic Manager / DNS
Region 2
Netherlands
Region 3
Singapore
Region 4
Brazil
Region 1
USA
Copyright © 2016 Virtuozzo. All rights reserved. 11
With Certified Containers With Docker Containers
Continuous integration scenarios
GitHub
Commit
Repository
Monitoring
Check for new code
Virtuozzo
DevOps
Deploy
Copyright © 2016 Virtuozzo. All rights reserved. 12
Virtuozzo
DevOps
Pull new
container
GitHub
Commit
Docker
Engine
Build new
container
Docker
Repository
Push new
container
Continuous Delivery of PHP application with Certified Container
Copyright © 2016 Virtuozzo. All rights reserved. 13
Container:
Application:
Application repo:
Deployment manifest:
Apache with PHP
PHP code
https://github.com/amoruga/wsgi-helloworld
https://github.com/amoruga/git-push-
deploy/tree/w/o-auth
What’s inside of JPS: Application Configuration
“env”: {
“topology”: {
“nodes”: [
{
“count”: 1,
“cloudlets”: 16,
“nodeGroup”: “cp”,
“nodeType”: “apache2”
}
],
“engine”: “php5.6”
}
}
Copyright © 2016 Virtuozzo. All rights reserved. 14
What’s inside of JPS: Deployment Instructions
“onInstall”: [
{
“execScript”: [
{
“type”: “js”,
“script”: “https://raw.githubuser
content.com/jelastic-jps/git-push-
deploy/master/add-git-project.cs”,
“params”: {
“url”: “https://github.com/amoruga/
wsgi-helloworld.git”,
“branch”: “master”,
“login”: “git”,
“password”: null
},
“user”: “root”
}
]
}
Copyright © 2016 Virtuozzo. All rights reserved. 15
What’s inside of Deployment Script
Copyright © 2016 Virtuozzo. All rights reserved. 16
https://github.com/jelastic-jps/git-push-deploy/
blob/master/add-git-project.cs
var params = {
appId: appid,
envName: “${env.appid}”,
session: session,
type: “git”,
project: “ROOT”,
url: url,
branch: branch,
keyId: “WILL BE AUTODETECTED BELLOW”,
login: login,
password: password,
autoupdate: true,
interval: 1,
autoResolveConflict: true,
zdt: false
}
Demo
— Deploy any application
— Java, PHP, Ruby, Python, or anything with Docker
— Scale vertically or horizontally
— Any of its components – frontend, middle layer, backend(s)
— Live migrate
— Manage applications across multiple datacenters
— Control through UI, REST API or scripting
— And more
Copyright © 2016 Virtuozzo. All rights reserved. 18
What Else You Can do With Virtuozzo DevOps
Summary: Worked Fine in Dev it’s Ops Problem Now
— Almost every organization is evaluating containers.
It works fine for devs. But only few managed to use it in production
— You need much more that just a set of containers
to have robust and efficient production platform
Virtuozzo DevOps is a great platform bridging
both scenarios and enables continuous delivery
as unique advantage for your organization
Copyright © 2016 Virtuozzo. All rights reserved. 19
— Get your copy FREE of Virtuozzo
DevOps at
www.virtuozzo.com/products/devops
— Come to Virtuozzo booth for more
information
— Try Virtuozzo DevOps in your
lab and let us know!
Copyright © 2016 Virtuozzo. All rights reserved. 20
Want to try?
Thanks for yourattention

Building ContinuousIntegration with Virtuozzo DevOps

  • 1.
    2016 Building Continuous Integration withVirtuozzo DevOps Andre Moruga Director of Program Management,Virtuozzo @AndreMoruga
  • 2.
    — Why ContinuousIntegration — Scenarios of Continuous Integration — Introducing Virtuozzo DevOps platform — Demo: CI for Hello World Copyright © 2016 Virtuozzo. All rights reserved. 2 Session Agenda
  • 3.
    Monolithic Microservices New CloudBorn Apps Copyright © 2016 Virtuozzo. All rights reserved. 3
  • 4.
    There are TwoWorlds Dev / Test — Efficient development — Rapid Prototyping — Provisioning Speed — Simple continues integration cycle DevOps / Security — Security, Audit and Monitoring — High Availability and Disaster Recovery — Scaling — Rolling Updates Continuous Delivery Hours Waterfall Months or Years Iterative Development Weeks Kanban Days Copyright © 2016 Virtuozzo. All rights reserved. 4
  • 5.
    V1 100% V20.1% V1 95% V2 5% V1 50% V2 50% V1 0% V2 100% Rolling Updates Copyright © 2016 Virtuozzo. All rights reserved. 10
  • 6.
    — Virtuozzo DevOpsis a container orchestration platform — Virtuozzo DevOps was built in partnership between Virtuozzo and Jelastic — You can get your free license at http://virtuozzo.com/products/devops About Virtuozzo DevOps Copyright © 2016 Virtuozzo. All rights reserved. 6
  • 7.
    Why It isSo Efficient — Create apps, not infrastructure. 50+ ready to use development environments — Create complex layered and clustered deployments in seconds — Focus of app business logic, high availability, disaster recovery, rolling updates are handled for you — Self service: no bureaucracy. Easy and fast to create new environments. — Create, backup, clone, migrate (to cloud as well) your apps as needed — Automate everything REST API, scripts Copyright © 2016 Virtuozzo. All rights reserved. 7
  • 8.
    Highly Available Runtime —High Availability is provided by the platform. No need to handle if on app layer. — Maintenance operations are just a usual routine. No need to migrate apps manually. Copyright © 2016 Virtuozzo. All rights reserved. 8
  • 9.
    Auto Scaling: Handlingload — Efficiency now, capacity when you need it — Scaling based on CPU, RAM, network and disk I/O Handles horizontal and vertical scale up/down automatically. Set it and forget it. Horizontal and vertical scale up / down Application Stats + Copyright © 2016 Virtuozzo. All rights reserved. 9
  • 10.
    Smart Load Balancer —Traffic distributor can split traffic between versions — Environment auto scale up and down Copyright © 2016 Virtuozzo. All rights reserved. 10 Requests
  • 11.
    Cloud Federation &Multi-Zone Clusters — Multi Zones and Multi Regions Deployments — Multi cloud deployments — Migration between public clouds Requests Traffic Manager / DNS Region 2 Netherlands Region 3 Singapore Region 4 Brazil Region 1 USA Copyright © 2016 Virtuozzo. All rights reserved. 11
  • 12.
    With Certified ContainersWith Docker Containers Continuous integration scenarios GitHub Commit Repository Monitoring Check for new code Virtuozzo DevOps Deploy Copyright © 2016 Virtuozzo. All rights reserved. 12 Virtuozzo DevOps Pull new container GitHub Commit Docker Engine Build new container Docker Repository Push new container
  • 13.
    Continuous Delivery ofPHP application with Certified Container Copyright © 2016 Virtuozzo. All rights reserved. 13 Container: Application: Application repo: Deployment manifest: Apache with PHP PHP code https://github.com/amoruga/wsgi-helloworld https://github.com/amoruga/git-push- deploy/tree/w/o-auth
  • 14.
    What’s inside ofJPS: Application Configuration “env”: { “topology”: { “nodes”: [ { “count”: 1, “cloudlets”: 16, “nodeGroup”: “cp”, “nodeType”: “apache2” } ], “engine”: “php5.6” } } Copyright © 2016 Virtuozzo. All rights reserved. 14
  • 15.
    What’s inside ofJPS: Deployment Instructions “onInstall”: [ { “execScript”: [ { “type”: “js”, “script”: “https://raw.githubuser content.com/jelastic-jps/git-push- deploy/master/add-git-project.cs”, “params”: { “url”: “https://github.com/amoruga/ wsgi-helloworld.git”, “branch”: “master”, “login”: “git”, “password”: null }, “user”: “root” } ] } Copyright © 2016 Virtuozzo. All rights reserved. 15
  • 16.
    What’s inside ofDeployment Script Copyright © 2016 Virtuozzo. All rights reserved. 16 https://github.com/jelastic-jps/git-push-deploy/ blob/master/add-git-project.cs var params = { appId: appid, envName: “${env.appid}”, session: session, type: “git”, project: “ROOT”, url: url, branch: branch, keyId: “WILL BE AUTODETECTED BELLOW”, login: login, password: password, autoupdate: true, interval: 1, autoResolveConflict: true, zdt: false }
  • 17.
  • 18.
    — Deploy anyapplication — Java, PHP, Ruby, Python, or anything with Docker — Scale vertically or horizontally — Any of its components – frontend, middle layer, backend(s) — Live migrate — Manage applications across multiple datacenters — Control through UI, REST API or scripting — And more Copyright © 2016 Virtuozzo. All rights reserved. 18 What Else You Can do With Virtuozzo DevOps
  • 19.
    Summary: Worked Finein Dev it’s Ops Problem Now — Almost every organization is evaluating containers. It works fine for devs. But only few managed to use it in production — You need much more that just a set of containers to have robust and efficient production platform Virtuozzo DevOps is a great platform bridging both scenarios and enables continuous delivery as unique advantage for your organization Copyright © 2016 Virtuozzo. All rights reserved. 19
  • 20.
    — Get yourcopy FREE of Virtuozzo DevOps at www.virtuozzo.com/products/devops — Come to Virtuozzo booth for more information — Try Virtuozzo DevOps in your lab and let us know! Copyright © 2016 Virtuozzo. All rights reserved. 20 Want to try?
  • 21.