Облачные вычисления — это подход к разработке программного обеспечения , который использует облачные вычисления для «создания и запуска масштабируемых приложений в современных динамических средах, таких как публичные , частные и гибридные облака». [1] [2] Такие технологии, как контейнеры , микросервисы , бессерверные функции, облачные процессоры и неизменяемая инфраструктура, развернутые с помощью декларативного кода, являются общими элементами этого архитектурного стиля. [3] [4] Облачные технологии направлены на минимизацию операционной нагрузки пользователей. [5] [6]
Облачные методы «позволяют создавать слабосвязанные системы, которые являются устойчивыми, управляемыми и наблюдаемыми. В сочетании с надежной автоматизацией они позволяют инженерам часто и предсказуемо вносить высокоэффективные изменения с минимальными усилиями». Эта независимость способствует общей устойчивости системы, поскольку проблемы в одной области не обязательно парализуют все приложение. Кроме того, такие системы легче в управлении и мониторинге, учитывая их модульную природу, что упрощает отслеживание производительности и выявление проблем. [7] [ необходима цитата ]
Часто облачные приложения создаются как набор микросервисов, которые работают в контейнерах, совместимых с Open Container Initiative , таких как Containerd , и могут быть организованы в Kubernetes , а также управляться и развертываться с использованием рабочих процессов DevOps и Git CI [8] (хотя существует большое количество конкурирующих приложений с открытым исходным кодом , которые поддерживают облачную разработку). Преимущество использования контейнеров заключается в возможности упаковать все необходимое для выполнения программное обеспечение в один исполняемый пакет. Контейнер работает в виртуализированной среде, которая изолирует содержащееся в нем приложение от его среды. [3]