chicago microservices meetup presentation 2017-03-22

Post on 05-Apr-2017

217 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 NVISIA® 2017

CONTAINERS AND MICROSERVICES

FROM THE LABS TO ENTERPRISE

USING DOCKER ENTERPRISE EDITION 17.03

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

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

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

5

ADOPTION MICROSERVICES AND CONTAINERS

NVISIA® 2017

Indeed.comjob trends NVISIA® 2017

6

GROWTH DRIVERS CONTAINERS

NVISIA® 2017

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)

8

A FAST-MOVING ECOSPHERE CONTAINERS AND MICROSERVICES

NVISIA® 2017

9

DOCKER GAINING TRACTION WITH HIRING MANAGERS

NVISIA® 2017

Indeed.comjob trends

10

DOCKER ENTERPRISE SUPPORT RELEASE CADENCE

NVISIA® 2017

11

DOCKER EE 17.03

NVISIA® 2017

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

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

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

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.

16

LET’S BUILD, TEST AND DEPLOYMICROSERVICES WITH DOCKER EE

NVISIA® 2017

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/

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

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

20

KEY CONCEPT MICROSERVICE MULTI-BRANCH SUPPORT

NVISIA® 2017

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

21

MORE INTERESTING ”MICROSERVICES” AND CONTAINERS

NVISIA® 2016

Angular App Service

REST APIService

DATAServiceWeb

User

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

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

STACK DEPLOYMENT YAML V3 IN UCP

PROD CLUSTER

DTR

UCP

HTTP RM

UCP - DTR – Swarm - HRM

NVISIA® 2017

STACK DEPLOYMENT DEPLOY, OPERATE AND SCALE

PROD CLUSTER

DTR

UCP

HTTP RM

UCP - DTR – Swarm - HRM

NVISIA® 2017

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

27

THANK YOU!cfaulkner@nvisia.com

mpanthofer@nvisia.com

www.nvisia.io

NVISIA® 2017

top related