Як може допомогти контейнеризація зі швидкістю та ефективністю проекту?

Автор: Roger Morrison
Дата Створення: 28 Вересень 2021
Дата Оновлення: 19 Червень 2024
Anonim
Як може допомогти контейнеризація зі швидкістю та ефективністю проекту? - Технологія
Як може допомогти контейнеризація зі швидкістю та ефективністю проекту? - Технологія

Зміст


Джерело: Sashazamarasha / Dreamstime.com

Винос:

Контейнери дозволяють розробникам працювати швидше та ефективніше, ніж з віртуальними машинами.

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

Контейнер - це ресурс віртуалізації, який розділяє ядро ​​клонованої операційної системи з іншими контейнерами. Він вимагає менших зусиль для налаштування, ніж віртуальна машина в цілому, а також має деякі інші ключові переваги. Системи, включаючи контейнери Docker та Kubernetes, дозволяють компаніям будувати та масштабувати нові та захоплюючі способи.

Чому контейнери настільки популярні, і як вони сприяють ефективності та розширеній роботі? Ось кілька ідей деяких піонерів контейнеризації, які поклали цю філософію на роботу у своїх компаніях та організаціях. (Докладніше про контейнери див. У розділі Як контейнери допомагають корпоративним програмам.)


Інкапсуляція, мікросервіси та артефакти

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

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

"Ми вважаємо, що контейнер, а точніше зображення контейнера, - це новий артефакт доставки програмного забезпечення", - говорить Кріс Циборовський, генеральний директор NebulaWorks, який працював з контейнерами з перших днів у 2000-х. «Що я маю на увазі під цим і чому? Артефакт доставки - це виконувана версія програми розробника, яка готова до розгортання. У минулому це було щось, що включало лише сам виконуваний код, який залишав вирішення залежностей від виконання операцій. Використовуючи зображення контейнера, розробники можуть включати всі їх залежності, значно знижуючи ймовірність виходу з ладу часу через помилки людини під час розгортання програми. "


"Контейнери, які дозволяють організаціям легко мігрувати як програми, так і їх залежність між машинами, мають багато сенсу для організацій, які займаються розробкою власного програмного забезпечення", - каже Пітер Цай, старший аналітик технологій SpiceWorks, зазначаючи, що контейнери все ще є відносно нова технологія. "Сторонні рішення для контейнерів не такі надійні, як у середовищі віртуалізації. За даними Spiceworks, у 2018 році лише 19 відсотків організацій використовували контейнери, хоча, як очікується, ця кількість зросте до 35 відсотків до 2020 року. "

Скотт Бьюкенен, віце-президент з маркетингу компанії Heptio, пояснює це у вигляді корисної логістичної аналогії.

Ні помилок, ні стресу - покроковий посібник зі створення програмного забезпечення, що змінює життя, не руйнуючи ваше життя

Ви не можете покращити свої навички програмування, коли ніхто не піклується про якість програмного забезпечення.

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

Філософія DevOps

Контейнери також допомагають компаніям переслідувати щось, що називається "DevOps", яке є святим граалом у технології підприємств. Ідея полягає в тому, що ви наближаєте відділи розвитку та операцій, допомагаєте командам краще співпрацювати, а це покращує конвеєр і створює більш гнучку систему випуску. (Хочете дізнатися більше про DevOps? Перевірте менеджерів DevOps Поясніть, що вони роблять.)

"Не тільки Devs отримує вигоду - так і операції", - пояснює Циборовський, описуючи частину цієї функції DevOps. "Оскільки зображення контейнера є портативним, операційні команди можуть запускати зображення контейнера на будь-якому хості, який має сумісний час роботи контейнера - як Docker - і в міру зростання прийняття, використовуйте інструменти для оркестрування, такі як Kubernetes, для майже будь-якого стека додатків, для будь-якого типу інфраструктури, для Наприклад, локальні та хмарні. "

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

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

Ден Бартов ConDati описує, як контейнеризація Kubernetes допомогла компанії розвиватися.

"Перед Kubernetes нам довелося вручну вкластись у кожне середовище та вручну робити оновлення, витягуючи нові контейнери, зупиняючи старі, запускаючи нові та повторюючи це вручну для кожного клієнта", - говорить Бартоу. «Kubernetes перетворила години та години роботи у вихідні дні лише на кілька хвилин. За декілька клацань ми можемо здійснити постійне оновлення кожного контейнера в будь-якій або всіх середовищах. Це відбувається безперешкодно ».

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

Безпека

Крім усього, що контейнери обіцяють з точки зору функціональності, вони мають і деякі важливі переваги безпеки. Гольшан має багато що сказати про те, як «тонка поверхня атаки» при розгортанні контейнерів знижує ризик.

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

І, додає він, це ще не все.

«З іншого боку, контейнери вводять нові поверхні атаки двома способами. Ефемерність - це один елемент. Оскільки контейнери регулярно приходять і відправляються, добре вживати різких заходів безпеки, таких як вбивство контейнера, якщо він діє "неправильно". Але ця ефемерність також означає, що зловмисники можуть легше прикривати свої сліди і перешкоджати криміналістиці, запускаючи атаку, витягуючи дані та ін. потім вбиває контейнер, коли вони закінчать. Другий елемент ширшої поверхні атаки - це інші елементи екосистеми - найчастіше оркестратор. Оркестратори надають організаціям можливість масштабувати створення, розгортання та управління контейнерами, проте в галузі спостерігається безліч нападів і вразливості, пов'язаних з оркестром. Tesla побачила, що його інфраструктура Kubernetes була порушена таким чином, що дозволило зловмисникам видобувати криптовалюту, а у звіті було детально описано, як зловмисник міг би скомпрометувати кластери Kubernetes Shopify ".

У випадку Бартова фактична перевірка безпеки сторонньої сторони підтвердила, що менша атакова поверхня контейнерів є плюсом для ConDati.

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

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