Microservices Architectures with Docker Swarm, etcd, Kuryr and Neutron
-
Upload
fawad-khaliq -
Category
Software
-
view
147 -
download
1
Transcript of Microservices Architectures with Docker Swarm, etcd, Kuryr and Neutron
Hands-on Workshop | OpenStack Summit, Barcelona
Learn About Microservices Architectures with Docker Swarm, Etcd, Kuryr, Neutron
Copyright © PLUMgrid, Inc. 2011-2016
IntroductionSpeaker
2
Senior Software Engineer, PLUMgrid
KhaliqFawad
@fawadkhaliq
Copyright © PLUMgrid, Inc. 2011-2016
• Brief Introduction to Microservices • Docker, Docker Swarm • etcd • Kuryr, Neutron (with PLUMgrid plugin) • Service Discovery/Service Registration • Hands-on workshop • Questions
Agenda
3
Copyright © PLUMgrid, Inc. 2011-2016
Introduction to MicroservicesEnter the world of containers!
4
ContainersVirtual Machines
Start/Stop time
Workload Density
Seconds to minutes Milliseconds
1x 10x-100x
Copyright © PLUMgrid, Inc. 2011-2016
Introduction to MicroservicesMonolithic services vs Microservices
5
• Monolithic • All in one application with single big unified code base • Comprises of multiple small components packaged as one • Entire application grows overtime with each component growth • Harder to maintain overtime, especially upgrades and troubleshooting
• Microservices • Divide and conquer • Move each component into a separate service entity • Connect via APIs • Code base is easier to manage • Deploying is easier and upgrade downtimes are reduced • Easier to scale/replace a component
Copyright © PLUMgrid, Inc. 2011-2016
• Distributed K/V store based on directories
• Service definition queried using JSON-based HTTP APIs
• Clients handle failure or load balancing themselves
• Allows watch on changes
etcd
7
Copyright © PLUMgrid, Inc. 2011-2016
OpenStack Networks PLUMgrid Virtual Domains
From OpenStack Networks to PLUMgrid Virtual Domains
11
Copyright © PLUMgrid, Inc. 2011-2016
Virtual DomainsYour Private Virtual Data Center
12
• Tenant Virtual Domains • Isolation & segmentation of workloads • Self-service provision of all functions
• Service Virtual Domains • Owned by Cloud Operator • Used to apply common services or
security policies • Hosts external connectivity
• Virtual Domain Chaining • Decouple changes from physical
infrastructure • Fully distributed within IO Visor layer
DNS
Service Virtual Domain
Tenant Virtual Domains
Copyright © PLUMgrid, Inc. 2011-2016
Virtual Network Functions
13
Distributed Virtual Network Functions Description
Connector • Connectivity: External, Port Bundle (“Multi-gateway LAG”), Appliance and Inter Virtual Domain
Bridge • Distributed Layer 2 network function • Connects VMs on same IP subnet inside Virtual Domain • Include Private VLAN functionality
Router• Distributed Layer 3 network function • Connects VMs from different subnets inside a Virtual Domain • Includes Dynamic Routing Protocols (RIP, OSPF, BGP)
DHCP • Distributed DHCP function for dynamic IP Address allocation • Associated on per Bridge basis
NAT • Distributed Network Address Translation function • Supports Inbound / Outbound, Many to One, One to One NAT
Security Policies • Distributed Layer 4 Security network function • Substitute for Layer 4 ACLs / Firewalls
DNS • Distributed Domain Name Service
Copyright © PLUMgrid, Inc. 2011-2016
Content Overview
17
Docker, Kuryr, Neutron
Microservices using Docker
Compose
Service Registration and Service Discovery
Copyright © PLUMgrid, Inc. 2011-2016
Content Overview
18
Hybrid VM and Container
Application
Micro segmentation for Containers
and VMs
Extended Exercises