Slides used to accompany a talk to introduce Microservices and two related technologies; Docker and Kubernetes. A large part of this talk is a live demonstration of Docker and Kubernetes features so the slides are just to support.
17. Martin Fowler
author, speaker, and loud-mouth on the design of enterprise software
I've heard people say the nice thing about SOA is
that it separates data from process, that it
combines data and process, that it uses web
standards, that it's independent of web standards,
that it's asynchronous, that it's synchronous, that
the synchronicity doesn't matter....
18. Adrian Cockcroft
• A service-oriented architecture composed of
loosely coupled elements that have bounded
contexts
19. Eric Evans
• Domain Driven Design.
• A microservice with correctly bounded context
is self-contained for the purposes of software
development.
• You can understand and update the
microservice’s code without knowing anything
about the internals of its peers
34. • A HOST runs a DOCKER SERVER (agent running
as a daemon)
• Accessed using a DOCKER CLIENT
• Tasks:
• Builds IMAGES
• Downloads IMAGES
• Starts CONTAINERS
• Stops CONTAINERS
41. • NAMESPACE
• Provides multiple virtual clusters backed by
the same physical cluster
• “default” by, well, default
Some Terminology
42. • POD
• Encapsulate containers and volumes
• Atomic unit of replication and placement
• A logical host
Some Terminology
43. • Volumes
• Local scratch directories
• Cloud block storage (GCE, AWS)
• Cluster storage
• Special – like Secrets, GIT repo
Some Terminology
44. • Secrets
• As per 12 factor App
• Injected as a volume into a POD
• Never touches disk
Some Terminology
45. • Labels and Selectors
• Labels are user defined key-value pairs than
can be attached to any API object
• These labels are query-able by SELECTORS
Some Terminology
46. • Replication Controllers
• Ensure n copies of a POD
• Will drive current state towards desired state
• If too few replicas, will create new ones
• If too many, will destroy some
• Used for scaling up, down and rolling
updates
Some Terminology
47. • Services
• Targets group of pods with label selectors
• Pods get their own IP, but they cannot be
relied upon to be stable over time
• Services provide a stable endpoint so that
ephemeral pods can be found and accessed.
Some Terminology