continuous delivery with jenkins and stackato

21
Continuous Delivery with Jenkins & Stackato Ho Ming Li John Wetherill Nov 2013

Upload: activestate

Post on 28-Nov-2014

1.250 views

Category:

Technology


7 download

DESCRIPTION

Watch the complete webinar at http://www.activestate.com/webinars/continuous-delivery-jenkins-and-stackato Continuous integration, delivery and deployment may have slightly different meanings, but the underlying goal is to deploy frequent, smaller iterations of the application. However, according to Forrester Research, less than one-third of respondents reported that their development team uses continuous integration processes on a daily basis. While it can be a struggle to achieve continuous delivery due to corporate culture or general workflow issues between Dev and IT Operations, there are some specific tools available to help make it a reality. With continuous delivery organizations gain a competitive edge since they can make changes to their application faster and better meet the needs of their end users. Join Ho Ming Li, Cloud Engineer and John Wetherill, Developer Evangelist for a live 45 minute presentation on continuous delivery using Jenkins, an open-source continuous integration server, and Stackato, a private PaaS by ActiveState. In this webinar we will discuss and demonstrate: - What is continuous integration, delivery and deployment? - Why is it necessary? - What are some continuous integration tools available? - How to use Jenkins for scheduled deployments - How Jenkins and Stackato can work together

TRANSCRIPT

Page 1: Continuous Delivery with Jenkins and Stackato

Continuous Delivery with Jenkins & Stackato

Ho Ming Li

John Wetherill

Nov 2013

Page 2: Continuous Delivery with Jenkins and Stackato

Recent Events

DevOps Days x 2

Page 3: Continuous Delivery with Jenkins and Stackato

Today’s Speakers

John WetherillDeveloper Evangelist

Ho Ming LiCloud Engineer

Page 4: Continuous Delivery with Jenkins and Stackato

What is Continuous Delivery?

• Continuous integration: your application always builds and passes its

tests, including all the pieces from different sub-teams.

• Continuous delivery: your application always builds and deploys to a test

environment and passes its tests.

• Continuous deployment: your application is always ready to deploy to

production through a largely automated process.

source: http://www.softwareknowhow.info/Blogs/tabid/63/EntryId/319/Continuous-Integration-vs-Continuous-Delivery-vs-Continuous-Deployment-what-is-the-difference.aspx

Page 5: Continuous Delivery with Jenkins and Stackato

Why CI / CD?

Automate and Streamline Everything!

Increase Operational Efficiency!

Avoids:

1. wait time

2. handoff conflicts

3. human errors

Page 6: Continuous Delivery with Jenkins and Stackato

Why CI / CD?

Know results earlier! Fix bugs faster! More stable builds!

Page 7: Continuous Delivery with Jenkins and Stackato

Tools

Good ol’ shell scripts with cron!

Extends to other languages and unix utilities

Additional Features:

Tracking, Dashboard

Page 8: Continuous Delivery with Jenkins and Stackato

Continuous Delivery

and Stackato

More, Better, Faster

Page 9: Continuous Delivery with Jenkins and Stackato

Stackato Private PaaS

A private PaaS enables enterprise developers to leverage all the benefits of a

public PaaS to easily deploy, manage, monitor, and scale applications,

while meeting the security and privacy requirements your enterprise

demands.

Based on Cloud Foundry

Your own Heroku

Your own Google App Engine

Page 10: Continuous Delivery with Jenkins and Stackato

Languages/Frameworks

DB/MSG Services

Local/Private/Public

More Options

Page 11: Continuous Delivery with Jenkins and Stackato

Any time you want.

Any frequency you want.

Weekly? Daily? Hourly?

On Commit? on Pull Request?

Deploy More

Page 12: Continuous Delivery with Jenkins and Stackato

Better

Consistent workflow : work one, work all

Self-service : Better relationship between Dev and Ops

Page 13: Continuous Delivery with Jenkins and Stackato

Faster

Automation / No re-configuration

Use containers and not VMs

Overall a Faster Time to Market

Page 14: Continuous Delivery with Jenkins and Stackato

Containerization

• resource and process isolation

• namespaces:

* pid

* mnt

* net

* uts

* ipc

* user

• compare with Solaris zones, freebsd jails

Page 15: Continuous Delivery with Jenkins and Stackato

Containerization Features for CD

Multitenancy

• dev, qa, prod on same cloud

• no resource contention

Lightweight

• very fast startup (100ms) and teardown

• small memory and disk footprint (COW)

Snapshots / Backups

• bit-for-bit copy of tested image goes to prod

• bit-for-bit copy of crashed image for analysis

Page 16: Continuous Delivery with Jenkins and Stackato

Containerization Features for CD

uts namespace

• each container has its hostname

• helpful for updates and rollbacks

net namespace

• multiple virtual interfaces per container

• firewall rules and iptables

• interface pairs for outside communication

• enables multiple services on “same port”

ex: multiple tomcats on 8080

user namespace

• unprivileged user on host can be root in container

Page 17: Continuous Delivery with Jenkins and Stackato
Page 18: Continuous Delivery with Jenkins and Stackato

Design for CI and for Cloud

• can leverage dns for version-swapping

• statelessness is key

• simplifies updates and rollbacks

• REST

Page 19: Continuous Delivery with Jenkins and Stackato

MORE

BETTER

FASTER

Page 20: Continuous Delivery with Jenkins and Stackato
Page 21: Continuous Delivery with Jenkins and Stackato

Thank you!

www.activestate.com/stackato

#Stackato on Freenode

Ho Ming Li

John Wetherill

Nov 2013