Будинки Бізнес Контейнери, пояснили

Контейнери, пояснили

Зміст:

Anonim

На сьогоднішній день контейнери - це звична концепція для вашого відділу ІТ. Найбільш спритний малий середній бізнес (SMB) або підприємства вже можуть їх використовувати. Що стосується розробки додатків та ІТ-інфраструктури, контейнери Linux є настільки ж модними, як ви побачите з подібними технологіями.


Насправді 451 науково-дослідних проектів розширить ринок контейнерних прикладних програм з 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 - це декілька різних речей, але, в першу чергу, це надзвичайно популярна технологія з відкритим кодом, яка була розроблена докерським проектом у 2013 році. Він призначений для упаковки, доставки та запуску будь-якої програми як легкий контейнер. У 2017 році Докер додав можливість запускати контейнери Linux у Windows за допомогою технології Hyper-V.

Docker - один із декількох проектів з відкритим кодом, які допомагають формувати технологію та простір. Kubernetes, спочатку розроблений Google, а зараз керується Фондом Cloud Native Computing Foundation, є системою з відкритим кодом для автоматизації розгортання, масштабування та управління контейнерами. Докер і Кубернетес - це два електростанції з відкритим кодом, які найбільше впливають на розвиток технології. Насправді, у квітні Dockers випустила свою Docker Enterprise Edition (EE) 2.0, яка дозволяє користувачам керувати та захищати свої робочі навантаження в Kubernetes в різних Linux-системах, кількох ОС або мульти-хмарах. Ця гнучкість знижує ймовірність того, що компанії будуть зафіксовані на певній технології чи інфраструктурі. Докер каже, що EE 2.0 дозволяє компаніям підвищити ефективність витрат, керуючи програмами з єдиного інтерфейсу управління для відстеження зображень, зберігання даних та мереж.

Існують десятки інших компаній, поряд з проектом Atomic Red Hat (для комбінованих стеків Docker / Kubernetes) та Ініціативою відкритого контейнера Linux Foundation, яка спрямована на створення відкритих галузевих стандартів навколо контейнерів. Для Докера саме Докерські образи підпалили світ розвитку. Контейнер зберігає код, бібліотеки та файли конфігурації для запуску зображення в будь-якому місці. "Усі контейнери розміщували служби на одному вузлі, поки Докер не представив поняття розгортання на основі зображень", - сказав Геррман.

Клацніть зображення для отримання повної інфографіки. Зображення: Огляд Докера, 2016 рік

Docker - це також стартап (заснований у 2010 році як dotCloud), який зібрав понад 242 мільйони доларів фінансування. Компанія пропонує набір корпоративних інструментів Container-as-a-Service (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 та мікросервіси у своє середовище. Контейнери природно інтегруються в уже наявні технології", - сказав Геррман.

Річ Шарплс, старший директор з управління продуктами середнього програмного забезпечення Red Hat, сказав, що справа в тому, щоб забезпечити якісне програмне забезпечення при більш швидкій частоті. Всі компанії прагнуть швидше викласти програмне забезпечення, щоб конкурувати на власних ринках, і цей тиск часто падає на перевантажений ІТ-відділ. Шарплс заявив, що контейнери - це спосіб виробляти додатки та послуги, які можна змінити швидше - будь то додавання нової функції або критичне виправлення безпеки - зберігаючи якість. Він також розповів про контейнерну інфраструктуру як міст, щоб підготувати підприємства до мікропослуг.

"У нас є такий принцип дизайну: ми не можемо дозволити собі залишати жодні програми позаду", - сказав Шарплз. "Ми перебуваємо в цьому чудовому новому світі DevOps та гнучкої розробки програмного забезпечення. Але підприємства не можуть переписати всі свої програми для того, щоб приєднатися до партії. Як ми рухаємо їх до цих нових ідей?

"Інвестування в такі платформи, як контейнери - це спосіб переконатися, що організація готова почати створювати щось на зразок мікросервісів. Мікросервіси та контейнери разом - це справжня потужність. Ні в одному мікросервісі немає нічого цікавого; це ви бачите лише в множині мережа, що співпрацює, складається з дискретних фрагментів функціональності ".

Кредитна графіка: Docs.Docker.com

Оцінка того, чи варто інвестувати та приймати контейнери, стосується не лише технології. Шарплз пояснив, що для успішного переходу до DevOps, який включає контейнери та мікросервіси, вам знадобляться архітектура, базові платформи та гнучкі процеси.

"Це не просто технологічне рішення", - сказав Шарплз. "Вам потрібно подумати про те, чи готова ваша організація, чи є проблеми з доставкою програмного забезпечення, які потрібно вирішити, і зрозуміти, як виглядають бізнес-драйвери навколо автоматизації та DevOps. Розумійте свої ключові вимоги, переглядайте потреби різних проектів та потім вирішіть, яка комбінація хмари, архітектури додатків та контейнерної технології може це зробити. "

Геррман дав корпоративним ІТ-відділам три поради, розглядаючи, як контейнери вписуються в їх організацію:

1. Почніть

За словами Геррмана, поєднання DevOps, agile, контейнерів, мікросервісів - це не просто зміна технології в ізоляції. "Це подорож, яка призводить до досить значної трансформації в тому, як буде працювати ваш бізнес", - сказав він. "Моя перша порада - почати роботу, бо ваші конкуренти. Дозволити ранньому усиновлювачу скласти шматки разом - це неправильна стратегія, тому що ви можете не наздогнати".

2. Комплексне бачення

Геррман радив підходити до контейнерів з більш цілісної точки зору. "Оберіть свою найважливішу мету", - сказав він. "Можливість швидшої доставки програмного забезпечення є чудовою відправною точкою. Виходячи з цієї однієї мети, подумайте про те, як ви залучите свою організацію в процес, і структуруйте цю роботу без ризику і не працюйте на існуючих операціях."

3. Екосистема

Багато підприємств наближаються до того, що вони обмежені спадковою архітектурою, процесами та платформами, зазначив Геррман. "Ви не можете змінити архітектуру, не думаючи про платформи, на які ви хочете покластися", - сказав він. "Тоді питання полягає у тому, з ким я працюю? З ким я розмовляю? Наша рекомендація - шукати компанії, які можуть допомогти не просто з технологічними проблемами, а керувати трансформацією за всіма цими аспектами: технологія, процес, весь шлях До організації, працюючи з хмарами, DevOps, контейнерами та мікропослугами разом, ви хочете покластися на екосистему, яка може допомогти вам досягти успіху за короткий проміжок часу і позбавити вас від тупиків ".

Контейнери, пояснили