Docker containers in a clustered environment with multiple Docker hosts • Provides container grouping, load balancing, auto-healing, scaling features • Project was started by Google • Contributors = Google, CoreOS, Redhat, Mesosphere, Microsoft, HP, IBM, VMWare, Pivotal, SaltStack, etc • Can run on anywhere: Public Cloud, Private Cloud, baremetal, v.v...
applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications. ” https://github.com/kubernetes/kubernetes/tree/master/docs/design
of multiple containers, such as elastic, distributed micro-services. It is also designed to facilitate migration of non-containerized application stacks to Kubernetes. …[Kubernetes] provides ways for containers to find and communicate with each other in relatively familiar ways. ” https://github.com/kubernetes/kubernetes/tree/master/docs/design
• Labels - Labels for identifying pods • Replication Controller - Manages replication of pods • Service - A logical set of pods and way to expose them • Namespaces - Way to seperate environments, projects, applications, … • Service Discovery - By cluster-DNS
resiliency [ri-zil-yuh ns, -zil-ee-uh ns] noun 1. the power or ability to return to the original form, position, etc., after being bent, compressed, or stretched: elasticity. 2. ability to recover readily from illness, depression, adversity, or the like; buoyancy. http://www.dictionary.com/browse/resilience
VCCloud (similar to Mandrill, Sendgrid, v.v...) • quite complex, will has more than 10 microservices when fully developed • CI/CD with auto test/build/push docker images to private registry
production! Co-locating helper processes Naming and discovery Mounting storage systems Load balancing Distributing secrets Rolling updates Application health-checking Resource monitoring Replicating application instances Log access and ingestion Horizontal auto-scaling Support for introspection and debugging