Како преузети контролу над вашом мрежном инфраструктуром. Четврто поглавље. Аутоматизација. Шаблони

Овај чланак је шести у серији „Како преузети контролу над својом мрежном инфраструктуром“. Садржај свих чланака у серији и линкови се могу пронаћи овде.

Пошто сам оставио неколико тема иза себе, одлучио сам да започнем ново поглавље.

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

ДевОпс за мрежу

Креирање конфигурације помоћу скрипте, коришћење ГИТ-а за контролу промена у ИТ инфраструктури, даљинско „учитавање“ – ове идеје долазе на прво место када размишљате о техничкој примени ДевОпс приступа. Предности су очигледне. Али, нажалост, постоје и недостаци.

Када су пре више од 5 година наши програмери дошли код нас, мрежара, са овим предлозима, нисмо били одушевљени.

Морам рећи да смо наследили прилично шаролику мрежу, која се састоји од опреме од око 10 различитих произвођача. Било је згодно да конфигуришемо неке ствари преко нашег омиљеног кли-а, али у другима смо радије користили ГУИ. Поред тога, дуг рад на „живој“ опреми нас је научио контроли у реалном времену. На пример, када правим промене, осећам се много угодније да радим директно преко клипа. На овај начин могу брзо да видим да је нешто пошло наопако и вратим промене. Све је то било у некој супротности са њиховим идејама.

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

Или, како разумети да су конфигурационе команде правилно примењене и шта да радимо у случају грешке?

Не желим да кажем да су сва ова питања нерешива. Само изговорити „А“ вероватно има смисла рећи и „Б“, а ако желите да користите исте процесе за контролу промена као у развоју, онда морате да имате и окружења за развој и постављање поред продукције. Тада овај приступ изгледа завршен. Али колико ће то коштати?

Али постоји једна ситуација када су недостаци практично изравнани, а остају само предности. Говорим о дизајнерском раду.

Пројекат

Последње две године учествујем у пројекту изградње дата центра за великог провајдера. Одговоран сам за Ф5 и Пало Алто у овом пројекту. Са Цисцо-ове тачке гледишта, ово је „опрема треће стране“.

За мене лично, у овом пројекту постоје две различите фазе.

Прва фаза

Прве године сам био бескрајно заузет, радио сам ноћу и викендом. Нисам могао да подигнем главу. Притисак менаџмента и купаца био је јак и континуиран. У сталној рутини, нисам могао ни да покушам да оптимизујем процес. Није то била само и не толико конфигурација опреме колико израда пројектне документације.

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

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

Сада бисмо могли мало да погледамо около.
И ово је био почетак друге етапе.

Друга фаза

Одлучио сам да аутоматизујем процес.

Оно што сам схватио из тадашње комуникације са програмерима (а морамо одати почаст, имали смо јак тим) јесте да текстуални формат, иако на први поглед делује као нешто из света ДОС оперативног система, има број вредних имања.
Тако ће, на пример, текстуални формат бити користан ако желите да у потпуности искористите предности ГИТ-а и свих његових деривата. И желео сам.

Па, чини се да можете једноставно да сачувате конфигурацију или листу команди, али уношење промена је прилично незгодно. Поред тога, постоји још један важан задатак током дизајна. Требало би да имате документацију која описује ваш дизајн у целини (Дизајн ниског нивоа) и специфичну имплементацију (Мрежни план имплементације). И у овом случају, употреба шаблона изгледа као врло погодна опција.

Дакле, када користите ИАМЛ и Јиња2, ИАМЛ датотека са конфигурационим параметрима као што су ИП адресе, БГП АС бројеви, ... савршено испуњава улогу НИП-а, док Јиња2 шаблони укључују синтаксу која одговара дизајну, односно у суштини је одраз ЛЛД.

Требало је два дана да се научи ИАМЛ и Јиња2. Неколико добрих примера је довољно да разумете како ово функционише. Затим је требало око две недеље да се креирају сви шаблони који су одговарали нашем дизајну: недељу дана за Пало Алто и још недељу дана за Ф5. Све ово је објављено на корпоративном гитхабу.

Сада је процес промене изгледао овако:

  • променио ИАМЛ датотеку
  • креирао конфигурациону датотеку користећи шаблон (Јиња2)
  • сачувано у удаљеном спремишту
  • учитао креирану конфигурацију у опрему
  • Видео сам грешку
  • променио ИАМЛ датотеку или Јиња2 шаблон
  • креирао конфигурациону датотеку користећи шаблон (Јиња2)
  • ...

Јасно је да је у почетку доста времена утрошено на уређивање, али после недељу-две то је постала реткост.

Добар тест и прилика за отклањање грешака у свему била је жеља клијента да промени конвенцију именовања. Они који су радили са Ф5 разумеју пикантност ситуације. Али за мене је све било прилично једноставно. Променио сам називе у ИАМЛ датотеци, избрисао целу конфигурацију са опреме, генерисао нову и поставио је. Све, укључујући исправке грешака, трајало је 4 дана: два дана за сваку технологију. Након тога, био сам спреман за следећу фазу, односно стварање ДЕВ и Стагинг дата центара.

Развијање и постављање

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

da резимирамо

Дакле, шта имам у крајњој линији?

  • Све што треба да урадим да променим конфигурацију је да променим једноставну, јасно структурирану ИАМЛ датотеку са конфигурационим параметрима. Никада не мењам Питхон скрипту и веома ретко (само ако постоји грешка) мењам Јиња2 хеатлате
  • Са тачке гледишта документације, ово је скоро идеална ситуација. Ви мењате документацију (ИАМЛ фајлови служе као НИП) и отпремате ову конфигурацију у опрему. На овај начин ваша документација је увек ажурна

Све је то довело до тога да

  • стопа грешке је пала на скоро 0
  • 90 посто рутине је нестало
  • брзина имплементације је значајно порасла

ПАИ, Ф5И, АЦИ

Рекао сам да је неколико примера довољно да се разуме како то функционише.
Ево кратке (и наравно модификоване) верзије онога што је настало током мог рада.

ПАИ = распоређивање Pало Aлто од Yамл = Пало Алто из Јамла
Ф5И = распоређивање F5 од Yамл = F5 од Yамл (ускоро)
АЦИ = распоређивање ACја из Yамл = F5 од YЈр.

Додаћу неколико речи о АЦИ-у (да се не меша са АЦИ).

Они који су сарађивали са АЦИ-јем знају да ово чудо (и на добар начин) дефинитивно нису направили мрежари :). Заборавите све што сте знали о мрежи - неће вам бити од користи!
Мало је преувеличано, али отприлике преноси осећај који сам стално доживљавао, последње 3 године, радећи са АЦИ-јем.

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

Инжењери на овом пројекту користе Екцел да конфигуришу АЦИ уместо ИАМЛ-а за потпуно исте сврхе. Постоје, наравно, предности коришћења Екцел-а:

  • ваш НИП у једној датотеци
  • лепе знакове који су клијенту пријатни за гледање
  • можете користити неке Екцел алате

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

АЦИ је заправо примена истих приступа које сам користио за трећу страну да конфигурише АЦИ.

Извор: ввв.хабр.цом

Додај коментар