deploying services: automation with docker and ansible

20
Deploying Services: Automation with Docker and Ansible John Zaccone - Software Engineer http://www.ipponusa.com

Upload: john-zaccone

Post on 21-Jan-2018

802 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Deploying services: automation with docker and ansible

Deploying Services: Automation with Docker and Ansible

John Zaccone - Software Engineerhttp://www.ipponusa.com

Page 2: Deploying services: automation with docker and ansible

About Me

● Worked at Ippon for 1 year

● First project: Allianz Travel Insurance

● Joined the project during some big

architecture decisions

2

Page 3: Deploying services: automation with docker and ansible

Before

● .NET Application

3

Page 4: Deploying services: automation with docker and ansible

Architectural Decisions: Requirements

● Increase sales

○ modern UI and responsive design

● Move towards Java 8 / Spring services

● Active-Active

● Standardize on CMS Platform

4

Page 5: Deploying services: automation with docker and ansible

Architectural Decisions: Microservices

5

Page 6: Deploying services: automation with docker and ansible

After

6

Page 7: Deploying services: automation with docker and ansible

Architecture Benefits

● Flexible technology choices

● APIs, APIs, APIs

● Change/Deploy Independently

● Stateless for Scalability

7

Page 8: Deploying services: automation with docker and ansible

What Microservices Means to Us

Team Members: 4-5

Services: 4

Environments: 4

Running Application: 16+*Each new service adds at least 4

more running containers.

8

Page 9: Deploying services: automation with docker and ansible

Things that take up my time

● Deploying services

● Installing services on new environments

● Dealing with problems with differences

between environments

● Waiting for new VMs

9

Page 10: Deploying services: automation with docker and ansible

I Need More Time for Coffee Breaks

Automation- repeatable for all environments

Containerize - environmental dependencies

Isolation- run multiple apps on 1 VM

Spin up new environments quickly.

10

Page 11: Deploying services: automation with docker and ansible

Docker and Ansible!!!

11

Page 12: Deploying services: automation with docker and ansible

Docker and Ansible

Ansible

Non-environment specific

automation

Declarative

Easy for devs

12

Docker

Fast spin up

Isolated applications

Immutable infrastructure

“Works on my machine”

Docker Toolbox

Page 13: Deploying services: automation with docker and ansible

Architecture With Docker Containers

13

Page 14: Deploying services: automation with docker and ansible

Making the Most of Your Servers

14

Page 15: Deploying services: automation with docker and ansible

Decoupling Automation from Environments

15

Page 16: Deploying services: automation with docker and ansible

Decoupling Automation from Environments

16

Page 17: Deploying services: automation with docker and ansible

Demo Time

17

Page 18: Deploying services: automation with docker and ansible

Advanced Tips

● Build and push images with CI tools

● Link containers on the same host with --link

● Use a restart policy on your containers

● Stay on the latest docker version

● Use ELK for centralized logging

○ Alternative: “EFK” (Fluentd in lieu of Logstash)18

Page 19: Deploying services: automation with docker and ansible

We Do Training!

● Training Sessions

● Brown Bags

[email protected]

19

Page 20: Deploying services: automation with docker and ansible

Questions

[email protected]

@JohnZaccone

20