/
c ontinuous c ontinuous

c ontinuous - PowerPoint Presentation

jane-oiler
jane-oiler . @jane-oiler
Follow
367 views
Uploaded On 2016-03-26

c ontinuous - PPT Presentation

d elivery Webinar Series February 18 2015 Speaker Introduction wwwsynerzipcom 2 Rohit Ghatol 3 Director of Engineering Synerzip Technology Evangelist Contact Details Twitter ID: 269945

docker synerzip app www synerzip docker www app image dev run case sprint swarm container node micro machine continuous

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "c ontinuous" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

c

ontinuous

d

elivery

Webinar Series – February 18, 2015 Slide2

Speaker Introduction

www.synerzip.com

2Slide3

Rohit Ghatol

3

Director of Engineering @ SynerzipTechnology EvangelistContact DetailsTwitter: @rohitghatolLinkedin: www.linkedin.com/in/rohitghatolHomePage

: http://rohitghatol.com

www.synerzip.comSlide4

DOCKER INTRODUCTION

4

www.synerzip.comSlide5

Docker

As a Technology –

Light Weight Container Technology for VirtualizationFastest Growing Technology (2 Years)First Release March 20130.9 Release in March 2014Colossal Adoption Rate18,876 Star on Github5www.synerzip.comSlide6

Docker

As a Company -

Incubated @ DotCloud (PAAS Company)Changed to Docker Oct 2013Privately Held Company $55 Million in 2 Rounds from 6 InvestorsSold DotCloud to CloudControl Aug 20146www.synerzip.comSlide7

WHO USES DOCKER?

7

www.synerzip.comSlide8

Who uses Docker?

Companies using Docker

8

And many more…

www.synerzip.comSlide9

Who uses Docker?

Docker PAAS Providers

9

And many more…

www.synerzip.comSlide10

Who uses Docker?

10

As an Infrastructure Tool along side

www.synerzip.comSlide11

Continuous Delivery

www.synerzip.com

11Slide12

Continuous Delivery

12

www.synerzip.comSlide13

The Components

13

1.5

HostEnvironment

2.1

App

c

onfig

DB

www.synerzip.comSlide14

Continuous Delivery

14

App

config

DB

1.0

Env

1.2

1.3

Env

2.3

1.5

Env

2.1

App

DB

App

DB

config

config

www.synerzip.comSlide15

The Components

15

Jenkins, Bamboo, etc1.5

Host

Environment

2.1

App

c

onfig

DB

Vagrant, Puppet, Chef etc.

Virtual Machines,

Instructions,

Commands,

Etc.

www.synerzip.comSlide16

CONTINUOUS DELIVERY

THE NEXT STEP…

16www.synerzip.comSlide17

Containers

17

1.5

Env

2.1

App

config

DB

www.synerzip.comSlide18

LANDSCAPE

How companies are deploying SAAS today?

18www.synerzip.comSlide19

Landscape

19

Dev Box

Test

Servers

CI

Staging Area

Production

Area

QA Box

Dev

QA

Ops

DevOps

Tools

-

Chef, Puppet, Anisble, SaltStack,

Vagrant, VirtualBox, VMWare

CIT Tools

Jenkins,Bamboo,Travis

, etc

IAAS/PAAS

– AWS, Azure, Google Cloud, Digital

Ocean,Heroku

etc

www.synerzip.comSlide20

DOCKER 101

20

www.synerzip.comSlide21

What is Docker?

Docker provides Docker Daemon to run light weight containers on Linux.

Applications: Are dockerized andRun on Docker Containersfrom laptops to production servers on cloudTheir images are shared on Docker HubApps can be linked (node -> mongo)21www.synerzip.comSlide22

What is a Container?

22

Virtual MachineContainerUsing namespace, cgroups, apparmour, etc. www.synerzip.comSlide23

What is Docker?

23

DockerClient

Docker

Daemon

Public

Repo

Private

Repo

Docker

File

DSL

www.synerzip.comSlide24

Docker File System

24

www.synerzip.comSlide25

Dockerfile

FROM dockerfile/node

 Base ImageRUN apt-get update –qq  InstructionsRUN mkdir /my/app  while building imageADD . /my/appCMD [“node”,”web”] What Command to run25

www.synerzip.comSlide26

Dockerfile

//Build an Image

$> docker build –t “rohitghatol/node” .//Run an Image$>docker run –d –p 80:3000 rohitghatol/node //Push to Docker Hub$>docker push rohitghatol/node //developer$>docker pull rohitghatol/node //operations26www.synerzip.comSlide27

DOCKER USE CASES

27

www.synerzip.comSlide28

CONTINUOUS DELIVERY

28

www.synerzip.comSlide29

Continuous Delivery

29

Continuous Delivery

Operations

Dev

CI

QA

Staging

Prod

High

Availability

Redundancy

SLAs

Area where Docker shines

Kubernetes etc

www.synerzip.comSlide30

Continuous Delivery Use case

30

Dev Box

Test

Servers

CIT

Staging Area

Production

Area

QA Box

Dev

QA

Ops

SUT

Test

Server

V 2.1

V 2.2

V 2.3

Continuous delivery

Rollbacks

www.synerzip.comSlide31

Developer Scenario

31

Dev Box

Dev

Rails

Image

Docker

Hub

Web

(RoR)

Dev

1. Pull

2. Run

3. Customize

4

. Push as

Base Image

Team

5

. Pull

www.synerzip.comSlide32

Developer Scenario

32

Dev Box

Dev

Host Machine

(Developer codes here)

Docker

Web

(RoR)

DB

(MySQL)

~/app/

src

./

src

IDE, Browsers, etc =>

Docker

Hub

Sync

Folder

Code runs here

www.synerzip.comSlide33

CI Scenarios

33

CodePushTest Code

Test Feature

Build App Docker Image

Run

Docker Container with App Image

Publish

App Docker Image

Numerous combinations…

Pull Code

www.synerzip.comSlide34

CI Scenarios – Option 1

34

CodePushPull Code

Test Code

Publish

App Docker Image

Build App

Docker Image

www.synerzip.comSlide35

CI Scenario

35

GithubDocker

Web

(RoR)

DB

(MySQL)

Docker

Hub

Dev Box

Dev

1. Push Code

2. Listen

3. Get Base Image

5

. Run Tests

4

. Pull Code

6

. Build App Image

7

. Push App Image

www.synerzip.com

CI Server

(

Drone, Shippable

, Circle CI,

CodeShip

, Travis CI

, Jenkins

etc)Slide36

CI Scenarios – Option 2

36

CodePushTest Feature

Build App Docker Image

Run

Docker Container with App Image

Publish

App Docker Image

Mark Good App Image

www.synerzip.comSlide37

CI Scenario

37

GithubCI Server

(Drone.io, inhouseCI

, etc)

Docker

Web

(RoR)

DB

(MySQL)

Docker

Hub

Dev Box

Dev

1. Push Code

3

. Listen

2

. Create App Docker Image

5

. Run Tests

4

. Pull Run App Image

6

. Accept/Reject

Image

www.synerzip.comSlide38

Staging/Prod Scenario

38

Host MachineDocker Container

Web

(RoR)

DB

(MySQL)

Docker

Hub

1. Trigger Event

3. Pull App Image

4

. Run Image

2. Deploy

Docker Container

(AWS, Azure,

Digital Ocean, etc.)

Host Machine

www.synerzip.comSlide39

CLOUD PORTABILITY

39

www.synerzip.comSlide40

Docker

Hub

Cloud Portability Use case40

Amazon AWS

Google Cloud

Microsoft

Azure

Digital Ocean

Deployment

Tool

Docker,

Swarm,

Drone.io

,

Flocker

, Tutum, etc

SAAS

Company

Github

www.synerzip.comSlide41

MEAN STACK

41

www.synerzip.comSlide42

MeanStack Use case

42

Open-Source Full-Stack Solution for MEAN Applicationswww.synerzip.comSlide43

MeanStack Use case

Mean.js

providesCode generator to generate Mean AppMean.js apps typically have Node Js ServerMongo DB databaseProvides Dockerfile and fig.yml to run the app in Docker ContainersOne Docker container for Node Js ServerOne Docker container for Mongo DB Database43www.synerzip.comSlide44

MeanStack Use case

44

www.synerzip.comSlide45

MeanStack Use case

45

Web

DB

Port

3000

Port

27017Docker Containers

fig.yml

www.synerzip.comSlide46

MeanStack Use case

46

dockerfile/nodejs Image

grunt-cli

bower

package.json

…..

Dockerfile

www.synerzip.comSlide47

MICRO SERVICES

47

www.synerzip.comSlide48

Micro Services Use case

48

Micro ServiceRecomm Engine

Node

Mongo

Solr

Recomm Engine

Recomm Engine

Movie Listing

Play

PSql

Movie Listing

Movie Listing

Movie Listing

Profile

RoR

My

SQL

Redis

Profile

Preference

RoR

Redis

Preference

www.synerzip.comSlide49

………

………

Micro Services Use case49Recomm Engine

Movie Listing

Profile

Preference

Sprint

1

Sprint

2

Sprint

7

Sprint

1

Sprint

2

Sprint

1

Sprint

2

Sprint

3

Sprint

1

Sprint

2

Sprint

3

………

………

Deploy

www.synerzip.comSlide50

Micro Services Use case

50

Recomm EngineNode

Mongo

Solr

Recomm Engine

Recomm Engine

Docker Container

Gateway/Rev Proxy

www.synerzip.comSlide51

Micro Services Use case

Micro services are hard to run

Needs strong DevOps processDocker helps byDefining container/micro service as unitShipping one micro service as one containerMore containers = more scaleBy improving Dev – Operations relationships51www.synerzip.comSlide52

Micro Services Use case

What else is needed?

SchedulingHigh AvailabilityService DiscoveryEtc.52Giant SwarmBy Invitewww.synerzip.comSlide53

FUTURE OF DOCKER

53

www.synerzip.comSlide54

NEW DOCKER PRODUCTS

54

www.synerzip.comSlide55

New Docker Products

Docker Machine

Docker SwarmDocker Compose55www.synerzip.comSlide56

Docker Machine

Machine makes it really easy to create Docker hosts on local hypervisors and cloud providers.

It creates servers, installs Docker on them, then configures the Docker client to talk to them.56www.synerzip.comSlide57

Docker Machine

$>docker

-machine create -d virtualbox dev$>docker-machine create -d digitalocean --digitalocean-access-token=... staging57www.synerzip.comSlide58

Docker Swarm

Swarm is a simple tool which controls a cluster of Docker hosts and exposes it as a single "virtual" host.

Swarm uses the standard Docker API as its frontend, which means any tool which speaks Docker can control swarm transparently.58www.synerzip.comSlide59

Docker Swarm

# create a cluster

$ docker run --rm swarm create# Add Machine to clusterdocker run -d swarm join --addr=<node_ip:2375> token://<cluster_id>#Run Docker commands on swarmdocker -H tcp://<swarm_ip:swarm_port> run –d –P dockerfile/node59www.synerzip.comSlide60

Docker Compose

An orchestration

tool for DockerDefinesWhich Docker containers are to be runHow they are connectedWhat ports they exposeAll in single fileInitial design based on Fig.shCurrent status - limbo60www.synerzip.comSlide61

IAAS/PAAS ADOPTION

61

www.synerzip.comSlide62

IAAS/PAAS Adoption

Amazon ECS

Container serviceSupports tasks configurationGoogle CloudBased on Kubernetes Microsoft Azure62www.synerzip.comSlide63

Q & A?

63

www.synerzip.comSlide64

64

84

www.synerzip.com

Ashish Shanker

ashish.shanker@synerzip.com

469.374.0500

64

www.synerzip.comSlide65

Synerzip in a Nutshell

Software product development

partner for small/mid-sized technology companiesExclusive focus on small/mid-sized technology companies, typically venture-backed companies in growth phaseBy definition, all Synerzip work is the IP of its respective clientsDeep experience in full SDLC – design, dev, QA/testing, deploymentDedicated team of high caliber software professionals for each clientSeamlessly extends client’s local team, offering full transparencyStable teams with very low turn-overNOT just “staff augmentation”, but provide full mgmt supportActually reduces risk of development/deliveryExperienced team - uses appropriate level of engineering discipline

Practices Agile development – responsive, yet disciplinedReduces cost – dual-shore team, 50% cost advantage

Offers long term flexibility – allows (facilitates) taking offshore team captive – aka

“BOT”

option65www.synerzip.comSlide66

Our Clients

66

www.synerzip.comSlide67

Next Webinar

Life

Cycle of a User Story

Complimentary Webinar: Tuesday, March 17, 2015 @ noon CST

Presented by: Michael Hall, CEO and Founder of Three Beacons. Michael is a software practitioner and team leader, Certified Scrum Master, Certified Scrum Product Owner, and an early adopter of Agile methods since 2001. Three Beacons is a leading provider of agile training and consulting services. See

www.threebeacons.com

for a complete description of Agile training courses available.

67

www.synerzip.comSlide68

Ashish Shanker

ashish.shanker@synerzip.com

469.374.0500

Thanks!

@Synerzip_Agile

linkedin.com/company/synerzip

facebook.com/Synerzip

68

www.synerzip.com

Related Contents


Next Show more