Преглед садржаја[Сакрити][Прикажи]
Инфраструктура је важан део процеса развоја софтвера јер је директно одговорна за несметан рад софтверске апликације. Сервери, балансери оптерећења, заштитни зидови, базе података и компликовани кластери контејнера су примери инфраструктуре.
Пошто инфраструктурне потешкоће прожимају цео процес развоја, оне су релевантне и изван производних ситуација.
Они укључују ЦИ/ЦД платформе, окружења за постављање и алате за тестирање, између осталог.
Како се комплексност софтверског производа повећава, ови инфраструктурни изазови постају критичнији. Традиционална техника ручног управљања инфраструктуром брзо постаје нескалабилно решење које одговара тежњама данашњих циклуса брзог развоја софтвера заснованог на ДевОпс-у.
Као резултат тога, Инфраструктура као код (ИаЦ) је данас постало де фацто развојно решење. Инфраструктура као код (ИаЦ) вам омогућава да скалирате и пратите промене инфраструктуре како се појаве.
У овом делу ћемо детаљније погледати инфраструктуру као код, укључујући њене предности, зашто је витална и још много тога. Дакле, хајде да почнемо.
Шта је Инфраструктура као код?
Инфраструктура као код је процес обезбеђивања и конфигурисања окружења коришћењем кода уместо ручног конфигурисања одговарајућих уређаја и система. Програмери покрећу скрипте након дефинисања параметара кода, а ИаЦ платформа аутоматски генерише инфраструктуру облака.
Такве аутоматизоване ИТ конфигурације омогућавају тимовима да брзо конструишу неопходна подешавања у облаку за тестирање и покретање свог производа. Инфраструктура као код омогућава програмерима да изграде било коју компоненту инфраструктуре коју желе, као што су мреже, balanseri opterećenja, базе података, виртуелне машине и врсте веза.
Лаички речено, то је процес снабдевања и управљања инфраструктуром специфицираним помоћу кода, а не ручно. ИаЦ је такође важна ДевОпс техника која је потребна за брз животни циклус испоруке софтвера.
Омогућава ДевОпс тимовима да брзо конструишу и верзију инфраструктуру на исти начин на који је верзионисан изворни код, као и да прате ове верзије како би минимизирали недоследност између ИТ окружења, што може да изазове велике проблеме током примене.
Декларативни наспрам императивних приступа ИаЦ-у
ИаЦ-у се може приступити на два начина: декларативно или императивно.
ИаЦ алат ће подесити систем за вас ако користите декларативни приступ, који описује предвиђено стање система, укључујући ресурсе који су вам потребни и које квалитете треба да имају.
Декларативни приступ такође одржава праћење тренутног стања објеката вашег система, што олакшава управљање временом застоја ваше инфраструктуре. Императивна метода, с друге стране, описује одређене инструкције које се морају извршити у одговарајућем редоследу да би се створила предвиђена конфигурација.
Многе ИаЦ технологије користе декларативни приступ обезбеђивању инфраструктуре и то ће учинити аутоматски. Декларативна ИаЦ алатка ће применити измене на жељено стање за вас ако их направите. Мораћете да сазнате како да примените та подешавања ако користите основни алат. ИаЦ алати су често способни да раде у оба режима, иако дају предност једном у односу на други.
Како функционише инфраструктура као код?
Да би се инфраструктура у потпуности имплементирала као код, мора постојати неколико захтева.
Платформа за клауд хостинг као услугу (ИааС)
Прва и најважнија потреба је хостинг са удаљеним приступом. Алат за управљање конфигурацијом мора да се повеже са удаљеним хостом и да тамо изврши промене. Ваш тим мора да гарантује да алатка за управљање конфигурацијом има приступ ако се удаљеном инфраструктуром управља самостално.
АПИ-ји на платформи за хостовање у облаку омогућеној за ИааС омогућавају клијентима да граде, уклањају и мењају инфраструктурне ресурсе на захтев. Системи за управљање конфигурацијом могу да користе ове АПИ-је да још више аутоматизују ове активности. Дигитал Оцеан, Амазон АВС и Мицрософт Азуре су три главна ИааС система.
Платформа за управљање конфигурацијом
Пакет алата који се повезује на ИааС АПИ-је и аутоматизује типичне операције је следећи предуслов за завршетак ИаЦ-а. Група људи може да ради заједно на стварању колекције скрипти и алата. Међутим, за то би био потребан значајан напор, стално одржавање и минималан поврат улагања. Терраформ, Ансибле, Салт Стацк и Цхеф су само неки од алата за управљање конфигурацијом отвореног кода који се баве овим изазовом.
Систем Цонтрол Систем
Платформа за управљање конфигурацијом користи текстуалне датотеке написане у маркуп језику као што је ИАМЛ да обезбеди задатке и секвенце које платформа може да изврши. Ове текстуалне датотеке се могу третирати као код апликације и чувати у спремишту за контролу верзија. Захтеви за повлачење и прегледи кода су дозвољени у спремишту, што делује као јединствена тачка истине. Систем контроле верзија Гит је најпопуларнији.
Уз ове предуслове, размотрите следећи сценарио: програмер жели да дода нову услугу апликације систему. Овај пример илуструје ИаЦ процес.
- У својој преферираној платформи за управљање конфигурацијом, Терраформ, програмер модификује текстуалну датотеку ИАМЛ конфигурације. Промене наводе да је потребан нови хостинг сервер.
- У Гит спремишту, програмер урезује измене у грану карактеристика. Програмер креира захтев за повлачење пошто се Гит спремиште пројекта налази на Битбуцкет-у. Други члан тима прегледа захтев за повлачење и примећује нова побољшања инфраструктуре. Захтев за повлачење одобрава члан тима, а програмер интегрише промену у главну грану спремишта.
- Конфигурациона платформа је потребна у овом кораку да би се извршило ажурирање. Програмер може ручно да покрене ажурирање. Пошто тим користи Битбуцкет, они имају приступ Битбуцкет цевоводима и могу их користити за аутоматизацију ове процедуре.
- Терраформ се повезује са ИааС-ом тима након извршења. Терраформ користи ИааС АПИ за покретање низа команди које ажурирају ИааС на предвиђену конфигурацију инфраструктуре.
Предности ИаЦ-а
ИаЦ помаже организацијама у управљању захтевима своје ИТ инфраструктуре на различите начине путем аутоматизованих процедура. Неке од предности инсталирања ИаЦ-а су следеће:
- Конзистентност: ИаЦ може повећати доследност и смањити грешке које се често јављају током ручних подешавања. Такође спречава померање конфигурације до које може доћи током ручне операције. ИаЦ вам омогућава да спречите недокументоване, ад-хоц модификације конфигурације тако што ћете кодификовати и документовати своје стандарде конфигурације.
- Ефикасност: Кодификовање ваше инфраструктуре ствара шаблон за обезбеђивање, што олакшава конфигурацију система, одржавање и администрацију. Гради флексибилну, поновљиву и скалабилну инфраструктуру. Као резултат тога, ДевОпс може убрзати сваку фазу развоја софтвера, што доводи до тога да се више апликација објављује на дневној бази.
- Смањени трошкови: ИаЦ омогућава да се виртуелним машинама управља програмски, уклањајући потребу за ручном конфигурацијом хардвера и надоградњом. Користећи исти део кода, један оператер може да инсталира и управља једном машином или 1000 јединица. Као резултат, потребно је мање запослених и нова опрема више није потребна, што резултира значајним уштедама.
- Брзина: ИаЦ смањује време потребно програмерима да испоруче своју инфраструктуру претварајући је у једноставну скрипту. Као резултат тога, инфраструктура више не одлаже имплементацију апликација, а нови софтвер се може испоручити знатно брже.
- Смањите ризик: Као што ИаЦ подстиче верзија контроле, ваше конфигурационе датотеке, као и свака друга датотека изворног кода софтвера, могу се пратити. Као последица тога, ризик је смањен.
Који проблем решава ИаЦ?
Инфраструцтуре ас Цоде је креирана да се позабави питањем одступања околине цевовода за ослобађање. Без ИаЦ-а, тимови су одговорни за одржавање подешавања сваког окружења за примену. Свако окружење еволуира у пахуљицу, јединствени аранжман који се не може аутоматски реплицирати.
Током примене, недоследност између окружења изазива проблеме. Снежним пахуљама су потребне ручне операције којима је тешко управљати и које доприносе грешкама у администрацији и одржавању инфраструктуре.
Инфраструктура као кодекс се придржава идеје идемпотенције.
Идемпотенција се односи на чињеницу да команда за примену увек конфигурише циљно окружење на исти начин, без обзира на почетно стање окружења. Идемпотенција се постиже или аутоматским постављањем постојећег циља или одбацивањем постојећег циља и почињењем изнова.
Као резултат тога, користећи ИаЦ, тимови мењају опис окружења и верзију конфигурационог модела, који је често написан у добро документованим форматима кода као што је ЈСОН. Модел се покреће у цевоводу за издавање да би се поставила циљна окружења. Тим уређује извор, а не циљ, ако треба да унесе измене.
Колико је ИаЦ важан у ДевОпс-у?
Имплементација методологија ДевОпс-а и континуиране интеграције/континуиране испоруке (ЦИ/ЦД) захтева употребу ИаЦ-а. То ослобађа програмере већине обавеза обезбеђивања, омогућавајући им да само покрену скрипту како би своју инфраструктуру покренули и покренули.
Као резултат тога, имплементација апликација није заустављена док се инфраструктура гради, а администратори система нису оптерећени ручним задацима који одузимају много времена. Од интеграције и тестирања до испоруке и примене, ЦИ/ЦД се ослања на сталну аутоматизацију и континуирано праћење током животног циклуса апликације. За рад аутоматизације потребно је стално окружење.
Када развојни тим испоручује апликације или конфигурише окружења на један начин, а оперативни тим инсталира и конфигурише окружење на другачији начин, аутоматизација примене апликација није могућа.
ДевОпс методологија усклађује развојне и оперативне тимове, што резултира мањим бројем грешака, ручног постављања и недоследности. Пошто и развојни и оперативни тимови могу да користе исти опис примене апликације, ИаЦ вам помаже да синхронизујете развој и операције, омогућавајући ДевОпс приступ.
Свако окружење, укључујући и ваше производно окружење, треба да прати исти метод примене. Сваки пут када се ИаЦ користи, ствара се идентично окружење.
Zakljucak
ДевОпс се у великој мери ослања на инфраструктуру као код. Инфраструктура као код је природни следећи корак у припремању ваших операција за будућност у свету у коме дисруптивне технологије непрестано трансформишу ИТ сектор.
Омогућава вам да остварите пуни потенцијал цлоуд цомпутинг, смањује грешке повезане са ручним управљањем ИТ инфраструктуром и побољшава брзину којом се софтвер развија. Све ово се постиже уз смањење оперативних трошкова.
Ostavite komentar