Съдържание:
- Контейнери 101
- Бърза разбивка на ландшафта на контейнерите
- Какви бизнес проблеми могат да решат контейнерите?
Към момента контейнерите са позната концепция за вашия IT отдел. Най-пъргавите малки за средни предприятия (SMBs) или предприятия вече могат да ги използват. Що се отнася до разработването на приложения и ИТ инфраструктурата, контейнерите на Linux са почти толкова модерни, колкото ще видите с този вид технологии.
Всъщност 451 изследователски проекти проектира пазарът на контейнерни приложения да се разшири от 762 милиона долара през 2016 г. до 2, 7 милиарда долара до 2020 г. Междувременно Gartner прогнозира, че над 50 процента от глобалните организации ще изпълняват приложения за контейнери през 2020 г., което е увеличение от по-малко от 20 процента през 2017.
Вече обяснихме как модулната архитектура на приложенията на микросервизите помага на развитието и ИТ екипите работят по-ефективно, като същевременно намаляват разходите и сложността на добавянето на нови функции и функционалност. От технологична гледна точка контейнерите са катализиращият агент на това уравнение DevOps. Те са удобният пакет, чрез който DevOps и IT екипите могат бързо и последователно да предават кода, конфигурациите и зависимостите на приложението напред и назад.
Но какво всъщност означава това за вашия бизнес? Разговарях с корпоративни ИТ решения и софтуерна компания с отворен код Red Hat, за да разбера. Този обяснител ще изложи не само какво представляват контейнерите и как работят, но и различните начини, по които - след като разберете технологията - вашата организация може да използва контейнирани разгръщания над вашия център за данни или облачна инфраструктура, за да достави по-бързо качествен софтуер.
Контейнери 101
На най-основното си ниво, контейнерите на Linux са подходящо наречени за металните контейнери за транспортиране, към които толкова често се приравняват. Независимо дали е на товарен кораб, товарен влак или на гърба на голям товарен автомобил, самият контейнер е същият равномерен съд за превоз на стоки. Ларс Херман, генерален мениджър на бизнес отдела за интегрирани решения в Red Hat, ръководи технологията на контейнерите за Linux на компанията. Херман каза, че предприятията трябва просто да гледат на контейнерите като на нова единица работа.
"Контейнерите са свързани с пъргавината", каза Херман. „В сложна организация става въпрос за възлагане на отговорности, заедно със свободата за предоставяне на функции. И контейнерите ви дават тази технология, за да поддържате всичко заедно, докато все още управлявате отговорността си за сигурността, наличността, спазването на регулаторите - всички неща, които са от значение.“
Кликнете върху изображението за пълна инфография. Кредит за изображение: Twistlock
По този начин хомогенността на контейнерите ги прави лесни за използване строителни блокове. Те са малки, подвижни устройства, върху които можете да изградите архитектура на микросервизи, която отчита оперативната ефективност и контрола на версиите. В същото време те предоставят на DevOps и IT екипи задълбочен контрол върху това как разгръщат инфраструктурни ресурси. Херман посочи също, че контейнерите са по същество технология на операционната система (OS).
"Контейнерите вземат операционната система и я разрязват на две части", обясни Херман. „От една страна, получавате работната единица за приложението, която съдържа код на приложението и зависимости по начин, който може да бъде оптимизиран от екипите на DevOps и те имат автономия и контрол, за да вземат решения, когато искат. Те вече не трябва да изчакайте други екипи.
"Другото парче е ядрото на операционната система. Натоварването на ядрото на OS и контейнерите осигурява поддръжка за ресурсите и примитивите, които искате да са достъпни като съхранение, работа в мрежа и сигурност. Тъй като контейнерите са технология на ОС, можете да ги стартирате навсякъде, независимо дали е виртуална хостове или обществен облак. Това хибридно качество ви позволява да управлявате всяко приложение във всяка среда, използвайки същата технология, като все още оправомощавате екипите на DevOps."
Контейнерите също не са едно и също нещо като виртуализацията. Херман обясни, че контейнерите и виртуализацията са реципрочни сили. Виртуализацията емулира виртуална хардуерна среда за стартиране на различни софтуерни стекове; той осигурява това, което се нарича абстракционен слой, за да даде на тази облачна компютърна среда гъвкавост по отношение на структурата и разполагането на приложенията и данните. Така че при едно виртуализирано ядро на OS можете да стартирате няколко сървъра или инстанции. Контейнерите са инстанциите.
"Все още има много объркване около объркване на контейнери с виртуализация", каза Херман. „Виртуализацията решава различен проблем и смятаме, че контейнерите и виртуализацията се допълват много добре. Виртуализацията осигурява абстракция и емулация и с контейнерите получавате подобен вид абстракция, но без емулация. Заедно те не ви дават измерими разходи и тон оперативна ефективност, но може да бъде трудно да се разделят двете."
Бърза разбивка на ландшафта на контейнерите
Принципите на DevOps и пъргавите, за които говорим по отношение на контейнерите, не са нещо ново, тъй като се връщат към концепцията за ориентирана към услуги архитектура (SOA), която е подробно описана в нашия обяснител за микросервизи по-горе. Модерният Linux контейнер е изобретен, когато Докер смени играта. Docker е няколко различни неща, но на първо място, това е изключително популярна технология с отворен код, разработена от Docker Project през 2013 г. Тя е предназначена за опаковане, доставка и изпълнение на всяко приложение като лек контейнер. През 2017 г. Докер добави възможността да стартира Linux контейнери в Windows, използвайки технологията Hyper-V.
Docker е сред няколко проекта с отворен код, които помагат за оформянето на технологията и пространството. Kubernetes, първоначално разработена от Google и сега управлявана от Cloud Native Computing Foundation, е система с отворен код за автоматизиране на разгръщане, мащабиране и управление на контейнери. Docker и Kubernetes са двата проекта с отворен код на електроцентралата, които имат най-голямо влияние върху развитието на технологиите. Всъщност през април Dockers пусна своята Docker Enterprise Edition (EE) 2.0, която позволява на потребителите да управляват и осигуряват работните си натоварвания в Kubernetes в мулти-Linux, multi-OS или мулти-облачна среда. Тази гъвкавост намалява вероятността компаниите да бъдат затворени в определена технология или инфраструктура. Докер казва, че EE 2.0 позволява на компаниите да спечелят по-голяма ефективност на разходите, като управляват приложения от единен контролен интерфейс, за да следят изображения, съхранение и мрежи.
Има десетки други компании, заедно с проекта Atomic на Red Hat (за комбинирани стекове Docker / Kubernetes) и инициативата Open Open Container на Linux Foundation, които имат за цел да създадат отворени индустриални стандарти около контейнерите. За Докер именно изображенията на Докер подпалиха света на развитието. Контейнер съхранява кода, библиотеките и конфигурационните файлове, за да пусне изображение на всяко място. "Всички контейнери поставяха услуги на един и същ възел, докато Докер не представи представата за разгръщане на базата на изображения", каза Херман.
Кликнете върху изображението за пълна инфография. Изображение: Проучването на Докер, 2016 г.
Docker също е стартъп (основан през 2010 г. като dotCloud), който събра повече от 242 милиона долара финансиране. Компанията предлага набор от корпоративни инструменти Container-as-a-Service (CaaS) за внедряване на Docker в центрове за данни и частни облаци. Разбира се, що се отнася до управлението на корпоративните контейнери, Докер не е сам в пространството. Red Hat предлага собствен набор от инструменти за разработчици на CaaS през своите Red Hat Enterprise Linux (RHEL), OpenShift и JBoss продукти.
Все повече и повече технологични компании с големи имена също влизат в акцията. Amazon Web Services (AWS), Microsoft Azure и Google Cloud Platform (GCP) имат всички интегрирани вградени инструменти за оркестрация и управление на контейнери в съответните им платформи за облачна инфраструктура като услуга (IaaS). На 8 май Microsoft обяви партньорство с Red Hat, за да позволи на разработчиците да пускат контейнерно базиран софтуер в Azure. Същия ден IBM съобщи, че ще разшири сътрудничеството си с Red Hat, за да даде възможност на разработчиците да изграждат приложения на интегрирана платформа за контейнери. За няколко кратки години пространството на контейнерите стана доста пренаселено.
Какви бизнес проблеми могат да решат контейнерите?
Когато става въпрос за внедряване на съвременни архитектури на приложения и принципи на DevOps в рамките на предприятието, контейнерите са отговор на редица проблеми. Особено когато организацията е вкоренена в наследени технологии и традиционни политики за развитие, контейнерите са лесно интегрираната платформа отдолу, която може да изглади прехода и да го улесни в ИТ отдела.
"В момента ние виждаме контейнеризацията като най-практичния начин за въвеждане на облак, DevOps и микросервизи във вашата среда. Контейнерите се интегрират естествено с технологиите, които вече имате", каза Херман.
Rich Sharples, старши директор за управление на продукти за междинен софтуер в Red Hat, каза, че всичко е за доставяне на качествен софтуер при по-бърза честота. Всички компании се стремят да пуснат по-бързо софтуер, за да се конкурират на собствените си пазари и този натиск често пада върху претоварен ИТ отдел. Sharples каза, че контейнерите са начин за производство на приложения и услуги, които могат да се променят по-бързо - било то добавяне на нова функция или критичен поправка на сигурността - като същевременно поддържат качество. Той също така говори за контейнеризирана инфраструктура като мост, който да подготви предприятията за микросервизи.
"Имаме този принцип на проектиране: не можем да си позволим да оставим никакви приложения зад себе си", каза Шарпълс. „Ние сме в този прекрасен нов свят на DevOps и гъвкава разработка на софтуер. Но предприятията не могат да пренапишат всички свои приложения, за да се присъединят към партията. Как да ги придвижим към тези нови идеи?
"Инвестирането в платформи като контейнери е начин да се гарантира, че организацията е готова да започне изграждането на нещо като микросервизи. Микросервизите и контейнерите заедно са там, където е истинската мощност. Няма нищо интересно за една микросервиз; само в множество виждате това мрежа за сътрудничество, съставена от дискретни парчета функционалност."
Кредит за изображение: Docs.Docker.com
Оценката дали да се инвестира в и приемане на контейнери не се отнася само до технологията. Sharples обясни, че за успешен преход към DevOps, който включва контейнери и микросервизи, ще са ви нужни архитектурата, основните платформи и гъвкавите процеси.
"Това не е просто технологично решение", каза Шарпълс. „Трябва да помислите дали вашата организация е готова, дали имате конкретни проблеми с доставката на софтуер, които трябва да решите, и да разберете как изглеждат бизнес драйверите около автоматизацията и DevOps. Разберете основните си изисквания, разгледайте нуждите на различните проекти и след това решете каква комбинация от облак, архитектура на приложения и контейнерна технология може да направи това."
Херман даде на корпоративните ИТ отдели три съвета, когато разгледа как контейнерите се вписват в тяхната организация:
1. Започнете
Според Herrmann, комбинацията от DevOps, agile, контейнери, микросервизи не е просто промяна на технологията в изолация. "Това е пътуване, което води до доста значителна трансформация в начина, по който ще работи вашият бизнес", каза той. "Първият ми съвет е да започнете, защото вашите конкуренти са. Да оставите ранните осиновители да сглобят парчетата е грешна стратегия, защото може да не наваксате."
2. Цялостна визия
Херман посъветва да подходите към контейнерите от по-холистична гледна точка. "Изберете най-важната си цел", каза той. „Способността за доставяне на софтуер по-бързо е чудесна отправна точка. На базата на тази единствена цел помислете как да приведете организацията си в процеса и структурирайте тази работа без риск и да продължите за съществуващите си операции.“
3. Екосистема
Много предприятия достигат до момента, в който са ограничени от наследената архитектура, процеси и платформи, посочи Херман. "Не можете да промените архитектурата, без да мислите за платформите, на които искате да разчитате", каза той. "Тогава въпросът е, с кого да работя? С кого да говоря? Нашата препоръка е да се търсят компании, които могат да помогнат не само с технологичните проблеми, но да управляват трансформацията във всички тези измерения: технология, процес, докрай за организация. Когато се занимавате с облак, DevOps, контейнери и микросервизи всички заедно, вие искате да разчитате на екосистема, която може да ви помогне да постигнете успех за кратък период от време и да ви избави от задънена улица."