Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

29
Microservices and Container Management with NGINX Plus and Mesosphere DC/OS April 20, 2016

Transcript of Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

Page 1: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

Microservices and Container Management with NGINX Plus and Mesosphere DC/OSApril 20, 2016

Page 2: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Christopher StetsonChief Architect,Professional Services NGINX

Ben HorowitzTechnical Architect,Professional Services NGINX

Page 3: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Agenda

• NGINX Microservices Reference Architecture• Mesosphere DC/OS

• Docker Image CI/CD• Developer UI• Robust Networking Options

• Warts & All• Conclusion

Page 4: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

NGINX Microservices

Reference Architecture

Page 5: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

NGINX = Microservices

Page 6: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Microservices Architecture• Docker containers• Polyglot services• 12-Factor App(-esque)

design

IMAGE TK – ANDY CREATING

Page 7: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Page 8: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Page 9: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Value of MSA

• Provide customers with a microservices blueprint

• Test out NGINX and NGINX Plus features for microservices

• Understand the microservices ecosystem

Page 10: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Page 11: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Mesosphere DC/OS

Page 12: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Docker Image CI/CD

Page 13: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Typical CI/CD• Developers submit code

to the Version Control System (VCS)

• Continuous integration (CI) server grabs code, builds, tests, and deploys

• Critical process for microservices

Page 14: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Bake vs. Fry• Bake: create a durable

artifact that is deployed throughout system

• Fry: build artifact as needed for each environment

• Docker images could be ultimate baked good

Page 15: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Docker Image CI/CD• Commit to VCS• CI/CD creates image and

deploys to repo• Tests are conducted

against image

Page 16: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

DC/OS Repo Support• Most systems only

support public repo (DockerHub)

• Include repo credentials in app definition JSON file

• forcePullImage to avoid local image caching

"container": { "type": "DOCKER", "docker": { "image": "docker.io/<docker-image>", "forcePullImage": true, "network": "BRIDGE", "portMappings": [ { "containerPort": 443, "hostPort": 0, "protocol": "tcp" } ]

} }, "uris": [ "https://s3.amazonaws.com/docker_credentials.gz" ]}

Page 17: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Robust UI/UX

Page 18: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Developer’s Swiss Army Knife

• Nice web UI• Solid CLI• Robust API

Page 19: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Beauty Is More than Skin-Deep• Overview of system• Monitoring of apps• Configuration and

management

Page 20: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Not Just A Pretty Face• The CLI is a critical piece

of software• How you manage and

deploy your apps• Monitoring features

Page 21: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

API to Do Even More• API provides all data and

capabilities of Marathon• Mesos also has an API

for more fundamental actions

• Fully scriptable system

Page 22: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Robust Networking

Options

Page 23: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

DC/OS Unopinionated

Page 24: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Proxy Model• Simple networking model• Good for flat APIs or

simple apps• Round-robin DNS

interservice connection

Page 25: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Router Mesh Model• NGINX Plus as the proxy • NGINX Plus running on

hosts and providing intraservice connectivity

• Intelligent load balancing with active health checks

Page 26: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Fabric Model• NGINX Plus running in

each container• DNS service discovery• Persistent SSL/TLS

connections• Health checks provide

circuit-breaker pattern

Page 27: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Warts & All

Page 28: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Not All Cookies and Cream• Cached Docker images• Confusing nomenclature• Useful features not

implemented in UI − for example, logging

Page 29: Microservices and Container Management with NGINX Plus and Mesosphere DC/OS

MORE INFORMATION AT NGINX.COM

Conclusion