Ансибле Вс. Кубернетес: Разумевање разлика –

Било која дискусија о аутоматизацији у ИТ операцијама не може бити потпуна без Ансибле-а и Кубернетеса. Иако ова два алата служе различитим сврхама, они су заиста револуционирали циклус развоја софтвера. Дакле, хајде да детаљно погледамо ове алате.

Шта је Ансибле?

Ансибле, првобитно замисао Мицхаела ДеХаа-а, тренутно је рангиран на ГитХуб-у као један од 100 најпопуларнијих пројеката. Веома је омиљен због свог једноставног језика и лакоће употребе. Данас је Ансибле широко прихваћен као де факто мерило за ИТ аутоматизацију.

Успешан у заједници отвореног кода, алат је доживео значајан развој, нудећи решења оператерима, администраторима и доносиоцима ИТ одлука у различитим техничким окружењима.

Ансибле

Сходно томе, истакнуте организације као што су Твиттер, еБаи, Веризон, НАСА, ИЛМ, Рацкспаце и Елецтрониц Артс увелико користе овај алат. Због свог успеха, Ред Хат је купио Ансибле 2015.

Ансибле чини управљање конфигурацијом, примену апликација и аутоматизацију задатака једноставним. У модерним дигиталним окружењима, ДевОпс професионалци га често користе за обезбеђивање ресурса за извршавање приступа инфраструктуре као кода (ИаЦ) за беспрекорну испоруку софтвера.

Ево неких од начина на које се Ансибле може користити:

  • Управљање конфигурацијом: Са Ансибле-ом, дефинисање жељених конфигурација за сервере, мрежне уређаје и друге инфраструктурне компоненте је дечија игра. Такође може аутоматски и доследно да репродукује ове конфигурације на више система, чиме се обезбеђује стандардизована структура и усклађеност.
  • Примена апликације: Ансибле чини примену апликација лаким аутоматизацијом процеса у различитим окружењима, од развоја преко тестирања до производње. Задаци као што су инсталирање софтвера, конфигурисање база података и постављање умрежавања се решавају са неколико команди.
  • Аутоматизација задатака: Реците збогом ручним задацима који се понављају! Ансибле омогућава ИТ тимовима да аутоматизују широк спектар задатака, као што су закрпе система, управљање резервним копијама, креирање корисничких налога и поновно покретање услуга. Ово ослобађа ваш тим да се фокусира на више стратешких иницијатива.
  • Обезбеђивање инфраструктуре: Динамичко обезбеђивање и конфигурисање ресурса, као што су виртуелне машине, инстанце у облаку и мрежни уређаји, на основу захтева могу бити заморне. Међутим, Ансибле вам поново долази у помоћ и може ефикасно да повећа или смањи вашу инфраструктуру.
  • Оркестрација: Ансибле блиста у управљању сложеним применама које укључују више система. Може да организује сложене токове посла за руковање задацима као што су примена вишеслојних апликација и увођење ажурирања у дистрибуирано окружење, на тај начин управљајући мрежним уређајима на координисан начин.
  • Предности Ансибле-а

    • Једноставан за учење и коришћење: Како се у књигама са играма користи ИАМЛ, прилично их је лако писати, што омогућава аматерима као и стручњацима да се забављају са њим. Једноставна и интуитивна синтакса олакшава брзо усвајање и глатке токове посла.
    • Написано у Питхон-у: Овај алат се односи на једноставност. Написан је у Пајтону, једном од најпопуларнијих и најнесофистициранијих програмских језика.
    • Архитектура без агената: Она је без агента. Ансибле може регулисати удаљене хостове преко ССХ-а без потребе за инсталацијом софтвера на њима. Користећи књиге и улоге, Ансибле олакшава дефинисање ваше идеалне инфраструктуре и аутоматизацију пута до тамо.
    • Побољшана безбедност: Са ССХ-ом, Ансибле даје приоритет безбедности између система. Он штити апликације и инфраструктуру од потенцијалних претњи.
    • Интеграција са системима за управљање аутентификацијом: Ансибле се интегрише са системима за управљање аутентификацијом као што су ЛДАП, Керберос и још много тога ради правилне контроле приступа и побољшане безбедности.
    • Поузданост: ИТ инфраструктури је потребна стабилност и поузданост. Ансибле има искуство у понуди високих перформанси и поузданости.

    Штавише, оно што Ансибле чини узбудљивим је то што је заиста једноставан за коришћење. Управљање локалном инфраструктуром и инфраструктуром заснованом на облаку је апсолутно, како би Шерлок рекао, „елементарно“ са Ансибле-ом.

    Како ради Ансибле?

    Пре него што уђемо у то како Ансибле функционише, погледајмо његове компоненте:

      Зашто мој Сири звучи чудно?

    Модули: Да је Ансибле јело (оброк), модули би били главни састојак. Они су унапред направљени мали програми који обрађују скоро све – од апликација и пакета до датотека на спољним системима. Ансибле имплементира дефинисана упутства на екстерним системима и истовремено испоручује модуле са командног рачунара.

    Плаибоокс покрећу тај повезани модул и извлаче га из петље када се задатак заврши. Ансибле има преко 750 (стално растућих) уграђених модула, што олакшава аутоматизацију са својим играма и задацима!

    Извор слике: ИнтервиевБит

    Приручници: Приручници су кориснички оријентисани приручници који користе ИАМЛ формат да поједноставе аутоматизацију. Ова упутства диктирају ток посла и извршавају задатке на уредан начин. Приручници могу да извршавају секвенцијалне процедуре, дефинишу окружења и управљају различитим фазама задатка.

    Додаци: Ансибле додаци побољшавају уграђену и прилагођену функционалност веб локације. Систем може да врши евидентирање, приказ догађаја, кеширање и функције фронт-енд контролера и извршава их пре модула на чворовима.

    Инвентари: Ансибле инвентари садрже листе хостова са њиховим ИП адресама, серверима и базама података. ССХ за УНИКС, Линук или мрежне уређаје и ВинРМ за Виндовс системе помажу у управљању њима.

    Остале Ансибле компоненте су АПИ, Цлоуд, Хост, Мрежа и ЦМД (база података за управљање конфигурацијом).

    Ево како Ансибле ради своју магију:

    Прво, Ансибле има датотеку инвентара са листом хостова или машина. Корисници могу да измене ову датотеку инвентара додавањем сервера које желе да контролишу.

    Следећи корак је креирање приручника за дефинисање идеалне инфраструктуре на управљаним чворовима. Сада, пошто Ансибле ради на контролном чвору који помаже у извршавању задатака на удаљеном систему, он ће успоставити ССХ везу са овим другим. Омогућава сигурну комуникацију између чворова.

    Затим шаље и извршава модуле за обављање задатака дефинисаних у приручницима, доводећи системе у жељено стање.

    Након завршетка задатка, Ансибле уклања модуле из управљаних чворова како би спречио преостале модуле. На крају, пружа извештаје о статусу имплементације задатака, омогућавајући корисницима да прате напредак и резултате задатака аутоматизације. Штавише, Ансибле може да ради редовно како би одржавао и побољшавао систем током времена.

    Шта је Кубернетес?

    Јое Беда, Брендан Бурнс и Цраиг МцЛуцкие су бриљантни умови иза Кубернетеса. Радећи као инжењери у Гоогле-у, креирали су овај алат, који је сада моћан за контејнерске апликације.

    У почетку, Кубернетес је развио Гоогле за управљање сопственим контејнерским апликацијама у производњи, а први пут је објављен као пројекат отвореног кода 2014.

    У 2015. години, Гоогле је донирао Кубернетес Цлоуд Нативе Цомпутинг Фоундатион (ЦНЦФ) независном од добављача како би унапредио технологију рачунарства засновану на облаку.

    Од тада, Кубернетес је постао један од водећих пројеката ЦНЦФ-а, са широким усвајањем у индустрији, и етаблирао се као лидер у оркестрацији контејнера.

    Према Гартнеру, око 85% организација ће користити Кубернетес до 2025. А зашто не би? Његов робустан екосистем додатака, алата и услуга чини га разноврсном платформом за управљање контејнерским апликацијама.

    Кубернетес је прошао кроз неколико важних ажурирања, доносећи нове функционалности, побољшања и исправке грешака са сваким издањем. Непрестано се развија и побољшава, захваљујући страственој заједници која стоји иза тога!

    Предности Кубернетеса

    • Скалабилност: Лако скалирајте апликације на основу потражње.
    • Преносивост: имплементирајте апликације и управљајте њима доследно у различитим окружењима.
    • Флексибилност: Подршка за различита времена извођења контејнера и формате.
    • Аутоматизација: аутоматизујте постављање контејнера, скалирање, праћење и лечење.
    • Отпорност: Уграђена толеранција грешака и могућности самоизлечења.
    • Омогућавање ДевОпс-а: Промовише сарадњу између програмера и оперативних тимова.
    • Проширивост: прилагодљива и проширива архитектура за интеграцију са другим алатима.
    • Заједница и екосистем: Велика заједница и екосистем за побољшане могућности.

    Како функционише Кубернетес?

    Како је Кубернетес платформа која помаже у оркестрацији контејнера, први корак укључује паковање апликације у контејнере уз помоћ алата за контејнеризацију, као што је Доцкер. Ови контејнери су сами себи довољни, са свим потребним софтвером и зависностима за беспрекоран рад у различитим окружењима.

    Затим, са ИАМЛ или ЈСОН-ом, дефинише се стање апликација, укључујући слике контејнера, захтеве за ресурсима, смернице за скалирање, умрежавање и конфигурације складиштења. Датотеке са упутствима се називају манифести.

    У Кубернетес-у, кластер је попут тима рачунара, који се називају чворови, који заједно раде на покретању ваших апликација. Замислите чворове као играче у фудбалском тиму, а сваки играч може покренути више контејнера, који су попут опреме или опреме играча потребних за играње игре.

      Како користити покрете руку за покретање реакција у ФацеТиме видео позивима

    Кубернетес компоненте

    Најмањи грађевински блок у Кубернетесу се зове Под, који је као удобан мали дом за један или више контејнера. Подови су попут свлачионица играча, где се друже и деле ствари попут мреже и ресурса за складиштење. Сваки Под има своје јединствено име и адресу, тако да се лако можете идентификовати и комуницирати са њима.

    Распоређивање је попут тренера који управљају тимом. Они говоре Кубернетесу колико играча (или реплика) сваког Пода треба да ради у било ком тренутку. Баш као што тренер управља играчима на терену, Деплоимент управља креирањем, скалирањем и брисањем Подова како би се осигурало да је ваша апликација увек у жељеном стању.

    Услуге су као судије које помажу играчима да комуницирају једни са другима. Они пружају стабилну адресу, као што је број телефона, коју други могу користити за приступ вашој апликацији. Услуге бирају праве подове на основу ознака, као што је позиција играча, и равномерно распоређују саобраћај између њих, осигуравајући да сви добију фер шансу да играју.

    За руковање важним информацијама као што су лозинке или АПИ кључеви, Кубернетес обезбеђује ЦонфигМапс и Сецретс. Они су као кутије за закључавање у које можете безбедно да складиштите ове осетљиве детаље, а затим их користите у својим Подовима и Деплоиментс да бисте приступили ресурсима без излагања у обичном тексту.

    Коначно, Кубернетес АПИ сервер је попут телефонске линије за тренере тима. Пружа једноставан начин за управљање стањем тима помоћу РЕСТфул АПИ-ја, са којим можете да комуницирате помоћу кубецтл-а или других Кубернетес алата. То је као да имате директну линију са канцеларијом тренера да бисте дали упутства или добили ажуриране информације о учинку тима.

    Поређење функција: Ансибле у односу на Кубернетес

    ФеатуреАнсиблеКубернетесТипеЦонфигуратион алат за управљање и аутоматизацију Платформа за оркестрацију контејнераСврхаАутоматизација ИТ задатака као што су управљање конфигурацијом, имплементација апликација и обезбеђивање системаАутоматско постављање, скалирање и управљање контејнеризованим апликацијамаАрцхитецтуреАгентлесс, користи ССХ или ВинРМ за комуникацију са Л, циљном архитектуром, без матичне конфигурације у АМ ативе језик Написан у ИАМЛ или ЈСОН, декларативни језик Скалабилност Подржава и мале и велике инфраструктуре Дизајниран за примену великих размера. Висока доступност заснована на повлачењу, где се контејнери повлаче из регистра контејнера до циљних чворова Пружа уграђене функције високе доступности са аутоматским репрограмирањем контејнера и функционалним радом чворова.
    Пружа напредне мрежне функционалности као што су откривање услуга, балансирање оптерећења и рутирање засновано на ДНС-у, засновано на ДеплоиментПусх-у, где се промене конфигурације прослеђују циљним системима
    Користи ТЛС за комуникацију, обезбеђује уграђену изолацију контејнера и РБАЦ за контролу приступа.
    Подржава ажурирања са минималним застојима
    Подржава ажурирања која се ажурирају без провере здравља
    Пружа основне здравствене провере за циљне системе
    Пружа напредне провере здравља за контејнере и аутоматска рестартовања контејнера. Сигурност Користи ССХ или ВинРМ за комуникацију, захтева одговарајућу аутентификацију и ауторизацију

    Умерено до стрмо, захтева разумевање концепата контејнеризације, умрежавања и дистрибуираних система Проширивост Пружа прилагођене модуле за проширење функционалности
    Пружа прилагођене ресурсе и операторе за проширење функционалности Крива учења

    Умерено, захтева познавање ИАМЛ-а и основне скрипте

    Умерено до стрмо, захтева разумевање концепата контејнеризације, умрежавања и дистрибуираних система

    Употреба Кубернетеса

    Примена апликације

    Управљање сложеним апликацијама у производном окружењу захтева беспрекорно извршавање бројних задатака у временском оквиру. Ако би програмери ручно извршавали задатак, требало би им неколико недеља пре постављања апликације.

    Међутим, коришћењем Кубернетес-а и складиштењем апликација у контејнере, они не само да могу да их имплементирају и управљају њима на кластеру машина, већ и да обезбеде доследност и поновљивост. Они могу постићи максималну ефикасност аутоматизацијом задатака као што су заказивање, скалирање и ажурирања.

    Скалабилност и балансирање оптерећења

    Да би апликација била успешна, она мора да прихвати већи обим саобраћаја без угрожавања перформанси. Кубернетес-ове уграђене карактеристике скалабилности и балансирања оптерећења нуде најбољу опцију.

    Распоређује радна оптерећења на групу машина и аутоматски се повећава или смањује на основу потражње, обезбеђујући високу доступност. Штавише, такође помаже у расподели долазног саобраћаја на више инстанци.

      Делите снимке екрана и текст са свог иПхоне-а на више друштвених мрежа [Beta Invites]

    Откривање услуга и умрежавање

    Већина апликација не може да ради самостално. Морају да се повежу са другим апликацијама или услугама. Кубернетес нуди мрежне функције које помажу у успостављању комуникације између контејнера унутар кластера. Апликације такође могу да открију и повежу се са другим услугама које раде у групи преко ДНС-базираног сервисног алата.

    Роллинг Упдатес анд Роллбацкс

    Уз Кубернетес, ажурирање апликација или враћање на старије верзије је једноставно. Аутоматизује процес и обезбеђује беспрекорна ажурирања без ометања доступности апликације, омогућавајући ажурирање и враћање унатраг уз мало застоја.

    Управљање инфраструктуром

    Кубернетес користи декларативни приступ да поједностави управљање инфраструктуром. Омогућава корисницима да дефинишу инфраструктурне ресурсе као што су складиштење, умрежавање и рачунарство као код користећи ИАМЛ или ЈСОН манифесте. Ови манифести или конфигурациони фајлови омогућавају верзионисање, аутоматизацију, управљање ИаЦ-ом (Инфраструктура као код) и поједностављење управљања сложеним инфраструктурним конфигурацијама.

    Хибридна и мулти-цлоуд имплементација

    Кубернетес је мењач игре за организације које траже прилагодљивост и агилност у примени. Коришћењем конзистентног слоја апстракције, постављање и управљање апликацијама у различитим добављачима облака или локалним центрима података постаје ефикасно.

    Омогућава корисницима да усвоје хибридну или мулти-цлоуд стратегију, користећи флексибилност и преносивост контејнера за примену и управљање апликацијама у различитим окружењима.

    Ансибле и Кубернетес – Животни циклус развоја софтвера

    Фаза у СДЛЦ Ансибле КубернетесДевелопмент Омогућава аутоматско управљање конфигурацијом и примену развојних окружења, омогућава контролу верзија за конфигурационе датотеке и олакшава примену кода
    Н/АТестинг Обезбеђује аутоматизовано обезбеђивање и конфигурацију окружења за тестирање, омогућава лаку репликацију окружења и подржава задатке аутоматског тестирања
    Н/Аконтинуирана интеграција/континуирана примена (ЦИ/ЦД)
    Олакшава аутоматизовану примену апликација и промене конфигурације, омогућава контролу верзија за инфраструктурни код и подржава континуирану испоруку и цевоводе за примену
    Олакшава примену у контејнерима, скалирање и управљање апликацијама, подржава ажурирања у току и имплементације без застоја Постављање/препродукција
    Обезбеђује аутоматизовано обезбеђивање и конфигурацију окружења за провођење, омогућава конзистентност између окружења за припрему и производњу и олакшава тестирање окружења сличних производњи
    Олакшава примену контејнера и скалирање апликација у претпродукцијским окружењима, омогућава тестирање контејнеризованих апликација у изолованом окружењуПродукција Олакшава аутоматизовано обезбеђивање, конфигурисање и управљање производним окружењима, омогућава инфраструктуру као код (ИаЦ) праксе и подржава примену производње
    Омогућава примену у контејнерима, скалирање и управљање производним апликацијама, нуди уграђене функције високе доступности и напредне мрежне функционалности Операције/одржавање
    Аутоматизује управљање померањем конфигурације, континуирано праћење и спровођење жељеног стања. Подржава прављење резервних копија, надоградње и оперативне задатке. Поједностављује управљање апликацијама, скалирање, надоградње и оперативне задатке као што су ажурирања и аутоматско поновно покретање за апликације у контејнерима.
    Решавање проблема/отклањање грешака
    Омогућава видљивост конфигурације, решавање проблема и враћање уназад за проблеме. Омогућава видљивост апликације контејнера, решавање проблема, отклањање грешака и евиденције/дијагностику.

    Ансибле случајеви употребе

    ИТ оперативни тим управља великом инфраструктуром са стотинама сервера у више центара података. Са Ансибле-ом, они аутоматизују доследна и безбедна подешавања сервера и процесе као што су управљање корисницима, постављање заштитних зидова и спровођење безбедносних политика.

    Сервери су груписани према улогама и окружењима, а редовно покретање приручника их одржава ажурираним и усаглашеним. Ансибле поједностављује управљање конфигурацијом, смањује ручни рад и побољшава безбедност.

    Кубернетес случајеви употребе

    Развојни тим прави веб апликацију микросервиса и примењује је помоћу Кубернетеса, конфигуришући умрежавање, складиштење и контејнере помоћу Доцкер-а и манифеста. Кубернетес управља скалирањем, балансирањем оптерећења, самооздрављењем и ажурирањима. Једноставно се повећава или смањује, а то гарантује толеранцију грешака и високу доступност.

    Овај Кубернетес Деплоимент ресурс примењује веб апликацију са 3 реплике. Ознаке означавају да су инстанце апликације и конфигурације контејнера дефинисане у пољу шаблона. Кубернетес управља скалирањем, балансирањем оптерећења, самоопорављајућим и ротирајућим надоградњама за скалабилну, отпорну, отпорну на грешке и високо доступну апликацију.

    Администрација је лакша са контејнерима и Кубернетес-ом, обезбеђујући уједначену примену и лако скалирање. Више конфигурација се може додати по потреби за умрежавање, складиштење и друге потребе.

    У закључку

    Иако су Ансибле и Кубернетес алати за аутоматизацију, њихово директно поређење једно са другим не би било сасвим фер. Ансибле помаже у управљању конфигурацијама и задацима у широком спектру система, док је Кубернетес више о оркестрацији контејнера.

    Ако узмемо у обзир традиционалну ИТ инфраструктуру, Ансибле би био прави избор за руковање конфигурацијама и имплементацијама. Међутим, Кубернетес је одличан за модерна окружења која су изворна у облаку и управљање контејнерским апликацијама.

    Такође, оба алата имају своје предности и могу у великој мери побољшати ИТ аутоматизацију и токове рада у примени у својим областима стручности. Дакле, разумевање њихове јединствене намене и њихово коришћење у складу са тим може донети огромну вредност вашим операцијама.