2020 жылы барлығы үйренуі керек DevOps құралдары

Ең жақсы DevOps құралдарын бүгіннен бастаңыз!

2020 жылы барлығы үйренуі керек DevOps құралдары
DevOps революциясы ақыры әлемді жаулап алды және DevOps құралдары керемет танымал болды. Қызметіне сәйкес Google тенденциялары, «DevOps құралдарына» сұраныстар саны үнемі өсіп келеді және бұл үрдіс жалғасуда.

DevOps әдістемесі бағдарламалық жасақтаманы әзірлеудің бүкіл өмірлік циклін қамтиды, сондықтан кәсіпқойлар әртүрлі құралдардың ішінен таңдай алады. Бірақ, өздеріңіз білетіндей, ешбір құрал барлық адамдар үшін әмбебап құрал бола алмайды. Дегенмен, кейбір шешімдер кез келген дерлік тапсырманы орындай алатын функциялардың кең ауқымын ұсынады.

DevOps құралдарын санаттарға бөліп, аналогтарымен салыстырайық:

  • құралдарды әзірлеу және құрастыру
  • сынақ автоматтандыру құралдары
  • орналастыруды ұйымдастыруға арналған құралдар
  • Орындалу уақыты құралдары
  • ынтымақтастық құралдары.

Табысты және ойластырылған жүзеге асыру DevOps тәжірибешісі жоғарыда аталған барлық бес топтағы құралдарды қамтиды. CI/CD құбырының маңызды элементін жіберіп алмау үшін жобаңыздағы құралдардың ағымдағы жинағын талдаңыз.

Әзірлеу және құрастыру құралдары

2020 жылы барлығы үйренуі керек DevOps құралдары
Бұл CI/CD конвейер стекінің негізі. Барлығы дәл осы жерден басталады! Осы санаттағы ең жақсы құралдар бірнеше оқиға ағындарын басқара алады және басқа өнімдермен оңай біріктіре алады.

Дамудың өмірлік циклінің осы кезеңінде құралдардың үш тобы бар:

  • нұсқаларды басқару жүйесі (SCM)
  • үздіксіз интеграция (CI)
  • Деректерді басқару

GIT 2020 жылы оң рекордқа ие болды, сондықтан сіздің SCM құралыңыз GIT үшін үздіксіз қолдауға ие болуы керек. CI үшін қажетті шарт оқшауланған контейнер ортасында құрастыруларды орындау және іске қосу мүмкіндігі болып табылады. Деректерді басқаруға келетін болсақ, ол дерекқор схемасына өзгертулер енгізу және қолданба нұсқасына сәйкес дерекқорды жүргізу мүмкіндігін талап етеді.

SCM + CI құралы №1

Жеңімпаз: GitLab және GitLab-CI

2020 жылы барлығы үйренуі керек DevOps құралдары
2020 DevOps циклінің ең жақсы құралы сөзсіз GitLab болып табылады және ол жақын болашақта инновацияны жалғастыратыны сөзсіз.

GitLab негізгі қызметі Git репозиторийін ыңғайлы басқаруды қамтамасыз ету болып табылады. Веб-интерфейс интуитивті және пайдалану оңай. GitLab сізге қажет нәрсенің барлығын тегін нұсқада қамтамасыз етеді және SaaS және жергілікті (бағдарламалық құралды орналастыру үшін өз ресурстарыңызды пайдалану) ретінде келеді.

Ешбір басқа SCM құралы репозиторийде үздіксіз интеграцияны (CI) тікелей пайдаланбаған және GitLab мұны ұзақ уақыт бойы істеп келеді. GitLab-CI пайдалану үшін бастапқы код түбіріне .gitlab-ci.yml файлын қосу керек және жобадағы кез келген өзгертулер дәл сіз көрсеткен нәрсеге негізделген әрекеттерді іске қосады. GitLab және GitLab-CI үздіксіз интеграция (CI-as-code) саласындағы көшбасшылар ретінде лайықты түрде танылды.

Негізгі артықшылықтар

  • Сенімділік - Өнім нарықта 2013 жылдан бері бар; тұрақты; жақсы қолдау тапты.
  • Ашық бастапқы код - GitLab тегін нұсқасы әзірлеу топтарына қажет негізгі функционалдылықты шектемейді. Ақылы қызмет пакеттері әртүрлі көлемдегі және қажеттіліктері бар компаниялар үшін қосымша пайдалы мүмкіндіктерді қамтамасыз етеді.
  • Енгізілген CI - Нарықтағы басқа ешбір құрал GitLab-CI сияқты тікелей SCM-ге үздіксіз интеграцияны құрған жоқ. Docker пайдалану қиындықсыз оқшауланған құрылымдарды қамтамасыз етеді және кірістірілген есептер жөндеуді жеңілдетеді. Біз бір уақытта бірнеше құралдарды кешенді біріктіруді және басқаруды қажет етпейміз.
  • Шексіз интеграциялар - GitLab сізге қажет барлық DevOps құралдарын оңай біріктіруді қамтамасыз етеді. Бұл әзірлеу және техникалық қызмет көрсету топтарында олардың кез келген ортада қолданылуы туралы ақпараттың бірыңғай көзі болуын қамтамасыз етеді.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

Бұл санатта басқа танымал құралдар бар, бірақ олар GitLab сияқты жақсы емес. Және сол себепті:

GitHub — Бұл шағын компаниялар мен дамудың бастапқы кезеңдері үшін тамаша SaaS нұсқасын басқару жүйесі. IP мекенжайларын өз желілерінде сақтау маңызды болып табылатын ірі компаниялар үшін GitHub ұсынған жалғыз шешім қолжетімділігі жоғары жүйелерді қолдаусыз .OVA виртуалды машинасы болды. Бұл жергілікті техникалық қызмет көрсетуді қиындатады, сонымен қатар, .OVA тек орта бизнес үшін жарамды, әйтпесе сервер үлкен жүктеме кезінде жай ғана бұзылады. GitHub әрекеттерінің (соңғы уақытқа дейін және әлі жергілікті нұсқада жоқ) немесе CI-кодының болмауы жеке CI құралын таңдап, содан кейін сол интеграцияны басқару қажет екенін білдіреді. Соңында, GitHub GitLab нұсқасының кез келген нұсқасынан әлдеқайда қымбат.

Дженкинс — Дженкинс әдепкі бойынша үздіксіз интеграция құралдарының арасында стандарт болып саналғанымен, оның нұсқаларды басқару мүмкіндіктері әрқашан жетіспейтін. Сіз Jenkins плюс SCM құралының қандай да бір түрін пайдаланып жатырсыз. GitLab екеуін де жасай алатын болса, бұл өте қиын. Орташа UX дизайны заманауи веб-қосымшаға жарамайды және көп нәрсені қалағандай етіп қалдырады.

BitBucket/Бамбук — Мен оны автоматты түрде жеңілген адам ретінде тануға тиіспін: GitLab барлығын өз бетінше жасаған кезде неге екі құрал. BitBucket Cloud GitLab-CI / GitHub Action функционалдығын қолдайды, бірақ стартаптан үлкен ешбір компания оны оңай жүзеге асыра алмайды. Жергілікті BitBucket сервері BitBucket құбырларын қолдамайды!

№1 Деректерді басқару құралы

Жеңімпаз: FlywayDB

2020 жылы барлығы үйренуі керек DevOps құралдары
Веб-қосымшаларды әзірлеуде деректер базасын автоматтандыруға әдетте мән берілмейді. Қолданбаның жаңа нұсқалары үшін дерекқор схемасының өзгерістерін қолдану идеясы кеш келеді. Схеманы өзгерту жиі бағандардың немесе кестелердің қосылуына және атын өзгертуге әкеледі. Қолданба нұсқасы схема нұсқасына сәйкес келмесе, қолданба істен шығуы мүмкін. Оған қоса, қолданбаны жаңарту кезінде дерекқор өзгерістерін басқару қиын болуы мүмкін, себебі екі түрлі жүйе бар. FlyWayDB барлық осы мәселелерді шешеді.

Негізгі артықшылықтар

  • Дерекқор нұсқасын жасау - Flyway сізге дерекқор нұсқаларын жасауға, дерекқор тасымалдауларын қадағалауға және бұл үшін қосымша құралсыз схема өзгерістерін оңай тасымалдауға немесе қайтаруға мүмкіндік береді.
  • Екілік немесе ендірілген - Flyway бағдарламасын қолданбаның бөлігі ретінде немесе екілік орындалатын файл ретінде іске қосуды таңдай аламыз. Flyway іске қосу кезінде нұсқа үйлесімділігін тексереді және дерекқор мен қолданба нұсқаларын синхрондауда сақтай отырып, сәйкес тасымалдауларды бастайды. cmd line ad-hoc пәрменін іске қосу арқылы біз бүкіл қолданбаны қайта құрмай-ақ бар дерекқорларға икемділік береміз.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

Бұл салада көптеген құралдар жоқ. Олардың кейбіреулерін қарастырайық:

LiquiBase — Liquibase FlywayDB-ге ұқсайды. Егер менің командамда Liquibase-пен тәжірибесі көбірек біреу болса, мен оны Flyway-дің үстіне орнатқым келеді.

Flocker - Контейнерленген қолданбалар үшін ғана жұмыс істей алады. Контейнерленген дерекқорларды сәтті іске қосу үшін барлығын мінсіз жоспарлау керек. Мен дерекқорлар үшін RDS (Relational Database Service) пайдалануды ұсынамын және маңызды ақпаратты контейнерде сақтауды ұсынбаймын.

Сынақ автоматтандыру құралдары

2020 жылы барлығы үйренуі керек DevOps құралдары
Сынақтарды автоматтандыру құралдары туралы талқылауды тестілеу пирамидасына негізделген жіктеу арқылы бастайық.

Тестілеу пирамидасы (тесттер) 4 деңгейден тұрады:

  • Бірлік сынақтары - Бұл бүкіл автоматтандырылған тестілеу процесінің негізі. Басқа сынақ түрлерімен салыстырғанда бірлік сынақтары көбірек болуы керек. Әзірлеушілер қолданбаның бөлігі («бірлік» ретінде белгілі) оның дизайнына сәйкес келетініне және күтілгендей әрекет ететініне көз жеткізу үшін бірлік сынақтарын жазады және іске қосады.
  • Компоненттік сынақтар – Құрамдас тестілеудің негізгі мақсаты сынақ нысанының кіріс/шығыс әрекетін тексеру болып табылады. Біз сынақ нысанының функционалдығы спецификацияға сәйкес дұрыс орындалуын қамтамасыз етуіміз керек.
  • Интеграциялық тесттер - Жеке бағдарламалық модульдер біріктіріліп, топ ретінде тексерілетін тестілеу түрі.
  • Тесттер - бұл қадам өздігінен түсіндіріледі. Біз бүкіл қолданбаны бақылап, оның жоспарланғандай жұмыс істейтініне көз жеткіземіз.

Бірлік сынақтары мен құрамдас тестілеуді тек әзірлеушілер орындайтындықтан және көбінесе бағдарламалау тіліне тән болғандықтан, біз бұл құралдарды DevOps домені үшін бағаламаймыз.

№1 Интеграциялық тестілеу құралы

Жеңімпаз: Қияр

2020 жылы барлығы үйренуі керек DevOps құралдары
Қияр техникалық сипаттамалар мен сынақ құжаттамасын бір тірі құжатқа біріктіреді. Техникалық сипаттамалар әрқашан жаңартылған, өйткені оларды қияр автоматты түрде тексереді. Егер сіз нөлден бастап автоматтандырылған тестілеу жүйесін құрғыңыз және веб-қосымшада пайдаланушы әрекетін модельдегіңіз келсе, Java және Cucumber BDD бар Selenium WebDriver - қиярды үйрену және жобада енгізудің тамаша тәсілі.

Негізгі артықшылықтар

  • BDD тәсілі (мінез-құлыққа негізделген даму – «сынауға негізделген даму» тәсіліне қарағанда «мінез-құлық арқылы дамыту») - Қияр BDD тестілеуіне арналған, ол бастапқыда дәл осы тапсырма үшін жасалған.
  • Тірі құжаттама - құжаттау әрқашан азап! Тесттер код ретінде жазылғандықтан, Cucumber сынақтар мен құжаттаманың синхрондалғанына көз жеткізу үшін автоматты түрде жасалған құжаттаманы тексереді.
  • Қолдау - біз көптеген құралдардың ішінен таңдай аламыз, бірақ қиярда кез келген қиын жағдайда пайдаланушыларға көмектесу үшін қажетті қаржылық ресурстар мен жақсы ұйымдастырылған қолдау жүйесі бар.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

Басқа шеңберлер мен технологияға арналған құралдардың арасында тек қиярды әмбебап шешім деп санауға болады.

Тестілеу құралдары

Тестілеуді аяқтаған кезде сіз екі негізгі тармаққа назар аударуыңыз керек:

  • функционалдық тестілеу
  • Стресс тестілеу.

Функционалды тестілеуде біз қалағанның бәрі шынымен орындалатынын тексереміз. Мысалы, мен өзімнің SPA (бір беттік қосымша) кейбір элементтерін басқан кезде, пішіндерді толтырып, «Жіберу» опциясын таңдағанда, деректер деректер базасында пайда болады және экранда «Сәтті!» хабары пайда болады.

Сондай-ақ, біз үшін бірдей сценарийді орындайтын пайдаланушылардың белгілі бір санын қатесіз өңдеуге болатынын тексеру маңызды.

Сынақтың осы 2 түрінің болмауы CI/CD құбырындағы маңызды кемшілік болады.

№1 сынақ құралы. Функционалды тестілеу

Жеңімпаз: SoapUI Pro

2020 жылы барлығы үйренуі керек DevOps құралдары
SoapUI ұзақ уақыт бойы API тестілеу кеңістігінде болды, өйткені SOAP негізіндегі веб-қызметтері стандартты болды. Біз енді жаңа SOAP қызметтерін жасамаймыз және құралдың атауы өзгермегенімен, бұл оның дамымағанын білдірмейді. SoapUI автоматтандырылған серверлік функционалды сынақтарды жасау үшін тамаша негізді қамтамасыз етеді. Сынақтарды үздіксіз біріктіру құралдарымен оңай біріктіруге және CI/CD құбырының бөлігі ретінде пайдалануға болады.

Негізгі артықшылықтар

  • Егжей-тегжейлі құжаттама - SoapUI нарықта ұзақ уақыт болды, сондықтан сынақтарды қалай орнату керектігін түсінуге көмектесетін көптеген онлайн ресурстар бар.
  • Пайдаланудың қарапайымдылығы - Құрал API интерфейстерін сынауға арналған бірнеше протоколдарды қолдаса да, SoapUI-де бірнеше қызметтерге арналған ортақ интерфейстің болуы тесттерді жазуды жеңілдетеді.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

селен бұл топтағы тағы бір тамаша құрал. Java негізіндегі қолданбаны құрастырып, іске қосып жатсаңыз, оны пайдалануды ұсынамын. Дегенмен, бірнеше технологиялары бар толық веб-қосымшаны құрастырсаңыз, ол Java емес құрамдас бөліктер үшін қолайсыз болуы мүмкін.

№1 сынақ құралы. Стресс тестілеу

Жеңімпаз: LoadRunner

2020 жылы барлығы үйренуі керек DevOps құралдары
Түсіндіру: Қолданбаңыздың әрбір элементін тексеруді жүктеу уақыты келгенде, тек LoadRunner тапсырманы орындай алады. Иә, бұл бастапқыда қымбат және қиын, бірақ LoadRunner техникалық сәулетші ретінде жаңа кодтың төтенше жүктеме жағдайында жұмыс істейтініне толық сенімділік беретін жалғыз құрал. Сондай-ақ, менің ойымша, LoadRunner-ті тестілеу топтары емес, әзірлеу топтары қабылдайтын уақыт келді.

Негізгі артықшылықтар

  • Кең ауқымды құжаттама - LoadRunner нарықта біршама уақыт болды, сондықтан жүктеу сынақтарын орнату жолын түсінуге көмектесетін көптеген онлайн ресурстар бар.
  • Протоколды қолдау - Load Runner ODBC-ден AJAX, HTTPS және қолданбаңыз пайдалана алатын кез келген басқа тривиальды емес протоколға дейін барлығын қолдайды. Біз жүктемені тексеру үшін бірнеше құралдарды қолданбауға тырысамыз, себебі бұл тек процесті қиындатады.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

Тағы да, бұл салада әмбебап құралдар көп емес, сондықтан ең жақсы шешім - кез келген технологиямен кез келген ортада жұмыс істейтін шешім.

Орналастыру құралдары

2020 жылы барлығы үйренуі керек DevOps құралдары
Орналастыру құралдары әзірлеудің ең аз түсінілген аспектісі болуы мүмкін. Қолданбаның коды мен функционалдығын терең түсінбейтін операциялық топ үшін мұндай құралдарды пайдалану қиын. Әзірлеушілер үшін орналастыруды басқару жаңа жауапкершілік болып табылады, сондықтан олардың мұндай құралдармен жұмыс істеу тәжірибесі әлі жеткіліксіз.

Ең алдымен, барлық орналастыру құралдарын үш ішкі санатқа бөлейік:

  • артефакттарды басқару
  • конфигурацияны басқару
  • орналастыру.

№1 Артефакттарды басқару құралы

Жеңімпаз: Nexus

2020 жылы барлығы үйренуі керек DevOps құралдары
Nexus артефакті репозиторийі Java-дан NPM-ден Docker-ке дейінгі барлық дерлік негізгі технологияны қолдайды. Біз бұл құралды қолданатын барлық артефактілерді сақтау үшін пайдалана аламыз. Қашықтағы пакет менеджерлерінің проксиі де CI құрастыру процесін айтарлықтай жылдамдатады, бұл пакеттерді құру үшін қол жетімді етеді. Тағы бір артықшылығы - қауіпті ашық бастапқы пакеттерді блоктай отырып, бірнеше бағдарламалық жобаларда қолданылатын барлық пакеттердің толық көрінісін алу мүмкіндігі (олар шабуыл векторы ретінде әрекет ете алады).

Негізгі артықшылықтар

  • Техникалық қолдау - Сенімді өнім; жақсы қолдау тапты.
  • Open Source - Тегін нұсқа әзірлеу топтарына қажет негізгі функционалдылықты шектемейді.

№1 Конфигурацияны басқару құралы

Жеңімпаз: Қажет

Ansible бір қарапайым себеппен көшбасшы болып табылады: азаматтығы жоқ. Бұрын ұқсас құралдар конфигурация күйін басқаруға бағытталған. Іске қосылған кезде, қажетті конфигурацияны алған мұндай құрал ағымдағы қолданба конфигурациясын түзетуге әрекет жасайды. Ал жаңа тәсілмен тек азаматтығы жоқ құрамдас бөліктер бар. Кодтың жаңа нұсқалары - бұрыннан барларды ауыстыру үшін қолданылатын артефактілер. Бұл уақытша, қысқа мерзімді ортаның бір түрі деуге болады.

Негізгі артықшылықтар

  • Азаматтығы жоқ - Playbook орналастыру құрылғысынан іске қосылады және мақсатты серверлерде орындалады. Орналастырылатын нысандарды жасау үшін Packer сияқты құралды пайдалану арқылы қашықтағы нысанның күйі туралы алаңдаудың қажеті жоқ.
  • Ашық бастапқы код - CentOS сияқты, Ansible да RedHat арқылы қолдау көрсетеді. Ол қауымдастықты сақтауға көмектеседі және жоғары сапалы, пайдалануға оңай модульдерді ұсынады.
  • Молекуламен тестілеу (ансибалды құрылым) - Конфигурацияны басқару код болғандықтан, барлық басқалар сияқты тестілеу өте маңызды. Molecule's Ansible рөлді тестілеу жүйесі конфигурацияның бірдей сапада болуын және қолданба коды сияқты бірдей CI/CD құбыр желісін ұстануын қамтамасыз етіп, мінсіз жұмыс істейді.
  • YAML - басқа құралдармен салыстырғанда, YAML түсіну оңайырақ. Конфигурацияны басқару әдетте DevOps тәжірибесін жүзеге асыратындар үшін жаңа міндет болғандықтан, қарапайымдылық оның басты картасы болып табылады.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

OpsCode аспазшысы — Мен DevOps мансабымды аспаздық кітапты әзірлеуші ​​ретінде бастадым. Әрине, Ruby және Chef менің жүрегім үшін өте қымбат, бірақ олар қазіргі азаматтығы жоқ, бұлтқа негізделген қолданбалардың мәселелерін шешпейді. OpsCode Chef - дәстүрлі қолданбаларға арналған тамаша құрал, бірақ бұл мақалада біз болашаққа назар аударамыз.

Қуыршақ — Қуыршақтың ешқашан жанкүйерлері көп болған емес, әсіресе Chef пен Ansible-мен салыстырғанда. Бұл жабдықты қамтамасыз ету және олармен жұмыс істеу үшін тамаша, бірақ веб-қосымша үшін конфигурацияны басқарудың заманауи қолдауы жоқ.

Орналастыру құралы №1

Жеңімпаз: Terraform

2020 жылы барлығы үйренуі керек DevOps құралдары
Terraform желі құрамдастарынан толық серверлік кескіндерге дейін инфрақұрылымды код ретінде сипаттау мәселесін шешеді. Бұл өнім өзінің алғашқы шығарылымынан бері ұзақ жолдан өтті, көптеген плагиндер жасалған және осындай күшті қауымдастық құрылған, сондықтан кез келген орналастыру сценарийінде міндетті түрде көмек аласыз. Ортаның кез келген түрін (жергілікті, бұлтта немесе басқа жерде) қолдау мүмкіндігі теңдесі жоқ. Соңында, соңғы нұсқасы HCL-де кез келген басқа дәстүрлі бағдарламалау тілі сияқты логикалық функциялар мен сыныптардың көп бөлігін қамтамасыз етеді, бұл Terraform-ті әзірлеушілерге тез және оңай түсінуге мүмкіндік береді.

Негізгі артықшылықтар

  • Орташа агностикалық - Terraform инфрақұрылым провайдерімен байланысу үшін Terraform коды, барлық API интерфейстері және ішкі логика арасындағы интерфейс ретінде әрекет ететін функцияларды пайдаланады. Бұл менің бір ғана құралды меңгеріп, содан кейін кез келген жерде жұмыс істей алатынымды білдіреді.
  • Ашық бастапқы код - тегін құралдарды жеңу қиын! Қоғамдық қолдау жоғары деңгейде.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

AWS бұлтты қалыптастыру — Сіз тек AWS бұлттық ортасында жұмыс істесеңіз де, келесі жұмысыңыз басқа құралды пайдалануы мүмкін. Барлық уақытыңыз бен күш-қуатыңызды бір платформаға арнау - бұл қысқа мерзімді шешім. Сонымен қатар, көптеген жаңа AWS қызметтері CloudFormation жүйесінде қол жетімді болғанға дейін Terraform модульдері ретінде жиі қол жетімді.

Орындалу уақыты құралдары

2020 жылы барлығы үйренуі керек DevOps құралдары

Кез келген әзірлеу жобасының түпкі мақсаты қосымшаны өндіріске енгізу болып табылады. DevOps әлемінде біз қоршаған ортаға қатысты барлық ықтимал мәселелер туралы толық хабардар болғымыз келеді, сонымен қатар қолмен араласуды барынша азайтқымыз келеді. Орындау уақыты құралдарының дұрыс жинағын таңдау қолданбаларды әзірлеу нирванасына жету үшін маңызды.

Орындау уақыты құралдарының ішкі санаттары:

  • X-as-a-service (XaaS)
  • оркестрлеу
  • мониторинг
  • журнал жүргізу.

№1 қызмет ретінде X құралы

Жеңімпаз: Amazon Web Services

2020 жылы барлығы үйренуі керек DevOps құралдары
Amazon әрқашан бұлтты технологияларда көшбасшы болды, бірақ мұнымен тоқтап қалмайды: әзірлеушілерге арналған жаңа қызметтердің алуан түрлілігі көздің жауын алады. AWS жүйесіне кез келген технология мен үлгіні әкеліңіз, сонда ол жасалып, іске қосылады. Құралдың құны өте қолайлы: оны өзіңіздің деректер орталығында жабдықты жинау, басқару және техникалық қызмет көрсетумен салыстырыңыз. Тегін нұсқа тәжірибе жасауға және ақша жұмсамас бұрын дұрыс шешім қабылдауға мүмкіндік береді.

Негізгі артықшылықтар

  • Таралу - AWS жүйесінде қолданбаларды құру тәжірибеңіз болса, кез келген жерде жұмыс істей аласыз. Бизнес AWS-ті жақсы көреді, ал стартаптар оның төмен құнын бағалайды.
  • Тегін нұсқа AWS-ті құрдастарынан ерекшелендіретін шын мәнінде маңызды фактор болып табылады. Сатып алу туралы шешім қабылдамас бұрын, қызметті қолданып көруге және оның қалай жұмыс істейтінін көруге рұқсат етіңіз, қажетсіз нәрсеге мыңдаған доллар жұмсағым келмейді. Кез келген тұжырымдаманы сынау үшін маған тегін нұсқа әрқашан жеткілікті.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

Azure «Azure алғашқы шығарылымынан бері ұзақ жолдан өтті және бұл мақтауға тұрарлық. Дегенмен, басқаша болуды қалау қызметтердің оғаш атауларына әкелді, бұл көбінесе жұмысты қиындатады. «Блоб сақтау» нені білдіреді? Ал .NET коды Microsoft экожүйесінде жақсырақ жұмыс істегенімен, қолданбаның әрбір құрамдас бөлігі үшін тек .NET пайдалануыңыз екіталай.

Heroku — Мен ешқашан Heroku-да сенімділік пен ашықтық деңгейінің төмендігіне байланысты жеке жобадан басқа ештеңені іске асырмас едім, сондықтан компаниялар оны платформа ретінде пайдаланбауы керек. Heroku блогта бірдеңені көрсету үшін тамаша, бірақ практикалық қолдану үшін - «Жоқ, рахмет!»

№1 Оркестрация құралы

Жеңімпаз: openshift

2020 жылы барлығы үйренуі керек DevOps құралдары
Қолданбалар стегінде Docker немесе басқа контейнерлерді пайдаланып жатқан шығарсыз. Серверсіз қолданбалар тамаша, бірақ олар кез келген архитектураға сәйкес келмеуі мүмкін. Оркестрлік платформасыз контейнерлер жұмыс істемейді. Kubernetes Core (K8s) қауіпсіздік пен құрал-жабдықтар бойынша теңдесі жоқ. OpenShift - Source2Image жинай алатын, подводтарға автоматтандырылған орналастыруды қолдайтын және бақылау мен бақылауды қолдайтын жалғыз Kubernetes негізіндегі платформа. OpenShift бір уақытта жергілікті, бұлтта немесе жергілікті және бұлтта іске қосылуы мүмкін.

Негізгі артықшылықтар

  • Кірістірілген қауіпсіздік - K8s қауіпсіздігін басқару жоғары деңгейді қажет етуі мүмкін. Әрбір бөлшекті мұқият ойластырып, ескеру керек! OpenShift бағдарламасымен әдепкі бойынша орнатылған қауіпсіздік механизмдері әзірлеушілерге жүктемені алып тастайды және қолданбалар үшін қауіпсіз платформаны қамтамасыз етеді.
  • Барлығы бір шешім - әдепкі бойынша жүктемені теңестіру құралдарын қамтымайтын негізгі K8 құрылғыларынан айырмашылығы, OpenShift-те барлығы бар. Мен оны контейнерлерді жасау және орналастыру, CI/CD құралдарын іске қосу, сыртқы процестерді басқару, кілттерді басқару және т.б. үшін пайдалана аламын. Графикалық пайдаланушы интерфейсі әлі де кемелден алыс болса да, API негізіндегі тәсіл барлығын сценарийде сипаттауға болатынын білдіреді. K8 құрылғыларына арналған басқа графикалық интерфейстерден айырмашылығы, OpenShift Kubernetes негіздерін үйренуді әлдеқайда жеңілдетеді. Сізге диплом алудың қажеті жоқ!

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

Докер үйірі — Docker Swarm көптеген нәрселерден арылу арқылы K8-ді жеңілдетуге тырысты. Бұл шағын қолданбалар үшін тамаша, бірақ кәсіпорын қолданбалары үшін ол жай ғана жұмыс істемейді. Сонымен қатар, AWS ECS сияқты шешімдер ұқсас тәсілді қолданады, бірақ мен өзара әрекеттесе алатын басқа қызметтермен жұмыс істеуді жеңілдетеді (Lambda, IAM және т.б.).

Бақылау құралы №1

Жеңімпаз: Жаңа релик

2020 жылы барлығы үйренуі керек DevOps құралдары
New Relic ерте шығарылымдары бір нәрсені жақсы орындады - APM (Application Performance Monitoring) мониторингі. Бұл енді серверді, контейнерді, дерекқор өнімділігін, соңғы пайдаланушы тәжірибесін бақылауға және, әрине, қолданба өнімділігін бақылауға мүмкіндік беретін толық мүмкіндікті бақылау құралы.

Негізгі артықшылықтар

  • Пайдаланудың қарапайымдылығы - Жүйе инженері болып жұмыс істеген кезде мен көптеген бақылау құралдарын пайдаландым, бірақ мен ешқашан New Relic сияқты қарапайым және қолдануға оңай құралдарды кездестірмедім. Бұл SaaS, сондықтан оны өзіңіз орнатудың қажеті жоқ.
  • Үздіксіз көріну - Басқа құралдар қолданбаңыздың белгілі бір элементін бақылауға тырысады. Мысалы, процессорды пайдалану көрсеткіші немесе желілік трафик, бірақ қолданбаның дұрыс жұмыс істеуі үшін мұның барлығын жан-жақты бақылау қажет. New Relic не болып жатқанын жан-жақты көру үшін барлық деректеріңізді біріктіру мүмкіндігін береді.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

Zabbix — Менің бірінші және сүйікті бақылау жүйесі, бірақ бұлтты технологиялар мен APM қолданбасының өнімділігін бақылау саласында дамымағандықтан ол өткенде қалды. Zabbix әлі де дәстүрлі серверлік инфрақұрылымды бақылауды жақсы жүргізеді, бірақ бұл туралы.

DataDog — Кодтың өзіне емес, қолданбаның өндірістік ортасын басқару процесіне тым көп көңіл бөлінген. Әзірлеушілерді қамтитын DevOps командаларымен жоғары деңгейлі қолдау көрсету үшін пайдалану қиын құралдарға сенудің қажеті жоқ.

Тіркеу құралы №1

Жеңімпаз: Splunk

2020 жылы барлығы үйренуі керек DevOps құралдары
Splunk-пен бәсекелесу қиын! Ұзақ уақыт бойы ол ағаш кесуде көшбасшы болып қала береді, оны басқалардан жақсырақ орындауды жалғастырады. Жергілікті және SaaS ұсыныстарымен Splunk-ті кез келген жерде пайдалануға болады. Үлкен кемшілігі - оның бағасы: Splunk әлі де қымбат!

Негізгі артықшылықтар

  • Кең таралғандық - бизнес Splunk-ті жақсы көреді, ал компанияларда оны сатып алуға ақша бар.
  • Стартаптар шығындарды өтеуге тырысса да, ашық бастапқы аналогтардың арқасында көптеген функцияларды шешуге болады.
  • Техникалық қызмет көрсету - қарапайым сөзбен айтқанда, Splunk жұмыс істейді және оны жақсы жасайды. Ол көптеген әдепкі параметрлермен және пайдалануға дайын мүмкіндіктермен келеді. Құжаттарды оқуға және Splunk-ті жұмысқа тартуға немесе ештеңені шешуге уақыт жоғалтудың қажеті жоқ.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

ELK стек (ElasticSearch, LogStash және Kibana) «Бұл құралдар таңдаулы болып көрінеді, өйткені оларды пайдалану үшін бауырды сатудың қажеті жоқ». Дегенмен, журналдар жиынтығы өсіп, борттағы қосымшалар саны артқан сайын, жұмыс қиындай түседі. Splunk-пен салыстырғанда, ELK Stack көмегімен мен кез келген бақылау тақталарын жасамас бұрын құралды орнатуға бұрынғыдан әлдеқайда көп уақыт жұмсадым.

Ынтымақтастық құралдары

2020 жылы барлығы үйренуі керек DevOps құралдары
DevOps ең алдымен ұйымдағы мәдениетті өзгертуге қатысты. Кез келген құралды сатып алу ағымдағы тәжірибені бір күнде өзгертпейді, бірақ ол, әрине, ынтымақтастық пен өзара әрекеттесудің жаңа тәсілдерін ынталандыруы мүмкін.

Ынтымақтастық құралдарының ішкі санаттары:

  • тапсырманы қадағалау
  • ChatOps
  • құжаттама.

№1 Мәселені бақылау құралы

Жеңімпаз: Джира

2020 жылы барлығы үйренуі керек DevOps құралдары
Жира осы саладағы бәсекелестік артып келе жатқанымен, көшбасшылық позициясын сақтап қалды. Jira-ның керемет икемділігі әзірлеу және техникалық қызмет көрсету топтарына жоба жұмысын және спринт тапсырмаларын басқаруға мүмкіндік береді. Agile терминологиясын қолданатын кірістірілген стандарттар жұмыстың дәстүрлі әдістерінен тиімдірек процестерге өтуді жеңілдетеді.

Негізгі артықшылықтар

  • Танымалдық - Көптеген басқа құралдар сияқты, Jira дерлік барлық жерде қолданылады. Шағын командалар арзанырақ, қол жетімді нұсқаны пайдаланады және қажет нәрсенің бәрін алады, ал үлкен компаниялар қымбатырақ лицензияны төлей алады.
  • Интеграциялар - Jira өз саласында пионер болып табылады. Бұл факт және өнімнің қарқынды дамуы басқа компаниялардың өздерінің интеграциясын жасау үшін Jira-ны таңдауына әкеледі, осылайша құралдың құндылығын арттырады. Біз Jira-ны осы мақалада көрсетілген барлық құралдармен кішкене конфигурациямен біріктіре аламыз.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

Trello — Трелло тегін Kanban құралының арқасында тез танымал болды. Дегенмен, процестер ауқымды болып, ондаған тапсырмалардан мыңдаған тапсырмаларға ауысқанда, Trello шарлау, іздеу және есеп беру қиынға соғады.

Pivotal Tracker — Мен стартапта жұмыс істеген кезде бұл құралдың үлкен жанкүйері болдым. Дегенмен, Pivotal Tracker техникалық тапсырмалардан гөрі өнімді басқаруға көбірек назар аударады. Jira-да өнімді басқару сәл күрделірек болса да, оны қосымша құралды қолданбай-ақ енгізуге болады.

ChatOps құралы №1

Жеңімпаз: MatterMost

2020 жылы барлығы үйренуі керек DevOps құралдары
Түсіндіру: Менің таңдауымдағы ең үлкен тосын сый болар, бұл жақсы жаңалық! MatterMost алдыңғы құралдардың ең жақсысын алып, бірақ оларды іске қосу арқылы танымал болды. Бұл компаниялар үшін өте маңызды: MatterMost деректеріңізді басқаруға мүмкіндік береді, сонымен қатар оны жергілікті жерде жұмыс істейтін құралдармен біріктіруге көмектеседі. Енді жұмыс чаттарын тексеру үшін брандмауэрдің сыртына шығудың қажеті жоқ.

Негізгі артықшылықтар

  • Ашық бастапқы код – MatterMost бағдарламасының ашық бастапқы нұсқасы орта және үлкен командалар үшін тамаша жұмыс істейді. Хабарламалар журналын жоятын Slack тегін жоспарынан айырмашылығы, жеке серверді іске қосу барлық деректеріңізді сақтайтыныңызды білдіреді.
  • Интеграциялар - API Slack API негізінде 100% дерлік болғандықтан, барлық дерлік Slack интеграцияларын MatterMost көмегімен тікелей пайдалануға болады.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

бостық — Босаңсу жақсы, бірақ бұл жігіттердің өскені сонша, олар пайда іздей бастады. Бизнестің өтелу кезеңі жақындап қалды, бұл олардың негізгі құндылығын алып тастайды: Slack қызметтерді тегін ұсынды; Тегін нұсқаның ең маңызды кемшілігі - чат тарихын жою.

Microsoft командалары — Microsoft өнімін Microsoft корпорациясына тиесілі емес нәрсемен біріктіріп көріңіз... Сәттілік! Бұл құрал туралы айтарым осы ғана!

№1 құжаттама құралы

Жеңімпаз: Конфликтілік

2020 жылы барлығы үйренуі керек DevOps құралдары
Сапалы техникалық құжаттаманы жасау және жүргізу қандай құралды пайдалансаңыз да күрделі процесс. Көптеген SaaS құжаттама құралдары жақында нарыққа шыққанымен, мен үшін маңызды қосымшалар туралы техникалық құжаттаманы сақтауды үшінші тарапқа беру қиынға соғады. Деректер мен құжаттарды жергілікті жерде сақтаған дұрыс және Confluence оны осылай шешеді.

Негізгі артықшылықтар

  • Басқару оңай - Оқшау құралдардың көпшілігі орнату және пайдалану сәл күрделі болуы мүмкін және техникалық қызмет көрсету үшін біраз білімді қажет етеді. Confluence Server 10 немесе 10,000 XNUMX пайдаланушылар үшін жақсы жұмыс істейді.
  • Плагиндер - Әдемі, қолдануға оңай навигацияға ие болғаны үшін және барлығына дерлік плагин қосу мүмкіндігі Wiki-ге ұқсас әлеуетті ашады.

Бәсекелестер

Ұрысқа қатысқан, бірақ жеңіске жетпеген

Құжаттарды оқыңыз — Ашық дереккөз үшін керемет, бірақ мұнда сыни білімді сақтау туралы ойламаңыз.

Markdown - Кодты құжаттау үшін тамаша, бірақ MarkDown арнайы пішімдеуіне байланысты архитектураны, процестерді немесе құжаттаманың басқа түрлерін орналастыру қиын.

Джек — Техникалық білімді құжаттау кезінде мен өзгеріс болған сайын қолданылатын жаңа статикалық сайтты жасағым келмейді. Confluence нұсқасының қарапайым басқару жүйесі ішкі құжаттаманы айтарлықтай жеңілдетеді.

Жинақтау

Нарықта жүздеген DevOps құралдары бар, бұл олардың қайсысын пайдалану керектігін және оларды қашан енгізу керектігін білуді қиындатады. Толық CI/CD құбыры үшін DevOps құралдарын таңдау үшін осы қарапайым нұсқаулықты орындаңыз.

Барлық бес санаттан құралдарды таңдауды ұмытпаңыз:

  • құралдарды әзірлеу және құрастыру
  • сынақ автоматтандыру құралдары
  • орналастыру құралдары
  • Орындалу уақыты құралдары
  • ынтымақтастық құралдары.

Негізгі ұсыныс: Барлығын автоматтандырыңыз!

Рахмет Зак Шапиро!

Ақпарат көзі: www.habr.com

пікір қалдыру