Упрощение сложности облака: 4 дороги к одному пункту назначения

Опубликовано: 1 Марта, 2023
Упрощение сложности облака: 4 дороги к одному пункту назначения

Модернизация — это марафон, когда речь идет о перемещении корпоративных приложений в облако. Хотя облачные вычисления существуют уже более десяти лет, большинство организаций и приложений по-прежнему работают локально. Знакомство со старыми способами удерживает людей от скачка вперед. Миграция в облако приносит с собой новые проблемы. Многие из этих проблем связаны со сложностью. На каждом уровне сложнее — инфраструктура, сеть, логика приложения и пользовательский интерфейс. В то время как прошлое десятилетие было посвящено демонстрации того, что облако может делать то же, что и локальное, — и делать это лучше и дешевле, — следующее десятилетие будет посвящено тому, почему облако намного проще, чем локальное. Ключевой элемент этой головоломки — включить абстракцию на каждом уровне и сделать сложное простым. На последнем KubeCon Келси Хайтауэр сказала, что «бессерверность — это устранение как можно большего количества инфраструктуры». Это верно не только для бессерверных вычислений, но и для всей индустрии облачных вычислений прямо сейчас. В этом посте мы рассмотрим различные способы, которыми целые движения в пространстве облачных вычислений и отдельные поставщики стремятся к этой цели устранения инфраструктуры и упрощения сложности облака.

1. Бессерверные вычисления

Как упоминалось выше, бессерверные вычисления — один из самых ярких индикаторов этой тенденции к меньшей инфраструктуре. Он стал популярным с запуском AWS Lambda в 2014 году, который впоследствии стал одним из самых быстрорастущих продуктов AWS за всю историю. С тех пор появились решения других конкурирующих поставщиков от Azure и Google Cloud и даже фреймворки с открытым исходным кодом, такие как Serverless Framework, OpenWhisk и OpenFaaS.

Идея бессерверных решений состоит в том, чтобы исключить управление сервером из уравнения, когда речь идет о доставке приложений. Около десяти лет назад это было бы безумной идеей. Но сегодня облако достигло уровня зрелости, который позволяет это делать. Проницательный пост Datadog показывает, что AWS Lambda используется большинством крупных предприятий и организаций, выполняющих рабочие нагрузки контейнеров. Интересно отметить, что появление контейнеров и Kubernetes не помешало росту бессерверных технологий. На самом деле они дополняют друг друга, часто работая вместе в наборе приложений.

Изображение 247
датадог

Сам AWS Lambda используется в сочетании с другими сервисами AWS, такими как SQS, DynamoDB и API Gateway. Интегрируя эти сервисы, организации могут создавать новые возможности, выходящие за рамки традиционных технических ограничений. Вместо того, чтобы решать проблемы с помощью технологий, организации теперь могут сосредоточиться на своих потребностях и позволить технологиям адаптироваться к их потребностям.

2. Низкий код/без кода/BaaS

Очень тесно связанный с бессерверным движением, low code или no code — как новый AWS Honeycode — решает проблему сложности с точки зрения разработчика. Эти решения также иногда называют серверной частью как услугой (BaaS), как в случае с Google Firebase — популярным вариантом для разработчиков мобильных приложений.

Языки программирования поднимались и опускались со временем. Список лучших приложений и платформ, используемых организациями, обновляется и обновляется каждые несколько лет. Это изменение означает, что организации должны постоянно ломаться и восстанавливаться с нуля. Однако прохождение этого цикла «ломать-строить-ломать» замедляет темпы инноваций. Лучшим способом было бы обеспечить быстрое создание приложений и интеграцию промежуточного программного обеспечения, чтобы системы были более модульными. Это задача, которую должен решить low code.

Решения с низким кодом предоставляют абстрактный уровень инструментов разработки приложений, которые позволяют разработчикам быстро создавать прототипы и создавать рабочие приложения с минимальным кодом. Решения с низким кодом бывают разных форм и размеров. Некоторые сосредотачиваются исключительно на упрощении кода, оставляя инфраструктуру открытой. Другие предоставляют возможности полного стека от разработки до промежуточного программного обеспечения и облачной инфраструктуры.
Изображение 248
Поддерживая несколько языков программирования, решения с низким кодом позволяют программировать на полиглотах, где команды разработчиков могут создавать приложения на нескольких языках программирования. Это большая потребность в крупных организациях, где между командами нет единого мнения о том, какие языки программирования следует использовать.

На уровне промежуточного ПО решения с низким кодом имеют готовые интеграции с наиболее часто используемыми корпоративными приложениями и облачными сервисами. Это значительно экономит время и может помочь организациям быстро перейти от концепции к прототипу и к производству. По мере изменения потребностей организации замена интеграций и их настройка становятся простыми.

На уровне инфраструктуры платформы с низким кодом, которые предоставляют собственную облачную инфраструктуру, действуют как бессерверные платформы, которые абстрагируются от всего управления инфраструктурой. Предоставляя тесно связанное решение, low code может быть самым простым и быстрым путем к модернизации приложений и упрощению облачной сложности.

3. Платформа как услуга (PaaS)

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

Наиболее широко используемые платформы PaaS принадлежат ведущим поставщикам облачных услуг. Например, Google App Engine широко использовался Snap, пока они не решили подстраховаться, используя AWS в качестве резервной копии.

Salesforce — один из крупнейших поставщиков PaaS со своими решениями, такими как Force.com, Salesforce DX и Heroku. Эти решения позволяют разработчикам быстро и легко создавать приложения. Они предназначены не для разработчиков DevOps в целом, а конкретно для разработчиков Salesforce.

В то время как границы стираются, рынок больше смещается в сторону бессерверных решений и решений с низким кодом, чем PaaS.

4. Решения Kubernetes

Изображение 249
Шаттерсток

Kubernetes — это новый Linux. Это операционная система для корпоративных вычислений, которую в равной степени принимают все поставщики. Kubernetes ни в коем случае не прост в управлении и эксплуатации, но он начинался как способ более эффективного управления контейнерами в облаке и упрощения облачной сложности. Самостоятельное использование Kubernetes — смелое решение, особенно когда речь идет о производственных приложениях, — теперь поставщики значительно упростили работу с кластерами Kubernetes.

Управляемое пространство Kubernetes, или Kubernetes как услуга, в последние годы стремительно развивалось: новые поставщики появляются каждый месяц, а существующие поставщики облачных услуг, такие как Mirantis, Platform9 и D2iQ, меняют свою стратегию, чтобы полностью сосредоточиться на Kubernetes. CoreOS была приобретена Red Hat, которая, в свою очередь, была приобретена IBM — и все это в заявке на превосходство Kubernetes. Kubernetes изменил игровое поле, и теперь игра заключается в том, кто может предоставить лучший и самый простой опыт работы с Kubernetes.

Хотя они более практичны, чем предыдущие решения, управляемые сервисы k8s все больше и больше приближаются к бессерверным решениям. Келси Хайтауэр твердо верит в будущее бессерверных технологий и отметила, что Kubernetes и бессерверные платформы в какой-то момент пересекутся. Он говорит о MicroK8 от Canonical как о примере упрощения развертывания Kubernetes.

Следует отметить, что привязка к поставщику — это то, о чем следует знать. Идти ва-банк с самоуверенной платформой означает, что вы не сможете легко перейти на другую платформу в будущем. Это то, что удерживает организации от принятия обязательств. Тем не менее, технический ландшафт сегодня отличается и более открыт, чем когда-либо. Поскольку руководящие органы, такие как CNCF, и инструменты с открытым исходным кодом становятся более мощными, чем инструменты поставщиков, привязка к поставщикам решается на всех уровнях. Сами поставщики думают о том, как быть открытыми и способствовать многооблачной работе по умолчанию. Microsoft отказалась от прежней анти-Linux-позиции, а материнской организацией Red Hat стала IBM.

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