agenda - sandro cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfagenda 1....

23

Upload: others

Post on 22-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and
Page 2: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Agenda

1. Introduction

2. Microservices Architecture

3. CI Workflow

4. Benefits of Docker and Compose in CI

5. Future Work

Page 3: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and
Page 4: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

About me

I I work as Platform Tech Lead at Oxford University Press(OUP)

I I deal with system architecture and DevOps (CI, Docker,AWS, deployment)

I I started using Docker in November 2014 for developinglanguage resources at OUP

Page 5: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

About My Employer

I Oxford University Press (OUP) is a world-renowneddictionary publisher

I OUP launched the Oxford Global Languages (OGL) initiativeto digitize under-represented languages

I In August 2015 OUP launched two African languages websitesfor Zulu and Northern Sotho

Page 6: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Zulu and Nothern Sotho Language Websitespowered by Docker

Page 7: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and
Page 8: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

System Architecture Challenges

I We needed to migrate to more powerful servers andeventually to the cloud

I Some services were only needed for the developmentenvironment

I We wanted to put system configuration under versioncontrol and replicate it easily on new machines

I We wanted to automate building processes

Page 9: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Microservices Architecturedev/staging environments

Page 10: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Microservices Architectureproduction environment

Page 11: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and
Page 12: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Continuous Integration Workflow

Page 13: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Walkthrough

I will show you:

I Jenkins jobs to run:I unit testsI Docker image build and container restart

I Shell scripts invoked by Jenkins

I Docker Compose file

I Simulation ofI successful buildI unsuccessful build

Page 14: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and
Page 15: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and
Page 16: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Benefits of Docker

I Docker isolates components and allows their organic growth

I Docker facilitates the replication of dev/staging/productionenvironments

I The system architecture is under version control

I Docker facilitates blue/green deployment

Page 17: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Benefits of ComposeI Compose facilitates the orchestration of linked containers

I Compose allows to have a single script for all theenvironments

I Developers can start/stop/rebuild containers without anydeep knowledge of Docker

Page 18: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and
Page 19: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Future Work

I Deploy Docker containers in master/slave architecture

I Experiment with Amazon EC2 Container Service (ECS)

I Automate, Automate, Automate!

Page 20: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and
Page 21: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Summary

I hope I managed to show you:

I How we use Jenkins to build and start applications runningon Docker

I How we orchestrate containers with Docker Compose insidedifferent environments

I How we automated our CI workflow

Page 22: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and

Acknowledgements

Artemis Parvizi

Meritxell Gonzalez

Kal Ahmed

Matt Kohl

Page 23: Agenda - Sandro Cirullisandrocirulli.net/site/wp-content/uploads/2015/11/dockercon2015.pdfAgenda 1. Introduction 2. Microservices Architecture 3. CI Work ow 4. Bene ts of Docker and