От мейнфреймов до ПК, до смартфонов, до облаков и так далее. Генеральный директор Robusta.dev Натан Йеллен говорит о Kubernetes и будущем облачных вычислений. Узнайте, почему Kubernetes — это больше, чем просто платформа для оркестрации контейнеров, это облачный стандарт следующего полувека.
Автор: Натан Йеллин, Генеральный директор Robusta.dev
Вольный перевод. Машинный перевод здесь.
Оригинал текста (на английском).
Преимущества Kubernetes как оркестратора контейнеров широко известны с момента его появления в 2014 году.
Таких преимуществ много
-
Kubernetes является декларативным и позволяет вам сосредоточиться на том, что должно произойти, а не на том, как это происходит.
-
Kubernetes позволяет разделить задачи, предоставляя командам разработчиков высокоуровневый API, над которым они работают (например, файлы yaml), не беспокоясь об операционных проблемах, таких как обслуживание контура управления.
-
Kubernetes имеет большую и быстрорастущую экосистему для техпроцессов поверх контейнеров в любой предметной области. Например, вы можете запускать рабочие процессы машинного обучения с помощью Kubeflow.
-
Kubernetes поддерживает гибкие методологии, такие как быстрая разработка, непрерывная интеграция и развертывание (CI/CD), а также рабочие откаты (rollbacks).
-
Kubernetes обеспечивает согласованность в средах разработки, тестирования и промышленной.
Я мог бы целыми днями говорить о преимуществах, которые Kubernetes предлагает как средним, так и малым предприятиям. Благодаря открытому исходному коду Kubernetes Google предоставил каждому разработчику в мире возможность использовать первоклассные инструменты. Это продолжает облачную революцию, начатую Amazon, когда они запустили AWS, на этот раз улучшая программную часть, а не аппаратную.
Однако давайте посмотрим на Kubernetes с совершенно другой точки зрения.
Kubernetes в качестве облачной операционной системы?
Kubernetes — это оркестратор контейнеров, но что такое оркестратор контейнеров? Чтобы ответить на этот вопрос, давайте вернемся в прошлое.
Представьте, что сейчас конец 70-х и вы только что создали первую в мире операционную систему для персональных компьютеров. Как вы это продаете?
Возможно, вы называете это «организатором процессов», потому что операционная система позволяет запускать несколько процессов одновременно и организует их таким образом, чтобы они не мешали друг другу. Нет, не нравится имя? Что ж, термин «операционная система» был выбран и с тех пор прижился.
Дело в том, что операционная система управляет несколькими процессами, работающими на одном компьютере. Она позволяет запускать одно и то же приложение на оборудовании разных производителей. Она абстрагирует аппаратное обеспечение от разработчика приложения.
Kubernetes делает все это и многое другое, но теперь машина — это целый центр обработки данных в облаке, а оборудование — это облачный провайдер, такой как AWS или GCP.
Некоторым это может показаться немного надуманным — и позвольте мне прояснить — я не верю, что Kubernetes как ОС для облачных вычислений приведет к устареванию других операционных систем, таких как Linux или Windows — они все еще здесь, чтобы остаться.
Кроме того, каждый узел в кластере Kubernetes по-прежнему работает под управлением Linux. Но если вы уменьшите масштаб и посмотрите на центр обработки данных в целом, то увидите, что в нем тоже есть операционная система, и эта операционная система — Kubernetes.
Зачем нам облачная ОС?
Давайте рассмотрим макропричины, по которым организации переходят на облако, и почему стандартизация так привлекательна.
Масштабируемость — вверх или вниз, по требованию и модель «плати за то, что используешь» — делают облачные вычисления идеальным решением для большинства организаций. Простота использования наряду с возможностью самообслуживания означает, что затраты ниже, а эффективность максимальна.
Это началось с перехода к виртуализации, но контейнеры ускорили процесс, уменьшив влияние каждой отдельной рабочей нагрузки. Контейнеры сокращают минимальную вычислительную единицу до единицы одного приложения, а не всей операционной системы, содержащей приложение.
Однако всеми этими контейнерами необходимо управлять так же, как необходимо управлять процессами на отдельной машине. Кроме того, сама базовая инфраструктура должна управляться и распределяться справедливым и эффективным образом. Наконец, вы должны сохранять свободу перемещения между основными облаками и избегать привязки к поставщику (vendor lock).
Все это заботы операционных систем, от управления ресурсами до планирования и аппаратной абстракции.
Масштабный сдвиг парадигмы
Мы уже видели это раньше. Когда впервые появились мобильные телефоны, появились и мобильные операционные системы, такие как Android и iOS. До этого, когда мир перешел от мейнфреймов к персональным компьютерам, были изобретены Windows и другие операционные системы для ПК.

В каждом случае изменение вычислительной парадигмы приводило к необходимости в новой операционной системе, способной удовлетворить потребности новой платформы.
Что дает ОС?
На высоком уровне операционная система управляет ресурсами — и точка. Более подробно, есть физические ресурсы, такие как ваш диск, графический процессор и память, и виртуальные ресурсы, такие как файлы и пользователи.
Операционная система берет все эти ресурсы и управляет ими. Она разделяет их справедливо и эффективно между различными процессами.
Время тоже ресурс. Операционная система распределяет процессорное время между запущенными процессами с помощью централизованного планировщика.
Операционная система также отвечает за перемещение данных в память и из памяти, она предоставляет портал для терминальных служб и, конечно же, часто (хотя и не всегда) оснащена графическим интерфейсом, облегчающим работу операторов (или более современно: пользователей). Говоря о пользователях, операционные системы управляют их правами доступа и обеспечивают безопасность.
С этой точки зрения концепция ОС Kubernetes приобретает больше смысла, поскольку все эти сервисы предоставляются Kubernetes в контексте вашего центра обработки данных.
Параллели операционной системы Kubernetes
Сделаем несколько замен, чтобы аналогия была более естественной. Например, мы можем сравнить процессы и потоки Linux с подами и контейнерами в Kubernetes. Мы можем сравнить процессоры с узлами. Следовательно, планирование процессов для ЦП теперь эквивалентно планированию подов для узлов.

Основная философия Linux заключается в том, что «все является файлом». В Kubernetes эквивалентом этого является «все является ресурсом yaml в etcd» или «все является CRD». Это тоже форма стандартизации, которую операционные системы используют для упрощения жизни пользователей и разработчиков. В Linux каждый файл работает со стандартным API, поэтому любой ресурс можно открыть и записать одним и тем же способом. В Kubernetes все является ресурсом etc, и у него есть аналогичные преимущества.
Когда дело доходит до аппаратной абстракции, снова можно провести параллели. Linux использует драйверы для доступа к различным жестким дискам, и k8s точно так же работает с плагинами CSI. Это позволяет вам получить доступ к хранилищу, не беспокоясь о конфигурации облачного диска.
Глядя в будущее
За 80 с лишним лет, прошедших с момента создания концепции компьютера, а затем и операционной системы, произошло всего несколько крупных сдвигов парадигмы в том, как мы используем компьютеры, но каждый из них оказал глубокое влияние на нашу повседневную жизнь.
Все помнят, когда впервые стали доступны ПК с Windows и Macintosh. Все также помнят, когда впервые стали доступны смартфоны с iOS и Android. Теперь, с переходом на облачные вычисления, Kubernetes ведет аналогичный сдвиг тектонических пропорций. Как и Windows, Linux, iOS и Android, Kubernetes никуда не денется!
Источники:
Kubernetes: каковы ключевые преимущества для компаний?
Операционные системы, прикладное программное обеспечение и языки программирования
7 проблем с развертыванием программного обеспечения (и способы их решения)
Прошлое, настоящее и будущее Kubernetes с Эриком Брюэром
Учебное пособие по YAML: все, что вам нужно, чтобы начать работу за считанные минуты
Краткая история операционных систем
Когда все находится в облаке, имеет ли значение ОС?
ссылка на оригинал статьи https://habr.com/ru/post/679470/
Добавить комментарий