Облачные приложения (cloud apps)
Облачные приложения (cloud apps) — это приложения, которые работают в облачной среде. Они считаются комбинацией обычных веб-приложений и классических автономных приложений, включают преимущества обоих типов, но исключают большинство их изъянов. Облачные приложения, подобно автономным, могут работать в оффлайн-режиме, предоставлять пользователю хороший интерфейс и немедленный отклик на его запросы. Однако, как и веб-приложения, нет необходимости устанавливать облачные приложения на компьютер. Обновления могут добавляться в любое время путём простого обновления версии на веб-сервере. Данные, которые обрабатывают облачные приложения, также хранятся в облаке.
Облачные приложения не поглощают огромный объём памяти коммуникационного устройства или компьютера пользователя. Если пользователь располагает быстрым интернет-соединением, исправное облачное приложение может предоставить ему как взаимодействие автономного приложения, так и переносимость веб-приложения.
Любой пользователь с браузером, интернет-соединением и коммуникационным устройством может без проблем получить доступ и начать пользоваться облачным приложением. Хотя данные хранятся и обрабатываются в облаке, непосредственный пользовательский интерфейс работает на локальном устройстве. Пользователи имеют возможность локально кэшировать данные, что может при необходимости обеспечить им полностью автономную работу.
Облачные приложения, в отличие от веб-приложений, можно использовать в оффлайн-режиме даже в отсутствие беспроводного доступа или при отключении Интернета. Кроме того, облачные приложения могут частично функционировать даже при длительном отсутствии интернет-соединения, например, если пользователь уехал отдыхать в глуши.
Приложения для облачной среды (cloud native applications)
Следует различать облачные приложения (cloud apps) и приложения для облачной среды (cloud native apps).
Приложения для облачной среды — они же native cloud applications или NCA — специально созданы для обработки данных в облаке и виртуализованной среде. Такие приложения спроектированы, разработаны и внедрены таким образом, чтобы максимально использовать возможности и ресурсы облачной обработки данных.
В первую очередь приложения для облачной среды разрабатываются с учетом архитектуры облачной обработки данных. Хотя они и могут быть похожи на обычные программные приложения, фоновые расчёты, масштабируемость и параллельная обработка данных совместимы и поддерживаются облачной инфраструктурой. Таким приложениям свойственны следующие характеристики:
- массовый параллелизм (приложение должно использовать методы параллелизма в рамках выполнения задач и хранения данных);
- полное использование облачных ресурсов (приложение должно использовать собственный прикладной программный интерфейс облачной среды для упрощения задач и использования всех доступных ресурсов);
- многооблачная парадигма (приложения должно обеспечивать легкий перенос и запуск у разных поставщиков ресурсов для облачных вычислений).
Облачная архитектура
Приложения для облачной среды разрабатываются с учетом облачной архитектуры.
Такая архитектура или система разработана специально для запуска в облачной среде. Преимущество этого типа архитектуры заключается в большей гибкости по сравнению с устаревшими системами, которые создавались для запуска в обособленной аппаратной инфраструктуре и могут столкнуться с затруднениями при миграции в облачную среду.
Облачная архитектура следует облачной философии распределённых систем. Она не использует физические серверы, расположенные на тех или иных крупных корпоративных площадках, а разворачивается в облачной среде, зачастую распределяется между несколькими облаками. Таким образом, данные могут храниться на серверах разных поставщиков.
В результате из всех распределённых систем именно облачная архитектура просто создана, чтобы использовать преимущества новейших и лучших технологий. Например, контейнерную виртуализацию уже провозгласили чудом производительности для систем виртуализации. Облачная архитектура преобразует эти ресурсы в платформу, которая может выдерживать большие изменения и обходиться слабым или менее централизованным набором ресурсов. В каком-то смысле хорошо спроектированная облачная архитектура действительно использует все преимущества гибкости и масштабируемости облачных решений, которые не доступны для остальных способов запуска приложений. Всё это в результате заставляет компании использовать для обновления информационных технологий решения, ориентированные на выполнение в облачной среде.
При подготовке статьи были использованы материалы: