DevOps Pro Moscow 2018

Константин Семёнов

Pivotal, Ирландия

Биография

Константин работает главным инженером-программистом в Pivotal. На протяжении 2017-го года, вместе со своими коллегами из Google, VMware и Swisscom, занимался разработкой CFCR (Cloud Foundry Container Runtime). CFCR – это программный проект с открытым кодом для отказоустойчивой, воспроизводимой и высоко-доступной системы развёртывания и поддержки кластеров Kubernetes. Сейчас Константин участвует в проекте по управлению облачной платформой, отвечающей за работоспособность Pivotal Tracker. Главной целью проекта является создание инструментария и выявление рекомендованных практик для операторов облачных платформ. До этого, на протяжении 20 лет, Константин руководил и участвовал в разработке ПО широкого спектра: от настольных СУБД, телекоммуникационных серверов и транзакционных банковских систем, до мобильных приложений и генераторов 3D моделей.

Доклад №1

Автоматизация кросс-платформенного развёртывания кластеров Kubernet

Число компаний, использующих кластеры Kubernetes (далее — k8s) для развёртывания своих приложений, неуклонно растёт с каждым годом. Многие из них рассматривают различные способы для запуска самих кластеров одновременно на нескольких платформах, например, GCP и AWS, или даже используя сочетание публичных облачных платформ с собственными ЦОД под управлением vSphere или OpenStack.

За последние несколько лет было предпринято несколько попыток создания решений для централизованного управления кластерами, развёрнутых на различных платформах. Самое современное решение, учитывающее многие недочёты предшественников, и использующее возможность задавать собственные k8s типы (Custom Resource Definitions) в кластере, называется Federation. В этом докладе будет рассматриваться 2-я версия решения, которая планируется к выпуску ориентировочно весной 2019г.

Использование кластеров k8s в нескольких регионах и/или дата-центрах выгодно как для конечных пользователей, так и для операторов. Пользователи получают доступ к отказоустойчивым ресурсам с минимальной задержкой. В то же время, операторы смогут с лёгкостью перераспределять нагрузку между кластерами, что позволит предотвратить привязанность к какой-либо платформе, а также предоставит возможность для улучшенной оптимизации расходов.

Существует большое количество решений для развёртывания и поддержки одного k8s кластера на одной облачной платформе. Однако, решений, позволяющих предсказуемо развёртывать и поддерживать множество кластеров на нескольких платформах существует немного.

В этом докладе описываются компоненты, необходимые для такого развёртывания, а также шаги, необходимые для его выполнения. В конце будет проведена демонстрация возможностей кроссворд-платформенного управления k8s кластерами. Весь инструментарий, описанный в докладе, опубликован в общем доступе с открытым исходным кодом.

Доклад №2

Передовые практики Pivotal для обеспечения и обслуживания облачных платформ

В Pivotal существует насколько команд, отвечающих за обеспечение облачных платформ. Часть команд отвечают за платформы, обеспечивающие работоспособность коммерческих сервисов. Другая часть команд отвечает за решения предоставляемые для клиентов в их собственных ЦОД. Инженеры во всех этих командах – это разработчики, которые 50% времени занимаются разработкой приложений, связанных с поддержкой и обеспечением работоспособности облачных платформ. С течением времени, каждая команда развивала и улучшала процессы и принципы обеспечения платформ, с целью повышения стабильности и возможностей масштабирования всех аспектов этого процесса в целом, в то же время сохраняя бесперебойную работоспособность платформы, одновременно поддерживая актуальность всего задействованного программного обеспечения.

Для задания направления развития команд, мы установили комплекс базовых принципов. Часть этих принципов были позаимствованы в Google SRE. Остальные принципы были продиктованы приверженностью Pivotal к современным практикам, таким как Бережливое производство (lean production) и экстремальное программирование (XP). В этом докладе обобщается многолетний опыт компании, и описываются как неудачный опыт, так и идеи, которые успешно используются по сей день для масштабных коммерческих проектов.