Смартсорсинг.ру

Сообщество руководителей ИТ-компаний, ИТ-подразделений и сервисных центров

Статьи в блогах Вопросы и ответы Темы в лентах Пользователи Компании Лента заказов Курс по ITSM

Cloud-native приложения: быстрая разработка и новые возможности для бизнеса

Подготовлено на основе «Сloud-native Applications: Ship Faster, Reduce Risk, Grow Your Business».

Что такое cloud-native приложения

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

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

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

 

Cloud-native объединяет концепции контейнеров, микросервисов, непрерывной доставки и DevOps

Какие преимущества у cloud-native приложений

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

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

Упакованы в контейнеры. Основная идея контейнера – упаковать приложение в один исполняемый пакет, изолировать его от среды и других приложений. Контейнеры эффективнее и быстрее стандартных виртуальных машин. Виртуализация на уровне операционной системы позволяет динамически распределять один экземпляр операционной системы между несколькими контейнерами, у каждого из которых своя изолированная файловая система и ресурсы.

Кроме того, cloud-native приложения:

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

·       Сосредоточены вокруг API для взаимодействия и совместной работы. В облачных сервисах используются легковесные API на протоколах REST, gRPC или NATS.

·       Имеют архитектуру с четким разделением сервисов без сохранения состояния и с сохранением состояния.

·       Независимы от сервера и операционной системы, работают на более высоком уровне абстракции.

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

Почему бизнес переходит на cloud-native приложения

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

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

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

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

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

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

Что не стоит делать при разработке cloud-native приложений

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

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

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

Комментарии (0)