Оглавление:
- Контейнеры 101
- Быстрый Разбивка Контейнерного Пейзажа
- Какие бизнес-проблемы могут решить контейнеры?
Видео: unboxing turtles slime surprise toys learn colors (Ноябрь 2024)
К настоящему времени контейнеры - это привычная концепция для вашего ИТ-отдела. Наиболее гибкие малые и средние предприятия (SMB) или предприятия могут уже использовать их. Что касается разработки приложений и ИТ-инфраструктуры, контейнеры для Linux примерно такие же модные, как вы увидите в такого рода технологиях.
На самом деле, 451 Research прогнозирует расширение рынка контейнеров приложений с 762 миллионов долларов в 2016 году до 2, 7 миллиардов долларов к 2020 году. Между тем, по прогнозам Gartner, более 50 процентов глобальных организаций будут запускать контейнерные приложения в 2020 году, увеличившись с менее чем 20 процентов в 2017.
Мы уже объяснили, как модульная архитектура приложений микросервисов помогает разработчикам и ИТ-специалистам работать более эффективно, снижая при этом стоимость и сложность добавления новых функций и функций. С технологической точки зрения контейнеры являются катализатором этого уравнения DevOps. Это удобный пакет, с помощью которого DevOps и ИТ-отделы могут быстро и последовательно передавать код приложения, конфигурации и зависимости назад и вперед.
Но что это на самом деле означает для вашего бизнеса? Я поговорил с корпоративными ИТ-решениями и компанией с открытым исходным кодом Red Hat, чтобы выяснить это. Этот объяснитель расскажет не только о том, что такое контейнеры и как они работают, но и о различных способах - когда вы понимаете технологию - ваша организация может использовать контейнерные развертывания поверх вашего центра обработки данных или облачной инфраструктуры для быстрой доставки качественного программного обеспечения.
Контейнеры 101
На самом базовом уровне Linux-контейнеры удачно названы в честь металлических транспортировочных контейнеров, к которым они так часто приравниваются. Будь то грузовое судно, грузовой поезд или кузов большого грузовика, сам контейнер является тем же единым судном для перевозки грузов. Ларс Херрманн, генеральный директор подразделения интегрированных решений в Red Hat, курирует контейнерную технологию Linux компании. Херрманн сказал, что предприятия должны просто рассматривать контейнеры как новую единицу работы.
«Контейнеры - все о ловкости», сказал Херрманн. «В сложной организации речь идет о распределении обязанностей наряду со свободой предоставления функций. И контейнеры предоставляют вам эту технологию, чтобы объединить все это, при этом управляя вашей ответственностью за безопасность, доступность, соответствие нормативным требованиям - все, что имеет значение».
Нажмите на изображение для полной инфографики. Изображение предоставлено: Twistlock
Таким образом, однородность контейнеров делает их простыми в использовании строительными блоками. Это небольшие подключаемые модули, на которых вы можете построить архитектуру микросервисов, обеспечивающую эффективность работы и контроль версий. В то же время, они дают DevOps и ИТ-отделам детальный контроль над тем, как они разворачивают ресурсы инфраструктуры. Херрманн также отметил, что контейнеры - это технология операционной системы (ОС).
«Контейнеры берут операционную систему и разбивают ее на две части», - пояснил Херрманн. «С одной стороны, вы получаете рабочий блок для приложения, который содержит код приложения и зависимости таким образом, который может быть оптимизирован группами DevOps, а также их автономность и контроль для принятия решений, когда они этого хотят. Им больше не нужно ждать других команд.
«Другим компонентом является ядро операционной системы. Ядро ОС и полезная нагрузка контейнера обеспечивают поддержку ресурсов и примитивов, которые вам нужны, таких как хранилище, сеть и безопасность. Поскольку контейнеры представляют собой технологию ОС, вы можете запускать их где угодно, будь то виртуальные хосты или общедоступное облако. Это гибридное качество позволяет управлять любым приложением в любой среде, используя ту же технологию, но при этом расширяет возможности команд DevOps ».
Контейнеры также не то же самое, что виртуализация. Херрманн объяснил, что контейнеры и виртуализация являются взаимными силами. Виртуализация эмулирует виртуальную аппаратную среду для запуска различных программных стеков; он обеспечивает то, что называется уровнем абстракции, чтобы предоставить среде облачных вычислений гибкость в отношении того, как приложения и данные структурированы и развернуты. Таким образом, на одном виртуализированном ядре ОС вы можете запустить несколько серверов или экземпляров. Контейнеры являются экземплярами.
«Существует все еще большая путаница вокруг объединения контейнеров с виртуализацией», - сказал Херрманн. «Виртуализация решает другую проблему, и мы думаем, что контейнеры и виртуализация очень хорошо дополняют друг друга. Виртуализация обеспечивает абстракцию и эмуляцию, а с контейнерами вы получаете подобный вид абстракции, но без эмуляции. Вместе они не дают измеримых накладных расходов и тонна операционной эффективности, но разделить их может быть сложно ».
Быстрый Разбивка Контейнерного Пейзажа
DevOps и гибкие принципы, о которых мы говорим в отношении контейнеров, не новы, поскольку они возвращаются к концепции сервис-ориентированной архитектуры (SOA), которая подробно описана в нашем объяснителе микросервисов выше. Современный контейнер Linux был изобретен, когда Docker изменил игру. Docker - это несколько разные вещи, но, в первую очередь, это чрезвычайно популярная технология с открытым исходным кодом, которая была разработана Docker Project в 2013 году. Она предназначена для упаковки, доставки и запуска любого приложения в виде легкого контейнера. В 2017 году Docker добавил возможность запуска контейнеров Linux в Windows с использованием технологии Hyper-V.
Docker - один из нескольких проектов с открытым исходным кодом, которые помогают формировать технологии и пространство. Kubernetes, изначально разработанный Google и в настоящее время управляемый Cloud Native Computing Foundation, представляет собой систему с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерами. Docker и Kubernetes - два мощных проекта с открытым исходным кодом, которые больше всего влияют на развитие технологий. Фактически, в апреле Dockers выпустила свою версию Docker Enterprise Edition (EE) 2.0, которая позволяет пользователям управлять своими рабочими нагрузками в Kubernetes и обеспечивать их безопасность в среде с несколькими Linux, несколькими операционными системами или несколькими облачными средами. Такая гибкость снижает вероятность того, что компании будут привязаны к определенной технологии или инфраструктуре. Докер говорит, что EE 2.0 позволяет компаниям повысить рентабельность за счет управления приложениями из единого интерфейса управления для отслеживания изображений, хранилищ и сетей.
Есть десятки других компаний, наряду с Project Atomic от Red Hat (для комбинированных стеков Docker / Kubernetes) и инициативой Open Container Linux Foundation, целью которой является создание открытых отраслевых стандартов для контейнеров. Для Docker именно образы Docker подожгли мир разработки. Контейнер хранит код, библиотеки и файлы конфигурации для запуска изображения в любом месте. «Все контейнеры размещали сервисы на одном узле, пока Docker не ввел понятие развертывания на основе образов», - сказал Херрманн.
Нажмите на изображение для полной инфографики. Изображение: The Docker Survey, 2016
Docker также является стартапом (основан в 2010 году как dotCloud), который привлек более 242 миллионов долларов. Компания предлагает набор корпоративных инструментов «Контейнер как услуга» (CaaS) для развертывания Docker в центрах обработки данных и частных облаках. Конечно, когда дело доходит до управления корпоративными контейнерами, Docker не одинок в этом пространстве. Red Hat предлагает собственный набор инструментов разработчика CaaS для своих продуктов Red Hat Enterprise Linux (RHEL), OpenShift и JBoss.
Все больше и больше известных технологических компаний также принимают участие в акции. Веб-службы Amazon (AWS), Microsoft Azure и Google Cloud Platform (GCP) имеют встроенные встроенные инструменты управления контейнером и управления ими в соответствующие платформы облачной инфраструктуры как услуги (IaaS). 8 мая Microsoft объявила о партнерстве с Red Hat, чтобы позволить разработчикам запускать программное обеспечение на основе контейнеров в Azure. В тот же день IBM сообщила, что расширит сотрудничество с Red Hat, чтобы позволить разработчикам создавать приложения на интегрированной контейнерной платформе. За несколько коротких лет контейнерное пространство стало довольно тесным.
Какие бизнес-проблемы могут решить контейнеры?
Когда речь идет о реализации современных архитектур приложений и принципов DevOps на предприятии, контейнеры являются ответом на ряд проблем. В частности, когда организация укоренилась в устаревших технологиях и традиционных политиках разработки, контейнеры представляют собой легко интегрируемую платформу, которая может сгладить переход и упростить работу ИТ-отдела.
«В настоящее время мы считаем, что контейнеризация - это самый практичный способ внедрения облачных вычислений, DevOps и микросервисов в вашу среду. Контейнеры естественным образом интегрируются с уже имеющимися технологиями», - сказал Херрманн.
Рич Шарплс, старший директор по управлению продуктами для Middleware в Red Hat, сказал, что это все о предоставлении качественного программного обеспечения с более быстрой скоростью. Все компании стремятся выпускать программное обеспечение быстрее, чтобы конкурировать на своих собственных рынках, и это давление часто падает на перегруженный ИТ-отдел. По словам Шарплза, контейнеры - это способ создания приложений и услуг, которые можно изменить быстрее - будь то добавление новой функции или критическое исправление безопасности - при сохранении качества. Он также рассказал о контейнерной инфраструктуре, которая является мостом для подготовки предприятий к микросервисам.
«У нас есть такой принцип проектирования: мы не можем позволить себе оставить какие-либо приложения позади», - сказал Шарплз. «Мы находимся в этом замечательном новом мире DevOps и гибкой разработки программного обеспечения. Но предприятия не могут переписать все свои приложения, чтобы присоединиться к вечеринке. Как мы продвигаем их к этим новым идеям?
«Инвестирование в платформы, такие как контейнеры, - это способ гарантировать, что организация готова приступить к созданию чего-то вроде микросервисов. Микросервисы и контейнеры - вот где настоящая сила. В одном микросервисе нет ничего интересного; вы видите это только во множестве сотрудничающая сеть, состоящая из отдельных функциональных блоков ».
Изображение предоставлено: Docs.Docker.com
Оценка того, стоит ли инвестировать и принимать контейнеры, связана не только с технологиями. Шарплз пояснил, что для успешного перехода на DevOps, который включает в себя контейнеры и микросервисы, вам понадобятся архитектура, базовые платформы и гибкие процессы.
«Это не просто технологическое решение», - сказал Шарплз. «Вам нужно подумать о том, готова ли ваша организация, есть ли у вас конкретные проблемы с поставкой программного обеспечения, которые вам необходимо решить, и понять, как бизнес-драйверы выглядят в отношении автоматизации и DevOps. Поймите ваши ключевые требования, посмотрите на потребности различных проектов и затем решите, какое сочетание облачной технологии, архитектуры приложений и контейнерных технологий может сделать это возможным ».
При рассмотрении вопроса о том, как контейнеры вписываются в их организацию, Херрманн дал корпоративным ИТ-отделам три совета:
1. Начните
По словам Херрманна, сочетание DevOps, agile, контейнеров, микросервисов - это не просто технологическое изменение в изоляции. «Это путешествие, которое приводит к довольно значительным изменениям в том, как будет работать ваш бизнес», - сказал он. «Мой первый совет - начать, потому что ваши конкуренты. Позволять ранним последователям собирать части - неправильная стратегия, потому что вы можете не догнать».
2. Комплексное видение
Херрманн посоветовал вам подходить к контейнерам с более комплексной точки зрения. «Выберите свою самую важную цель», - сказал он. «Способность быстрее доставлять программное обеспечение является отличной отправной точкой. Исходя из этой цели, подумайте о том, как вы вовлекаете свою организацию в процесс, и структурируйте эту работу без риска и оттока для существующих операций».
3. Экосистема
Херрманн отметил, что многие предприятия достигают такой степени, что они ограничены устаревшей архитектурой, процессами и платформами. «Вы не можете изменить архитектуру, не думая о платформах, на которые вы хотите положиться», - сказал он. «Тогда возникает вопрос: с кем я работаю? С кем я разговариваю? Наша рекомендация - искать компании, которые могут помочь не только с технологическими проблемами, но и управлять трансформацией во всех этих измерениях: технология, процесс, все пути к организации. Работая с облаком, DevOps, контейнерами и микросервисами вместе, вы хотите положиться на экосистему, которая может помочь вам добиться успеха за короткий период времени и избавить вас от тупиков ».