Cloud-native приложения
Формирование нового направления облачных технологий cloud-native. Исследование архитектуры и главных преимуществ данных приложений. Особенность использования максимальной функциональности, сервисов облачных вычислений и виртуализации инфраструктуры.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 06.05.2018 |
Размер файла | 17,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Владимирский Государственный Университет имени Александра Григорьевича и Николая Григорьевича Столетовых (ВлГУ)
CLOUD-NATIVE ПРИЛОЖЕНИЯ
Будкина А.А.
Стабильные компании, которые долгое время доминировали и были непревзойденными лидерами, сейчас разрушаются теми самыми бизнес-компаниями, которые основаны на их же программном обеспечении. Это такие компании, как Uber, Square, Netflix, Airbnb, Tesla. Они продолжают расти на частном рынке и становятся выше их исторических родителей.
Чем выигрывают эти компании?
· Скорость инновации
· Всегда доступный сервис
· Веб-масштабирование
· Акцентирование на мобильном использовании
Cloud-native - это приложения третьей модели облака: SAAS. Они разрабатываются таким образом, чтобы использовать максимальную функциональность, сервисы облачных вычислений и виртуализацию инфраструктуры. Идея этого проекта принадлежит компании VMware - лидеру по разработке оригинальных проектов облачных технологий. Cloud-native является соединением двух проектов этой компании: проект Photon Lightware, управляющий развертыванием новых экземпляров виртуальных машин и аутентификацией пользователей и проект Photon Machine - хост, позволяющий запускать экземпляры виртуальных машин с контейнерами приложений. Чтобы лучше понять архитектуру cloud-native необходимо понять ключевые аспекты данного развития. [3]
· Скорость
Подготовка новой среды приложения cloud-native использует сервис API гораздо быстрее, чем ручной процесс. В облачных технологиях находится множество задач управления: создание разных типов облачных узлов, связанных между собой и распределенных по разным центрам обработки данных; создание безопасных сетевых соединений; масштабирование и перенос приложений из одного ЦОД в другой для обеспечения максимального качества услуг и так далее. Для оптимизации и выполнения таких задач используется интерфейсы API. [3, 5]
· Безопасность
Первая категория безопасности -- это видимость.
Архитектура cloud-native обеспечивает инструментами, необходимыми для того, чтобы найти сбой, именно в тот момент, когда он происходит. Нам необходимо предвидеть все в системе: создать профиль нормального состояния, определить отклонения от этой нормы, обнаружить компоненты системы, которые способствуют дефектам и даже сбою. В базовой основе cloud-native приложений находятся функционально богатые метрики, мониторинг, оповещения, структуры визуализации данных и другие инструменты, которые помогают устранить вышеупомянутые проблемы.[2]
Второе - диагностика изоляции.
Для того, чтобы ограничить риск, связанный с появлением сбоя, нам необходимо ограничить объем компонентов или функций, которые могут быть им затронуты. Здесь большое значение имеют микросервисы. Микросервисы это подход, при котором система или приложение делится на несколько небольших сервисов, каждый из которых работает в собственном процессе и связывается с другими посредством обмена сообщений, как правило, через HTTP. Допустим существует монолитное приложение, состоящее из сервера, базы данных и пользовательского интерфейса. Любое изменение в такой системе понесет сборку и развертывание всего монолита, и пользователям придется масштабировать всю систему целиком, даже если это требуется только для одного модуля приложения. Технология микросервисов позволяет делить систему на множество частей, причем каждая из этих частей независима от другой и может быть написана на любом языке программирования. [2,5]
Третья категория - отказоустойчивость.
Если недостаточно разобрать систему на независимые микросервисы, то мы должны предотвратить отказ только тех компонентов, в которых присутствуют транзитивные независимости, являющиеся первопричиной сбоев.
Четвертая категория - автоматическое восстановление.
Помимо прочего, нам необходимы инструменты, которые идентифицируют сбой, восстанавливают систему от возникшего отказа и обеспечивают должным уровнем сервиса. Некоторые провалы легко идентифицировать: они представляют собой легко обнаруживаемый дефект, который происходит время от времени. И очень часто при дефекте нам достаточно перезапустить систему или выполнить задачу другим способом. Приложения cloud-native не требуют ручного вмешательства в таких ситуациях. Они могут самостоятельно обнаружить дефект и восстановить работу незаметно для пользователя. [2]
· Масштабирование.
Недавний сдвиг развития в области контейнеризации открыл двери для новой инновации, так как компаниям уже не требуется большой стартовый капитал для развертывания своих приложений. Данный сервис требует только невысокие инвестиции и составляющее API, но дает высокую скорость начального развертывания и максимально быстро реагирует на изменения требований. Технология контейнеров является ключевой для cloud-native.[2] облачный технология приложение виртуализация
До использования контейнерных технологий в облачной структуре использовалась следующая архитектура: гипервизоры разделяли виртуальные машины, что позволяло им работать одновременно. Каждая машина отвечала за свой собственный процесс: если процессов несколько, то требовалось большое количество таких машин.
При росте процессов возрастало количество вычислительных машин, таким образом возникла идея контроля их численности. Контейнеры предоставляют отдельное изолированное пространство для выполнения процессов и их размещения в памяти, поэтому им не требуется целый экземпляр вычислительной машины со всей системой. Множество таких контейнеров могут выполнять работы за микросекунды, когда такие же процессы вычислительная машина выполняла бы за минуту и более, включая запуск всей своей системы. Контейнеры содержат только приложения, параметры их работы и необходимую память. Если для виртуальных машин нужен гипервизор, то для контейнеров - хост-ОС или платформа контейнеризации (например, Linux, на которой работает технология контейнеризации Docker).[1]
Сам по себе, контейнер - это определенная программа автоматизации, которая упаковывает код приложения в виртуальный ящик. Данный код, как программа, может быть запущен и на ноутбуке, и на виртуальной машине, и на сервере. Этот способ предоставляет автоматизацию инкапсуляции приложений, его развертывания, автоматическое тестирование, масштабирование сторонних служб. Главным образом, контейнеры устраняют тот хаос, который вызывает большое количество компонентов и их зависимостей. Исключается необходимость выделения одной виртуальной машины на каждое приложение, контейнеры как бы делят ее на составляющие и для каждой части выделяют контейнер. Это позволяет оптимально распределить вычислительные ресурсы. Контейнеры после их заполнения можно легко перенести из одной хост-системы виртуализации в другую без потери данных. [7,8]
· Совместимость с мобильными устройствами.
Мобильные приложения не могут быть спроектированы одновременно для всех различных платформ. Таким образом оно будет вызывать множество проблем: повышенное использование батареи, задержки работы, проблемы с сетью, медленный отклик - все это приведет в конечном счете к удалению приложения. Поэтому мобильная разработка cloud-native приложений создается через API Gateway, которая передает нагрузку на сторону сервера облачного провайдера. [2]
· Сервис самообслуживания
Так же, как мы строим микросервисы для каждой ограниченной ситуации, мы создаем команду возможностей, ответственную за обеспечение платформой, на которой мы можем развертывать и оперировать микросервисами. В IAAS мы просили API создать виртуальный сервер, сети и хранение, чтобы различными формами управления конфигурацией и автоматизацией включить наше приложение, а затем поддерживать выполнение сервисов. Код приложения заносится на форму преднастроенной платформы, затем мы строим шаблон приложения, конструкцию окружения приложения, развертываем приложение и начинаем необходимые процессы. Команда не должна думать где и как выполняется код, так как все это берет на себя платформа. То же самое касается и служб поддержки: платформы поддерживают широкий круг хранения данных, сообщения, поисковики, кэши и другие важные сервисы. Они прикрепляются к вашему приложению и составляют его полноценное окружение. [2]
Вид приложений cloud-native очень быстро завоевывает рынок. Уже в середине 2015 года такие компании, как Cisco Cloud Foundry Foundation, eBay, Google, IBM, Intel, Twitter, VMware, Weaveworks и многие другие, объявили о сотрудничестве - создании Cloud Native Computing Foundation. Данная организация будет заниматься развитием и внедрением технологии cloud-native, что потребует значительных ресурсов и команды опытных разработчиков. Создатель этого сотрудничества - Linux Foundation будет обеспечивать всем необходимым для совместной работы этих компаний и организации структуры проекта. [9,6]
Таким образом, я могу сделать вывод, что данный вид облачных технологий делает большой прорыв в эволюции программного обеспечения и будет пользоваться огромной популярностью еще очень долгое время.
Аннотация
В последнее время облачные технологии выходят на первый план и компании, которые ими занимаются выигрывают на многих позициях. У облака есть несколько перспективных путей развития. В моей статье рассмотрено формирование нового направления облачных технологий cloud-native, рассказана архитектура и главные преимущества данных приложений, а также чем они существенно отличаются от других облачных технологий. А также я расскажу о новом образовании Cloud Foundation, которое занимается развитием этих приложений.
Ключевые слова: cloud-native, облачные технологии, контейнеризация, микросервисы.
Nowadays, cloud technology come to the fore and companies, which are working with it, are winning in many positions. The Cloud technology has many ways of development and application. My article considers development of new direction of cloud technology - cloud-native applications. Also article describes architecture and advantages of this applications, and their main differences from other cloud technologies. Finally, I'll tell about new foundation - Cloud Foundation, which develops cloud native applications.
Keywords: cloud-native, cloud technology, containerization, microservices.
Размещено на Allbest.ru
...Подобные документы
История и факторы развития облачных вычислений. Роль виртуализации в развитии облачных технологий. Модели обслуживания и принципы работы облачных сервисов. Преимущества облака для Интернет-стартапов. Применение технологии облачных вычислений в бизнесе.
реферат [56,6 K], добавлен 18.03.2015Модели обслуживания облачных технологий (IaaS, PaaS, SaaS). Определение облачных технологий, их основные характеристики, достоинства и недостатки. Функции и возможности облачного решения Kaspersky Endpoint Security Cloud от "Лаборатории Касперского".
курсовая работа [626,7 K], добавлен 29.06.2017Анализ облачных сервисов для автоматизации бизнеса и обоснование преимуществ перехода на облачную обработку данных. Виды и модели облачных сервисов для бизнеса, принципы их работы и характеристики. Задачи автоматизации бизнеса на примере облачных решений.
дипломная работа [2,3 M], добавлен 06.09.2017Эволюция облачных сервисов. Характеристики и классификация облачных сервисов. Анализ возможностей облачных сервисов, предлагаемых для использования в малом бизнесе. Анализ стоимости владения локальным решением по автоматизации деятельности бухгалтерии.
курсовая работа [2,7 M], добавлен 10.05.2015История возникновения облачных технологий. Суть и задачи облачных технологий, их классификация, достоинства и недостатки. Исследование применения облачных технологий на примере Google диск. Сравнение Google диск с аналогом компании Apple(iCloud).
курсовая работа [573,1 K], добавлен 05.12.2016Понятие облачных вычислений, их преимущества и недостатки; виды облаков. Сравнительный анализ рисков использования облачных сервисов в России и ЕС. Регуляторы в области информационной безопасности, их концепции, особенности и регулирующие органы власти.
курсовая работа [79,1 K], добавлен 14.05.2014Создание и уровни реализации облачных вычислений. Достоинства и недостатки использования облачных технологий в организации единого информационного пространства. Оценка важности критериев методом "Попарного сравнения", "Тепловых карт", "Экспертных оценок".
дипломная работа [1,3 M], добавлен 08.04.2014Структура, сущность и классификация облачных вычислений. Модель организации информационного пространства научных исследований на примере КубГУ. Использование облачных сервисов Google, Яндекс. Диск в процессе работы над студенческими дипломными проектами.
дипломная работа [2,2 M], добавлен 11.10.2013Разрабатываемые быстродействующие 100 Гбит сетевые инфраструктуры для технологии "облачных вычислений". Кодирование и синхронизация на подуровне данных. Реализация каналов связи 100 Гбит/с. Стандарт 100GbE и ПЛИС. Стандартизованные варианты PHY.
реферат [32,2 K], добавлен 22.02.2013Анализ структуры и содержания плана маркетинга компании. Рынок облачных вычислений и возможность их применения. Отбор источников информации и представление полученных результатов. Разработка программной инструментальной оболочки облачных вычислений.
дипломная работа [149,8 K], добавлен 12.11.2013Облачные технологии в бизнес-процессах. Модели использования бизнес-приложений в качестве интернет-сервисов. Практика применения облачных технологий. Приложения, созданные на основе Windows Azure. Создание систем и офисных приложений по запросу.
реферат [25,3 K], добавлен 16.06.2013История возникновения компьютерной науки. Продукты компании Apple. Основные категории, отличительные особенности, уровни облачных сервисов. Характеристика публичных и частных облаков. Преимущества и недостатки облачных вычислений, перспективы их развития.
контрольная работа [1,6 M], добавлен 06.08.2013Review of development of cloud computing. Service models of cloud computing. Deployment models of cloud computing. Technology of virtualization. Algorithm of "Cloudy". Safety and labor protection. Justification of the cost-effectiveness of the project.
дипломная работа [2,3 M], добавлен 13.05.2015Анализ рынка облачных вычислений и средств для обеспечения безопасности в них. Распространение облачных вычислений, негарантированный уровень безопасности обрабатываемой информации как их основная проблема. Расследование инцидентов и криминалистика.
курсовая работа [4,3 M], добавлен 26.02.2015Модели развертывания и облачные модели. Анализ существующих методов информационной безопасности. Обеспечение надежного шифрования данных при передаче их от пользователя к провайдеру услуг по хранению данных. Минимизация нагрузки на облачные сервисы.
дипломная работа [839,1 K], добавлен 17.09.2013Реализация "облачных" технологий в корпоративных информационных системах. Применение "облачных" технологий на РУП "Белоруснефть". Пуско-наладочные работы, установка и запуск облачного сервиса, начальное конфигурирование и предложения по масштабированию.
курсовая работа [2,9 M], добавлен 24.07.2014Сущность облачных вычислений, основные направления развития, достоинства и недостатки. Сеть Интернет как платформа научных коммуникаций. Разработка портала студенческого научного общества. Проектирование интерфейса web-сайта, выбор программных средств.
дипломная работа [5,9 M], добавлен 18.07.2014Файлообменные и облачные сервисы. Типы организации файлообменных сетей. Сравнительная характеристика облачных и файлообменных сервисов. Загрузка и скачивание файла с DropBox. Шаринг файлов в DropBox. Загрузка, поиск и скачивание файла с DepositFiles.
курсовая работа [2,6 M], добавлен 25.05.2015Анализ сетевой инфраструктуры, специфика среды исполнения и принципов хранения данных. Обзор частных моделей угроз персональных данных при их обработке с использованием внутрикорпоративных облачных сервисов. Разработка способов защиты их от повреждения.
курсовая работа [41,7 K], добавлен 24.10.2013Предпосылки появления облачных технологий. Сущность понятия "облачное хранилище данных", главные преимущества и недостатки. Главное достоинство Google. SugarSync: понятие, синхронизация любых папок на диске. Сравнительный анализ общедоступных сервисов.
курсовая работа [250,8 K], добавлен 31.03.2014