Термин cloud native обозначает концепцию создания и запуска приложений для использования распределенных вычислений, доступных в облачной модели доставки. Приложения cloud native создаются для того, чтобы использовать возможности масштабирования, устойчивость и гибкость, доступные при работе с облаком.
По утверждению Cloud Native Computing Foundation (CNCF), технологии cloud native позволяют организациям создавать и запускать масштабируемые приложения в публичных, частных и гибридных облаках. Лучше всего этот подход иллюстрируют такие функции, как контейнеры, сервисные сетки, микросервисы, неизменяемая инфраструктура и декларативные интерфейсы прикладного программирования (API).
Эти функции позволяют создавать слабосвязанные системы, которые отличаются устойчивостью, простотой управления и возможностью измерения. С их помощью разработчики могут без особых затруднений и довольно часто вносить значимые изменения.
Сложившаяся на сегодняшний день ситуация в сфере комплексных приложений — пользователи ждут постоянных инноваций и невероятной быстроты реакции — требует, чтобы бизнес-системы были стратегически продуманными и все более гибкими. Технологии сloud native позволяют быстро двигаться вперед, сохраняя гибкость.
Сервисы cloud native помогают разрабатывать современные приложения, используя такие технологии, как Kubernetes, Docker, бессерверные функции, API и Kafka. Лучшие в отрасли поставщики облачных решений предлагают облачные инструменты и услуги, чтобы разработчики могли сократить число операционных задач и создавать приложения быстрее. Сервисы cloud native предоставляют разработчикам комплексную стандартизованную платформу для создания, развертывания и контроля приложений cloud native, таких как микросервисы и бессерверные функции.
Узнайте, как использовать весь потенциал технологий cloud native, чтобы легко и быстро создавать отказоустойчивые, хорошо управляемые и масштабируемые современные облачные приложения.
Переход на технологии cloud native навсегда изменил разработку программного обеспечения и бизнес-модели, позволив обеспечить максимальное удобство для заказчиков при взаимодействии с платформой организации. Еще совсем недавно ИТ-инфраструктура многих организаций была «адаптирована к использованию облака». Но ИТ-отделы, которые переходят на работу с облаком, оказываются в невыгодном положении, если не начинают создавать приложения cloud native, чтобы извлечь максимум пользы из своих капиталовложений. Чтобы ваша компания смогла не только остаться на плаву, но и выделиться среди конкурентов, жизненно необходимо умение адаптироваться и выполнять итерации. Облачные технологии как раз и обеспечивают гибкость и возможность использовать функции по запросу, чтобы любая компания могла легко перейти на технологии cloud native.
Проект CNCF появился в 2015 году как реакция на то, что все больше организаций и служб стали использовать системы cloud native. Созданный Linux Foundation проект CNCF — это фонд программного обеспечения с открытым исходным кодом, который способствует распространению технологий cloud native. В CNCF более 400 участников, в том числе поставщики услуг публичного облака, компании по разработке корпоративного ПО и молодые компании, занимающиеся новыми технологиями. Среди участников CNCF уровня Platinum такие компании, как Microsoft, Oracle, VMware и Intel.
CNCF занимается тем, что обеспечивает доступность и надежность технологий cloud native. Фонд поддерживает деятельность сообщества, которое участвует в таких проектах, как Kubernetes, Prometheus и CoreDNS. В то же время он поддерживает организации, которые создают надежные среды для оркестровки контейнеров в архитектуре микросервисов.
Переход на технологии cloud native может вызывать опасения, но в конечном итоге он полностью себя оправдывает. Этот переход означает не только перепроектирование приложений, но и изменение структуры и культуры компании, а в конечном итоге — движение компании вперед. Используя рекомендации CNCF Trail Map, компании могут внедрять технологии cloud native постепенно. Вполне ожидаемо, подобный переход требует использования более сложного программного обеспечения для работы с микросервисами, бессерверными функциями, потоками событий и другими типами приложений cloud native.
Приложения cloud native (или нативные облачные приложения) — это программы, созданные для инфраструктуры облачных вычислений. У них есть множество преимуществ.
Приложения cloud native представляют собой независимые сервисы, упакованные как компактные автономные контейнеры, которые можно легко переносить и быстро масштабировать (как в сторону увеличения, так и уменьшения) в зависимости от спроса. Инкапсулировав все необходимое в контейнер (такой как контейнер Docker), вы изолируете приложение и его зависимости от базовой инфраструктуры. Это позволяет развертывать контейнеризованные приложения в любой среде, в которой есть модуль запуска контейнеров. В оркестровках контейнеров Kubernetes особенно важно то, что они контролируют весь жизненный цикл контейнера. Приложения cloud native часто доставляются с помощью конвейера DevOps, который включает в себя пакеты инструментов непрерывной интеграции и непрерывной доставки (CI/CD). Конвейеры CI/CD важны для автоматизации создания, тестирования и развертывания приложений cloud native.
Архитектура cloud native связана с проектированием приложений или служб, которые создаются специально для работы в облаке, а не в традиционной локальной инфраструктуре. Удачная инфраструктура cloud native должна быть простой в обслуживании, поддерживаться облаком следующего поколения, и в то же время быть экономичной и способной к самовосстановлению. По сравнению со старыми системами архитектура cloud native обладает большей гибкостью, и ей не нужно полагаться на работу физических серверов.
Важную роль здесь играют микросервисы и бессерверные функции. Микросервисы составляют ядро архитектуры приложений cloud native. Они стали основным инструментом для компаний, выполняющих переход в облако. Микросервисы собирают приложения в многочисленные независимые сервисы, каждый из которых выполняет определенную функцию. Многие компании по производству программного обеспечения пользуются возможностями микросервисов, потому что они поддерживают DevOps, обеспечивают гибкость, повышают масштабируемость и в то же время сокращают расходы. Микросервисы cloud native взаимодействуют друг с другом посредством API и используют основанную на событиях архитектуру, которая повышает общую производительность каждого приложения. Сервисы Oracle Cloud Native выполняют рекомендации CNCF, поддерживают переход к использованию технологий cloud native и помогают компаниям начать создавать, развертывать и контролировать современные приложения cloud native.
Термин бессерверные функции описывает вариант инфраструктуры, который ориентирован на повышение производительности разработчиков. Бессерверное приложение позволяет писать программный код на платформе, которая функционирует как услуга (FaaS), используя ориентированные на события архитектуры и различные модели серверной части как услуги (BaaS). В этом случае не надо беспокоиться об инициализации, внесении исправлений, мастшабируемости, безопасности, высокой отказоустойчивости и т. д. При использовании платформ FaaS, таких как Oracle Functions, приложения разбиваются на мелкие фрагменты кода (наносервисы), которые запускаются в соответствии с динамическим графиком или по запросу при возникновении соответствующего события. Преимущество этого подхода заключается в том, что программный код вызывается и исполняется только в случае необходимости, а вы платите только за те ресурсы, которые использовались во время исполнения. В этом и состоит отличие от классического серверного подхода, при котором приложения загружаются на сервер и большую часть времени бездействуют в ожидании запроса. То есть при использовании бессерверных вычислений вы платите только за вычислительные ресурсы, которые действительно используете, а не за бездействующие ресурсы.
Сервисы cloud-native — один из важнейших элементов цифровых инноваций. Они дают возможности для использования расширенной аналитики, мобильных приложений и чат-ботов. Методы DevOps позволяют снять большую часть нагрузки по решению задач, связанных с созданием, контролем и поддержкой сложных платформ ПО. Разработка программного обеспечения, его развертывание и тестирование выполняются в облаке, и их можно масштабировать по желанию. Перенос приложений, DevOps и рабочих нагрузок в инфраструктуру cloud native жизненно важен для того, чтобы сохранить конкурентные преимущества компании.
Сервисы cloud native от Oracle расширяют возможности современной разработки приложений cloud native за счет использования основанных на стандартах технологий, таких как Kubernetes, Docker, бессерверные функции, API и Kafka. Часто Kubernetes описывают как операционную систему для облака: решение представляет собой платформу с открытым исходным кодом для управления кластерами контейнерных приложений и сервисов. Ключевыми компонентами Kubernetes являются кластеры, узлы и плоскость управления. Кластеры содержат узлы. Каждый узел состоит из набора минимум с одним рабочим компьютером. На узлах размещаются отсеки, содержащие элементы развернутого приложения. Уровень управления позволяет контролировать узлы и отсеки в кластере, часто на множестве компьютеров, обеспечивая высокую отказоустойчивость и доступность.
Oracle предоставляет облачные инструменты и возможности автоматизации, необходимые для этих сервисов, поэтому отделы разработки могут тратить меньше сил на операционные задачи и быстрее создавать приложения. Сервисы cloud native запускаются в решении Oracle Cloud Infrastructure (OCI), которое предлагает стандартизованную платформу с более высокой производительностью и меньшими затратами, чем у других поставщиков облачных решений. Благодаря использованию преимуществ сервисов на основе открытого исходного кода и открытых стандартов OCI предоставляет разработчикам возможность запускать приложения в любой облачной или локальной среде без необходимости переделывать код, что высвобождает время на создание и внедрение инноваций.
Реестр контейнеров OCI – это основанный на открытых стандартах сервис реестра Docker, управляемый Oracle, предназначенный для безопасного хранения и совместного использования образов контейнеров. Инженеры могут с легкостью управлять образами Docker, используя знакомый интерфейс командной строки Docker и API. Для поддержки жизненного цикла контейнеров реестр контейнеров взаимодействует с Oracle Container Engine for Kubernetes, OCI Identity and Access Management, Oracle Visual Builder Studio, а также со сторонними инструментами для разработчиков и DevOps.
OCI Notifications — это высокодоступный сервис публикации/подписки (pub/sub) с низкой задержкой, который отправляет оповещения и сообщения партнерам Oracle Cloud Functions по электронной почте, SMS и через доставку сообщений, включая Slack, PagerDuty и ServiceNow. Сервис интегрирован с OCI Identity and Access Management, что обеспечивает безопасный доступ и гарантирует доставку каждого сообщения даже при резких увеличениях трафика. Уведомления помогают создавать масштабируемые и надежные приложения cloud native.
Сервис OCI Streaming представляет собой платформу потоковой передачи событий, совместимую с Apache Kafka, в режиме реального времени для разработчиков и исследователей данных. Управляемый сервис потоковой передачи событий принимает, хранит и обрабатывает потоковые данные в реальном времени в любом масштабе. Он устраняет привязку к определенной технологии за счет полной совместимости с широко используемыми API Kafka с открытым исходным кодом.
Container Engine for Kubernetes (OKE) — это управляемый Oracle сервис оркестрации контейнеров, который помогает сокращать время и расходы на создание современных приложений cloud native. В отличие от остальных поставщиков OCI предоставляет Container Engine for Kubernetes как бесплатный сервис, работающий с высокопроизводительными и экономичными шаблонами вычислительной конфигурации. Инженеры DevOps могут использовать неизменное ПО Kubernetes с открытым кодом для переноса рабочих нагрузок приложений и упрощения работы с помощью автоматизированных обновлений и исправлений.
Oracle Cloud Functions — это бессерверная платформа, позволяющая разработчикам создавать, запускать и масштабировать приложения без управления инфраструктурой. Она также интегрирована с OCI, сервисами платформы и приложениями SaaS. Поскольку платформа Functions основана на Fn Project с открытым исходным кодом, разработчики могут создавать приложения, которые легко переносить в другие облачные или локальные среды. Программный код на основе Functions обычно запускается на короткий промежуток времени, и заказчики могут платить только за те ресурсы, которыми они пользуются.
Правда ли, что при разработке приложений cloud native получаются приложения, которые гораздо лучше приложений, разработанных традиционным способом? Да. Преимущества таких приложений очевидны: приложения cloud native можно масштабировать, потому что их функции разбиты на микросервисы, которым можно управлять отдельно. А поскольку они не зависят от облачной инфраструктуры, то приложения cloud native можно запускать, распределив их по разным средам, и при этом поддерживать их независимость и выделять ресурсы с учетом потребностей приложений. Приложения cloud native стали одним из ключевых способов развития бизнес-стратегии и получения дополнительных преимуществ, потому что они обеспечивают непрерывность работы в частных, публичных и гибридных облаках. Они позволяют организациям использовать все возможности облачных вычислений, запуская адаптивные и надежные приложения cloud native с возможностью масштабирования и более низкими рисками.
Узнайте, с чем связан энтузиазм разработчиков по поводу использования технологий cloud native для создания нового поколения приложений и запуска их в любом месте.
Узнайте, как создавать современные приложения (такие как микросервисы и бессерверные функции), отслеживать их работу и управлять ими с использованием контейнеров Docker, Kubernetes, Terraform и других технологий cloud native.
Создавайте, тестируйте и развертывайте приложения в Oracle Cloud бесплатно.