Необъяснимая популярность этого термина, не имеющего реального значения

Чтобы понять, что на самом деле означает облачная технология, нам сначала нужно выполнить упражнение «сопоставить следующее».

Сопоставьте следующие утверждения:

  1. Cloud-native - это то, как создаются и развертываются приложения, а не где.
  2. Cloud-native - это использование контейнеров и Kubernetes для развертывания и эксплуатации приложений.
  3. Cloud-native - это использование полностью управляемых сервисов автомасштабирования в общедоступном облаке.
  4. Cloud-native - это использование методологии, ориентированной на DevOps, для работы приложений.

Со следующими производителями:

а) Облачная компания, которая не особо продвинулась в контейнерном мире, но имеет популярную альтернативу с использованием управляемых сервисов.

б) Компания, предоставляющая инструменты и / или услуги, связанные с процессами и автоматизацией DevOps.

c) ИТ-компания, которая вела потрясающий бизнес в эпоху до облачных технологий, но изо всех сил пытается оставаться актуальной в эпоху облачных технологий.

г) Мощный фонд с открытым исходным кодом с серьезными маркетинговыми возможностями, который поддерживает многие проекты OSS в области контейнерных технологий.

Если вы угадали 1c, 2d, 3a и 4b, то вы получите довольно хорошее представление о том, куда движется эта статья.

В этой статье будут преувеличения, насмешки и риторика. К сожалению, все это вполне заслужено, когда дело касается темы «Cloud Native Apps». Как и многие другие в технологической индустрии, термин «облачные» также является чрезмерно употребляемым (даже злоупотребляемым) термином. Определение облачных приложений меняется от поставщика к поставщику, в зависимости от того, что они должны продавать, и от лидера мнений к лидерам мнений, в зависимости от того, что им нужно вести за собой (или должно ли это быть подсказкой? Я всегда запутываюсь ).

Давайте посмотрим на первое утверждение.

Облачная среда - это то, как создаются и развертываются приложения, а не где.

Так что «где» не имеет значения - облако может быть, а может не облако. Тогда для чего на самом деле являются нативные облачные приложения? Приложение, работающее локально, если оно создано с использованием «правильной архитектуры, процессов и культуры», похоже, заслужило право называться облачным. Это все равно, что сказать, что приложение, работающее на Android или Windows, «родно для iOS». Я думал, что приложение должно использовать некоторые особые характеристики и быть оптимизированным для базовой платформы, чтобы называться родным для этой платформы.

В любом случае, мы идем дальше.

Собственные облачные приложения создаются с использованием контейнеров и оркестрируются с помощью Kubernetes

Когда именно мы решили, что формат упаковки для развертывания и использование сверхсложного оркестратора ресурсов делает приложение современным? Разве не идея состоит в том, чтобы убедиться, что ваше приложение может выполнять поставленные задачи с ожидаемыми масштабами, доступностью и надежностью? Тогда почему такие специфические требования, как использование формата упаковки и научно-фантастической технологии? В любом случае, имея имя (и, что более важно, доменное имя), резонирующее с термином Cloud Native, Cloud Native Computing Foundation (CNCF) заработала рейтинг SEO, чтобы обеспечить достоверное определение.

Итак, идем дальше.

Cloud-native - это использование полностью управляемых сервисов с автоматическим масштабированием в общедоступном облаке

Никаких призов за предположение, что здесь речь идет об AWS и их фестивале любви Lambda. Это действительный альтернативный рассказ - сосредоточьтесь на бизнес-логике, выраженной через код, не беспокойтесь о том, где выполняется код, как он масштабируется, как настроена база данных, как поступают сообщения и т. Д. native »утверждает, что это близко - беспрецедентный масштаб и ограниченное управление инфраструктурой были постоянными обещаниями облака с первых дней. Однако «недолговечные части исполнения кода», страдающие от таких вещей, как «холодный старт» (что лучше всего можно объяснить как побочный эффект внутренней реализации, теперь чрезмерно навязанной потребителю), не подходят для всех вычислений. люди делают. По крайней мере, не сегодня.

Пойдем дальше.

Cloud-native - это использование методологии, ориентированной на DevOps, в операционных приложениях

Когда люди говорят о DevOps, на ум приходят автоматизация, непрерывная интеграция, непрерывная доставка / развертывание. Эти концепции на самом деле не новы, и даже если они есть, они могут быть (и используются) для доставки программного обеспечения, не имеющего ничего общего с облаком - либо для запуска, либо для создания такого программного обеспечения. Какая именно часть волшебной пыли DevOps делает это программное облако нативным, неясно.

Несмотря на то, что эта рецензия звучит как выплескивание, на самом деле она призвана показать, как многие из наших заявлений («наш» - это техническая индустрия) кажутся бессмысленными даже после одного двойного щелчка. Итак, мы должны продолжать попытки. Я принимаю предложения относительно хороших определений (50 слов или меньше).

Больше контента на plainenglish.io