deploying your application on open stack using bosh presentation

Download Deploying your application on open stack using bosh presentation

If you can't read please download the document

Upload: capouch

Post on 16-Apr-2017

810 views

Category:

Technology


1 download

TRANSCRIPT

PowerPoint Presentation

Deploying Services with BOSH

Jeffrey Peckham | Engineer

Cloud Foundry

Who Am I?

Jeffrey Peckham

2008-2012 SRE in Higher Education and eCommerce.2012 SRE on Production Cloud Foundry2013 Engineer on BOSHOSCON 3rd time attending, 1st time speaking

What is BOSH?

A comprehensive service deployment tool.

Developed originally for Cloud Foundry.

Deploys distributed software onto various IaaS providers.

What BOSH is not

It is not a PaaS.

It is not Pacemaker, Clusterware, or other HA orchestration.

It is not clever.

Why BOSH?

Addresses the end-to-end problem of provisioning to running services.

Designed for updates, provisioning is just a side-effect.

Fast, predictable deploys that don't suffer from Configuration Drift.

Top Down Deployment Strategy

What do I want to deploy?

What services make it up?

How do those services run?

What software do they need?

Top Down Deployment Strategy

What do I want to deploy?A search indexer

What services make it up?Elastic Search

How do those services run?A Single Elastic Search process.

What software do they need?Java, Elastic Search

Job

Is a process or set of processes that can be configured and monitored.

What's the simplest thing I can monitor?

How about 'init'?

$ ps -efUID PID PPID C STIME TTY TIME CMD

root 1 0 0 09:10 ? 00:00:01 /sbin/init

root 2 0 0 09:10 ? 00:00:00 [kthreadd]

root 3 2 0 09:10 ? 00:00:01 [ksoftirqd/0]

root 5 2 0 09:10 ? 00:00:00 [kworker/0:0H]

root 7 2 0 09:10 ? 00:00:00 [kworker/u:0H]

root 8 2 0 09:10 ? 00:00:00 [migration/0]

Demo: Initial Release and Job

Deploy to a BOSH

What BOSH?

Deploy a BOSH

http://docs.cloudfoundry.com/docs/running/deploying-cf/

BOSH-Lite (VERY ALPHA)

https://github.com/cloudfoundry/bosh-lite

Come talk to us

https://groups.google.com/a/cloudfoundry.org/forum/#!forum/bosh-users

Stemcell

A base OS image for deploying services on.

Currently an Ubuntu based image with an embedded BOSH Agent.

Knows how to discover location and can phone home.

Deployment Manifest

A description of a BOSH deployed release.

Describes What...

Release

Resources (Networks, Disks and VMs)

Services

Update behavior

Settings for the Release

Demo: Initial Deploy

What did that do?

Spun up a VM and monitored init.

This is where you think, 'Jolly good... who cares?'

Package

Source Based

Generates static files only, no templates

No pre/post apply scripts

Built on ephemeral VMs

Packaging script places files in $BOSH_INSTALL_TARGET

Demo: Adding Packages and Exploring an Instance

Demo: Updating a Service and Debugging

Properties

Variables that can be set at deployment time and used to configure jobs.

Can be scoped to single jobs or span multiple. Often to describe relationships (host / port to connect / listen to).

Demo: Introducing Properties

Scaling

Define the desired instances per job and BOSH will oblige.

Demo: Adding Instances

Rolling updates

Canary based deployments.

Tunable timeouts on expected update times.

Supports OS base image updates.

Supports rollback as separate deploy*

*if release version is backwards compatible (may require roll forward)

Demo: Rolling update

Infrastructures Supported

vSphere

vCloud

OpenStack

AWS

Experimental

CloudStack

Warden (LXC)

Demo: Taking it to a new Infrastructure

Questions?

Thank You

Jeffrey Peckham

[email protected]

twitter: abic github: abic

https://github.com/abic/elasticsearch-boshrelease

http://docs.cloudfoundry.com

https://githb.com/cloudfoundry/bosh

https://groups.google.com/a/cloudfoundry.org/d/forum/bosh-users

http://www.thisweekincf.com