[Igor Dvoretskyi] The Cloud Convergence- OpenStack and Kubernetes
Presentation from GDG DevFest Ukraine 2015 - the biggest Google related event in the country. October 23-24, Lviv. Learn more at http://devfest.gdg.org.ua/
be called as the perfect solution for building clouds? • Murano as a special tool for application management in OpenStack • Containers and the benefits of application containerization • An awesome tool for managing container clusters - Kubernetes • Demo • Q&A
open-source cloud-computing software platform • OpenStack is a complex set of tools that provides possibility for anyone to build a ready-to-use cloud environment • OpenStack is the most popular open source cloud project in the world* *according to a survey of more than 550 respondents conducted by Linux.com and The New Stack
catalog - a single-point to publish different ready- to-use applications • The Murano Project introduces an application catalog to OpenStack, enabling application developers and cloud administrators to publish various cloud-ready applications in a browsable categorized catalog. • Murano ready-to-use applications are being published on Community App Catalog - http://apps.openstack.org • Murano provides possibility to to be abstract from underlying IaaS resources • Murano supports multiple OS options (Linux & Windows)
lightweight isolation technology that allows users to launch applications in an isolated environment on Linux • Containers usage is a totally different way of application management • Containers have the huge benefits, that should be the perfect reasons to prefer them over the rest technologies: ◦ Performance ◦ Repeatability ◦ Isolation ◦ Portability
case Containers are build for managing applications, not for the infrastructure VM management solution has capabilities for managing the infrastructure (network, compute, storage etc.) Guest OS support For production environments only Linux might be used natively Any common operating system Security and isolation Containers are using the shared kernel - that’s not a full isolation VMs are fully isolated, any kind of failure will not affect other VM Performance Containers do not incur performance overhead VMs incur performance overhead Application management Containers are managed as a code and do need specific management software (e.g. Kubernetes) VMs are managed as the fully- loaded machines
developed as the “Borg” container orchestration tool by Google, Kubernetes has been open sourced and is available for everyone and runs everywhere • Kubernetes is a container orchestrator that runs Docker containers and supports various underlying environments • Kubernetes consists of the following core components: ◦ Pod - a colocated group of applications, running the same context (e.g. - Webserver) ◦ Controller - a loop that drives current state towards expected state (e.g. - replication controller) ◦ Service - a set of running pods that run together (e.g. - load-balanced backends) ◦ Layers - identifying metadata attached to their objects (dev vs prod) ◦ and the Docker containers themselves