Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
2016
Building Continuous Integration with Virtuozzo DevOpsAndre MorugaDirector 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 DeliveryHours
WaterfallMonths or Years
Iterative DevelopmentWeeks
KanbanDays
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 licenseat 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
SingaporeRegion 4
Brazil
Region 1
USA
Copyright © 2016 Virtuozzo. All rights reserved. 11
With Certified Containers With Docker Containers
Continuous integration scenarios
GitHubCommit
Repository MonitoringCheck for new code
Virtuozzo DevOpsDeploy
Copyright © 2016 Virtuozzo. All rights reserved. 12
Virtuozzo DevOpsPull new container
GitHubCommit
Docker EngineBuild new container
Docker RepositoryPush 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 atwww.virtuozzo.com/products/devops
— Come to Virtuozzo booth for moreinformation
— Try Virtuozzo DevOps in your lab and let us know!
Copyright © 2016 Virtuozzo. All rights reserved. 20
Want to try?
Thanks for your attention