Облачные и облачные приложения: в чем разница?

Прочитано: 80 раз(а)


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

На первый взгляд

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

Не все облачные приложения работают в облаке, и не все приложения, работающие в облаке, являются облачными.

Это, вкратце, отражает часть разницы между облачными приложениями и облачно-родными приложениями. Но это только царапает поверхность. Чтобы обеспечить настоящую справедливость различия — что важно для ИТ-специалистов при выборе наиболее разумной для них архитектуры приложения и модели развертывания — в этой статье рассматриваются все детали, отличающие облачные приложения от облачно-родных приложений.

Что такое облачное приложение?

Значение термина «облачное приложение» простое: это любое приложение, размещенное в облаке.

Существует множество способов размещения приложения в облаке. Наиболее традиционный подход — запуск приложений на облачном сервере с использованием сервиса, например Amazon EC2, или через платформу как услугу (PaaS), например Elastic Beanstalk. Более современные подходы — и те, которые обычно используются для облачных приложений, в отличие от «базовых» облачных приложений — включают использование управляемого контейнера или сервиса Kubernetes , например Amazon ECS или EKS, для размещения приложений.

Но в конечном итоге, если ваше приложение работает в облаке, это облачное приложение.

Что такое облачное приложение?

Облачное приложение — это приложение, использующее облачную архитектуру. Это означает, что приложение работает как набор микросервисов , каждый из которых обычно может быть развернут и масштабирован независимо.

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

По этой причине, возможно, было бы разумнее использовать термин cloud-friendly application вместо cloud-native application . Но этот корабль уплыл; все используют термин cloud-native app , даже когда он относится к приложениям, которые не работают в облаке.

Ключевые различия между облачными приложениями и облачными приложениями

На высоком уровне основное различие между облачными приложениями и облачно-родными приложениями заключается в том, что облачные приложения не используют архитектуру микросервисов, а облачно-родные приложения используют. Однако это различие глубже. Вот основные отличия между двумя типами приложений относительно того, как они разрабатываются, развертываются и управляются:

1. Подход к разработке

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

2. Стратегии развертывания

Традиционные облачные приложения также проще в развертывании. Они могут работать непосредственно на виртуальных или физических серверах. Их также можно упаковывать в контейнеры и развертывать с помощью Docker, Kubernetes или аналогичной платформы. (Не все контейнерные приложения являются облачными; они являются облачными только в том случае, если контейнеры размещают микросервисы вместо монолитного приложения.) Это означает, что команды могут выбрать практически любой облачный сервис при развертывании стандартного облачного приложения.

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

3. Мониторинг и управление

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

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

4. Безопасность

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

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

Заключение: выбор правильного приложения, в облаке или вне его

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

Локальное или облачное хранилище: выбор правильного решения



Новости партнеров