chicago microservices meetup presentation 2017-03-22

27
NVISIA ® 2017 1 CONTAINERS AND MICROSERVICES FROM THE LABS TO ENTERPRISE USING DOCKER ENTERPRISE EDITION 17.03

Upload: nvisia

Post on 05-Apr-2017

217 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Chicago Microservices Meetup Presentation 2017-03-22

1 NVISIA® 2017

CONTAINERS AND MICROSERVICES

FROM THE LABS TO ENTERPRISE

USING DOCKER ENTERPRISE EDITION 17.03

Page 2: Chicago Microservices Meetup Presentation 2017-03-22

2

WELCOME

NVISIA® 2016

Courtney FaulknerTechnical Director - NVISIA

Software architect with strong DevOps

experience. Commercial experience in deploying microservices with Docker, Kubernetes, Mesos and

most recently Docker EE Standard.

Mark PanthoferVP - NVISIA Technology Centers

Applying leading-edge software technologies to the

development of core business systems. Mark is responsible for

NTC partnerships, including Docker.

Docker® Accredited ConsultantDocker® Accredited Trainer

Page 3: Chicago Microservices Meetup Presentation 2017-03-22

3

TOPICS BUILDING AND DEPLOYING MICROSERVICES

NVISIA® 2016

Microservices and Containers

Moving containers and microservices from the labs to production

Build, test and deploy a simple layered microservice with a Docker Stack

Page 4: Chicago Microservices Meetup Presentation 2017-03-22

4

POWERFUL COMBINATION MICROSERVICES AND CONTAINERS

NVISIA® 2016

Containers Microservices

Independently deployable, portable, lightweight microservices Ephemeral containers are perfect for stateless microservices

Lift, shift and carve up monolithic applications

Page 5: Chicago Microservices Meetup Presentation 2017-03-22

5

ADOPTION MICROSERVICES AND CONTAINERS

NVISIA® 2017

Indeed.comjob trends NVISIA® 2017

Page 6: Chicago Microservices Meetup Presentation 2017-03-22

6

GROWTH DRIVERS CONTAINERS

NVISIA® 2017

Page 7: Chicago Microservices Meetup Presentation 2017-03-22

7

THE NUMBERS CONTAINERS

NVISIA® 2017

Containers in the

Enterprise

Source: Gartner, Emerging Technology Analysis: Containers in the Enterprise ,Michael Warrilow, Matthew Cheung  (September 2016)

Page 8: Chicago Microservices Meetup Presentation 2017-03-22

8

A FAST-MOVING ECOSPHERE CONTAINERS AND MICROSERVICES

NVISIA® 2017

Page 9: Chicago Microservices Meetup Presentation 2017-03-22

9

DOCKER GAINING TRACTION WITH HIRING MANAGERS

NVISIA® 2017

Indeed.comjob trends

Page 10: Chicago Microservices Meetup Presentation 2017-03-22

10

DOCKER ENTERPRISE SUPPORT RELEASE CADENCE

NVISIA® 2017

Page 11: Chicago Microservices Meetup Presentation 2017-03-22

11

DOCKER EE 17.03

NVISIA® 2017

Page 12: Chicago Microservices Meetup Presentation 2017-03-22

DEVELOPERS IT OPERATIONS

BUILDDevelopment Environments

SHIPSecure Content & Collaboration

RUNDeploy, Manage, Scale

Docker Trusted RegistryDocker Content Trust

Universal Control PlaneDocker for MacDocker for Windows

NVISIA® 2017

DOCKER DATACENTER BUILD, SHIP AND RUN

Page 13: Chicago Microservices Meetup Presentation 2017-03-22

UCP Manager UCP ManagerUCP Manager

Internal distributed store

DTR Replica Worker

Raft consensus group

Image Registry

BYO TCP Load Balancer

UCP Worker UCP WorkerUCP WorkerUCP Worker

push / pull

Admin / UserDeploy / manage

LDAP/AD

Monitoring

Logging

External CA

Image Storage

DTR Replica Worker

DTR Replica Worker

DOCKER DATACENTER REFERENCE ARCHITECTURE

NVISIA® 2017

Page 14: Chicago Microservices Meetup Presentation 2017-03-22

UCP Manager

UCP WorkerUCP Worker

push / pull/ sign

Developers

manage

DOCKER DATACENTER SIMPLE ARCHITECTURE (NOT FOR PROD)

DevOps

DTR

pull dev images

Image Registry

push / pull/ sign

deploy/update

Container Cluster Manager

Clone, branch push

NVISIA® 2017

Page 15: Chicago Microservices Meetup Presentation 2017-03-22

15

TECH USED TO BUILD & DEPLOY CONTAINERIZED MICROSERVICES

NVISIA® 2017

• Docker – is an integrated, easy-to-deploy environment for building, assembling, and shipping applications inside containers. Container is a piece of software that contains everything needed to run application: code, runtime, system tools, system libraries.

• Docker Datacenter (UCP & DTR) – Docker Datacenter (DDC) is a container management and deployment services platform; a tool designed to work as an integrated, end-to-end platform for agile application development and management at any scale. Includes Docker Swarm and HRM.

• Jenkins – Jenkins is an open source CI tool written in Java. It is a server-based system running in a servlet container such as Docker.

• GitLab – Git is a version control system to track changes among multiple developers. GitLab is web based Git repository manager with open source licensing.

• Nginx – nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server

• Spring Boot – Spring is an application framework for Java Platform. Spring Boot is tool set that allows you to auto configure the applications that run on spring framework.

• Angular2 w/Node js – is a JavaScript based front end web application framework. • Gradle – is open source automated build tool built using Groovy based domain specific language instead of XML.

Page 16: Chicago Microservices Meetup Presentation 2017-03-22

16

LET’S BUILD, TEST AND DEPLOYMICROSERVICES WITH DOCKER EE

NVISIA® 2017

Page 17: Chicago Microservices Meetup Presentation 2017-03-22

17

CI PIPELINE SIMPLE SAMPLE – HELLO SERVICE

NVISIA® Confidential 2017

NTCDEV

Local filesystem

VS Code

• Dev Certs• Build tools• Git

Dev MachineTest VPC

NGINX• Prod Base for Nginx Web Page

http://localhost:8080/ntc-workspace/hello/html/index.html

EC2

EC2

EC2

swarm

Hello/html/index.htmlHTTP RM

DTR

UCP

http://hello-developer13.ucp.ntc.nvisia.io/

Page 18: Chicago Microservices Meetup Presentation 2017-03-22

18

CI PIPELINE SIMPLE SAMPLE

NVISIA® Confidential 2017

NTCDEV

Local filesystem

VS Code• Build tools• Git

Dev Machine Test VPCGitLab

UCP - DTR – Swarm - HRM

Jenkins

DTR

UCP

HTTP RM

Nginx• Local webtest

1 – Pull and Launch dev and local test images 2,3 – Pull source code from SCM to shared volume4 – Modify code5 – Test changes in local container6 – Check in update source7 – Web hook kicks off build - verify build job8 – Image pushed to DTR - verify Image9, 10 – Test container fires up as Swarm Service - UCP 11 – Verify test service

Page 19: Chicago Microservices Meetup Presentation 2017-03-22

19

KEY CONCEPT MICROSERVICE MULTI-BRANCH SUPPORT

Master Branch (Restricted)

Feature 1 Branch

Feature 2 Branch

Check in, build and test releaseCheck in, build and test release

Check in, build and test release

SUPPORT FOR MICROSERVICE DEPLOYMENTS

Merge (request)Branch

NVISIA® 2017

Page 20: Chicago Microservices Meetup Presentation 2017-03-22

20

KEY CONCEPT MICROSERVICE MULTI-BRANCH SUPPORT

NVISIA® 2017

Demo- Local Dev- Local Test- Push- Build- Deploy Service- Test Service

Page 21: Chicago Microservices Meetup Presentation 2017-03-22

21

MORE INTERESTING ”MICROSERVICES” AND CONTAINERS

NVISIA® 2016

Angular App Service

REST APIService

DATAServiceWeb

User

Page 22: Chicago Microservices Meetup Presentation 2017-03-22

22

CI PIPELINE MICROSERVICE DEVELOPMENT  

NVISIA® 2017

NTCDEV

Local filesystem

VS Code• Build tools• Git

Dev Machine Test VPCGitLab

UCP - DTR – Swarm - HRM

Jenkins

DTR

UCP

HTTP RM

GRADLE• Fast local

boot runner

NODE.JS• Angular CLI

Java• Java jar file deploy

:4200

Data:8091Rest:8081

Data:8092Rest:8082

https://app-

branch.ucp.ntc.nvisia.io

https://localhost:xxxx

Page 23: Chicago Microservices Meetup Presentation 2017-03-22

UCP Manager

UCP Worker 2UCP Worker 1

DOCKER DATACENTER USING AN OVERLAY NETWORK FOR SERVICE ISOLATION

DTR

Image Registry

Container Cluster Manager

Data Service

REST API Service

Overlay Network

Ingress/HRM Network

AngularApp

HRML7 Mesh

DNS

*.ucp

.ntc

.nvis

ia.io

NVISIA® 2017

dtr.ucp.ntc.nvisia.io

Isolated

Page 24: Chicago Microservices Meetup Presentation 2017-03-22

STACK DEPLOYMENT YAML V3 IN UCP

PROD CLUSTER

DTR

UCP

HTTP RM

UCP - DTR – Swarm - HRM

NVISIA® 2017

Page 25: Chicago Microservices Meetup Presentation 2017-03-22

STACK DEPLOYMENT DEPLOY, OPERATE AND SCALE

PROD CLUSTER

DTR

UCP

HTTP RM

UCP - DTR – Swarm - HRM

NVISIA® 2017

Page 26: Chicago Microservices Meetup Presentation 2017-03-22

WRAP UP RESOURCES

success.docker.comDocker EE Customer PortalSharing best practices using Docker KnowledgebaseReference Architectures

BOOKRecipes for

complete, scalable microservice

related solutions. Available on Amazon

NVISIA® 2017

NVISIALunch and LearnExecutive BriefingsPre-launch ReviewsProof of Concept (10– Day)Docker Certified Training Team Bootcamps – Microservices and Docker