DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек

Эң мыкты DevOps куралдарын бүгүн колдонуп баштаңыз!

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
DevOps революциясы акыры дүйнөнү каптады жана DevOps куралдары укмуштуудай популярдуу болуп калды. Кызматтын маалыматы боюнча Google Trends, "DevOps куралдарына" суроо-талаптардын саны тынымсыз өсүп жатат жана бул тенденция уланууда.

DevOps методологиясы программалык камсыздоону иштеп чыгуунун бүткүл жашоо циклин камтыйт, андыктан адистер ар кандай куралдардын ичинен тандай алышат. Бирок, сиз билгендей, эч кандай курал ар бир адам үчүн универсалдуу курал боло албайт. Бирок, кээ бир чечимдер дээрлик бардык тапшырмаларды аткара ала турган ушунчалык кеңири функцияларды сунуштайт.

Келгиле, DevOps куралдарын категорияларга бөлүп, аналогдору менен салыштырып көрөлү:

  • куралдарды иштеп чыгуу жана куруу
  • автоматташтыруу куралдарын сыноо
  • жайгаштырууну уюштуруу үчүн куралдар
  • Runtime куралдары
  • кызматташуу куралдары.

Ийгиликтүү жана ойлонулган ишке ашыруу DevOps практики жогоруда саналып өткөн бардык беш топтун инструменттерин камтыйт. CI/CD түтүкчөсүнүн маанилүү элементин өткөрүп жибербөө үчүн, долбооруңуздагы куралдардын учурдагы топтомун анализдеңиз.

Иштеп чыгуу жана куруу куралдары

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Бул CI/CD түтүк стекинин негизи болуп саналат. Баары ушул жерден башталат! Бул категориядагы мыкты куралдар бир нече окуя агымдарын башкара алат жана башка өнүмдөр менен оңой интеграциялана алат.

Өнүгүүнүн жашоо циклинин ушул этабында инструменттердин үч тобу бар:

  • версия башкаруу системасы (SCM)
  • үзгүлтүксүз интеграция (CI)
  • Маалыматтарды башкаруу

GIT 2020-жылы оң көрсөткүчкө ээ, андыктан SCM куралыңыз GIT үчүн үзгүлтүксүз колдоого ээ болушу керек. CI үчүн, обочолонгон контейнер чөйрөсүндө курууларды аткаруу жана иштетүү жөндөмдүүлүгү милдеттүү шарт болуп саналат. Маалыматтарды башкарууга келгенде, ал маалымат базасынын схемасына өзгөртүүлөрдү киргизүү жана колдонмонун версиясына ылайык маалымат базасын сактоо мүмкүнчүлүгүн талап кылат.

SCM + CI куралы №1

Winner: GitLab жана GitLab-CI

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
2020-жылдын DevOps циклинин эң мыкты куралы бул, албетте, GitLab жана ал жакынкы келечекте инновацияларды жетектейт.

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

Башка эч бир SCM куралы үзгүлтүксүз интеграцияны (CI) түздөн-түз репозиторийиңизде колдонгон эмес жана GitLab муну көптөн бери жасап келет. GitLab-CIди колдонуу үчүн, сиз баштапкы кодуңуздун тамырына .gitlab-ci.yml файлын кошушуңуз керек жана долбоорго киргизилген ар кандай өзгөртүүлөр сиз көрсөткөн нерсенин негизинде аракеттерди ишке ашырат. GitLab жана GitLab-CI татыктуу түрдө үзгүлтүксүз интеграция (CI-as-code) жаатындагы лидерлер катары таанылган.

Негизги артыкчылыктары

  • Ишенимдүүлүк - продукт 2013-жылдан бери рынокто; туруктуу; жакшы колдоого алынган.
  • Open Source - GitLab'тин акысыз версиясы иштеп чыгуу топторуна керектүү негизги функцияларды чектебейт. Акы төлөнүүчү кызмат пакеттери ар кандай өлчөмдөгү жана муктаждыктардагы компаниялар үчүн кошумча пайдалуу функцияларды берет.
  • Оңдолгон CI - Рынокто башка эч бир курал GitLab-CI сыяктуу SCMге түздөн-түз үзгүлтүксүз интеграцияны кура алган эмес. Dockerди колдонуу обочолонгон курулуштарды кыйынчылыксыз камсыз кылат жана орнотулган отчеттор мүчүлүштүктөрдү оңдоону жеңилдетет. Биз бир эле учурда бир нече инструменттердин татаал интеграциясын жана башкарууну талап кылбайбыз.
  • Чексиз интеграциялар - GitLab сизге керектүү бардык DevOps куралдарын оңой интеграциялоону камсыз кылат. Бул иштеп чыгуу жана тейлөө топторунун ар кандай чөйрөдө колдонуу жөнүндө бирдиктүү маалымат булагына ээ болушун камсыздайт.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

Бул категорияда башка популярдуу куралдар бар, бирок алар GitLab сыяктуу жакшы эмес. Ошондон улам:

GitHub — Бул чакан компаниялар жана өнүгүүнүн алгачкы этаптары үчүн мыкты SaaS версиясын башкаруу системасы. IP даректерин өз тармагында сактоо маанилүү болгон ири компаниялар үчүн GitHubдан жалгыз чечим .OVA виртуалдык машинасы, жеткиликтүүлүгү жогору системаларды колдобогон. Бул жергиликтүү тейлөөнү кыйындатат, мындан тышкары, .OVA орто бизнес үчүн гана ылайыктуу, антпесе сервер чоң жүктөмдө кыйрап калат. GitHub Аракеттеринин жоктугу (жакынкы убакка чейин жана жергиликтүү версияда эмес) же CI-as-code сиз өзүнчө CI куралын тандап, анан ошол интеграцияны башкаруу керек дегенди билдирет. Акыр-аягы, GitHub GitLab эки версиясына караганда алда канча кымбат.

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

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

№1 Маалыматтарды башкаруу куралы

Winner: FlywayDB

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Веб тиркемелерди иштеп чыгууда, адатта, маалымат базасын автоматташтырууга маани берилбейт. Колдонмонун жаңы версиялары үчүн маалымат базасынын схемасын өзгөртүү идеясы кеч келет. Схеманы өзгөртүүлөр көбүнчө мамычаларды же таблицаларды кошууга жана атын өзгөртүүгө алып келет. Колдонмонун версиясы схема версиясына дал келбесе, колдонмо бузулушу мүмкүн. Кошумчалай кетсек, тиркемени жаңылоодо маалымат базасынын өзгөрүшүн башкаруу кыйын болушу мүмкүн, анткени эки башка система бар. FlyWayDB бардык бул маселелерди чечет.

Негизги артыкчылыктары

  • Берилиштер базасынын версиясын түзүү - Flyway сизге маалымат базасынын версияларын түзүүгө, маалымат базасынын миграциясына көз салууга жана бул үчүн кошумча куралсыз схеманын өзгөрүүлөрүн оңой өткөрүп берүүгө же кайтарууга мүмкүндүк берет.
  • Бинардык же камтылган - Flywayти колдонмонун бир бөлүгү катары же бинардык аткарылуучу файл катары иштетүүнү тандай алабыз. Flyway версиянын шайкештигин ишке киргизүүдө текшерет жана маалымат базасы менен тиркеме версияларын синхрондоштуруу менен, тиешелүү миграцияларды баштайт. cmd line ad-hoc буйругун иштетүү менен, биз бардык тиркемени кайра түзбөстөн, учурдагы маалымат базаларына ийкемдүүлүктү камсыз кылабыз.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

Бул аймакта көп аспаптар жок. Алардын айрымдарын карап көрөлү:

LiquiBase — Liquibase FlywayDBге окшош. Эгерде менин командамда Liquibase менен көбүрөөк тажрыйбасы бар бирөө болсо, мен аны Flywayдин үстүнө орноткум келет.

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

Сыноо автоматташтыруу куралдары

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Келгиле, тестти автоматташтыруу куралдарын талкуулоону аларды тестирлөө пирамидасынын негизинде классификациялоо менен баштайлы.

Сыноо пирамидасынын (тесттер) 4 деңгээли бар:

  • Unit Tests - Бул бүтүндөй автоматташтырылган тестирлөө процессинин негизи. Тесттердин башка түрлөрүнө салыштырмалуу бирдик тесттери көбүрөөк болушу керек. Иштеп чыгуучулар тиркеменин бир бөлүгү ("бирдик" катары белгилүү) анын дизайнына шайкеш келишин жана күтүлгөндөй иштешин камсыз кылуу үчүн бирдик тесттерин жазып, иштетет.
  • Компоненттик тесттер – Компоненттик тестирлөөнүн негизги максаты – тест объектинин киргизүү/чыгармалыгын текшерүү. Сыноо объектинин функционалдуулугу спецификацияга ылайык туура ишке ашырылышын камсыз кылышыбыз керек.
  • Интеграциялык тесттер - жеке программалык модулдар бириктирилген жана топ катары сыналуучу тестирлөөнүн бир түрү.
  • Аягына чейин тесттер - Бул кадам өзүн-өзү түшүндүрөт. Биз бардык тиркемени көзөмөлдөп, анын пландалгандай иштешин текшеребиз.

Бирдик тесттерин жана компоненттерди тестирлөө иштеп чыгуучулар тарабынан гана аткарылгандыктан жана көбүнчө программалоо тили өзгөчө болгондуктан, биз DevOps домени үчүн бул куралдарга баа бербейбиз.

№1 Интеграция тестирлөө куралы

Winner: бадыраң

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Бадыраң спецификацияларды жана сыноо документтерин бир жандуу документке айкалыштырат. Техникалык мүнөздөмөлөр ар дайым жаңырып турат, анткени алар Бадыраң тарабынан автоматтык түрдө сыналат. Эгер сиз автоматташтырылган тестирлөө негизин нөлдөн баштап жана веб-тиркемеде колдонуучунун жүрүм-турумун моделдегиңиз келсе, анда Java жана бадыраң BDD менен Selenium WebDriver - бадыраңды үйрөнүүнүн жана долбоордо ишке ашыруунун эң сонун жолу.

Негизги артыкчылыктары

  • BDD мамилеси (Behavior Driven Development - "турум аркылуу өнүктүрүү" "сынакка негизделген өнүгүү" ыкмасына каршы) - Бадыраң BDD тестирлөө үчүн иштелип чыккан, ал башында дал ушул тапшырма үчүн түзүлгөн.
  • Жашоодо документация - Документтөө дайыма азап! Сыноолоруңуз код катары жазылгандыктан, бадыраң тесттер менен документтер синхрондолуп турганын текшерүү үчүн автоматтык түрдө түзүлгөн документтерди сынайт.
  • Колдоо - Биз көптөгөн инструменттердин ичинен тандай алабыз, бирок бадыраңда керектүү финансылык ресурстар жана ар кандай кыйын кырдаалда колдонуучуларга жардам берүү үчүн жакшы уюштурулган колдоо системасы бар.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

Башка рамкалардын жана технологияга тиешелүү куралдардын арасында бир гана Бадыраңды универсалдуу чечим катары кароого болот.

Үчтөн-аягына сыноо куралдары

Үзгүлтүксүз тестирлөө жүргүзүүдө сиз эки негизги пунктка көңүл бурушуңуз керек:

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

Функционалдык тестирлөөдө биз каалаган нерсенин чындыгында ишке ашканын текшеребиз. Мисалы, мен SPA (бир беттик тиркеме) айрым элементтерин басканда, формаларды толтуруп, "Тапшыруу" дегенди тандасам, маалыматтар базада пайда болот жана экранда "Ийгилик!" деген билдирүү пайда болот.

Ошол эле сценарийде иштеген колдонуучулардын белгилүү бир санын катасыз иштетүүгө болорун текшерүү биз үчүн да маанилүү.

Тесттин ушул 2 түрүнүн жоктугу сиздин CI/CD түтүкчөңүздө олуттуу кемчилик болот.

№1 аягына чейин сыноо куралы. Функционалдык тестирлөө

Winner: SoapUI Pro

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
SoapUI узак убакыт бою API тестирлөө мейкиндигинде болгон, анткени SOAP негизиндеги веб-кызматтар стандарт болгон. Биз мындан ары жаңы SOAP кызматтарын түзбөйбүз жана куралдын аты өзгөрбөсө да, бул анын өнүгө электигин билдирбейт. SoapUI автоматташтырылган функционалдык тесттерди түзүү үчүн эң сонун негизди камсыз кылат. Сыноолорду үзгүлтүксүз интеграциялоо куралдары менен оңой айкалыштырууга жана CI/CD түтүгүнүн бир бөлүгү катары колдонсо болот.

Негизги артыкчылыктары

  • Толук документтер - SoapUI рынокто көптөн бери иштеп келе жатат, андыктан тесттерди кантип орнотууну түшүнүүгө жардам бере турган көптөгөн онлайн ресурстар бар.
  • Колдонуунун жөнөкөйлүгү - Курал API'лерди сыноо үчүн бир нече протоколдорду колдогону менен, SoapUIдин бир нече кызматтар үчүн жалпы интерфейсинин болушу жазуу тесттерин жеңилдетет.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

селен бул топтун дагы бир сонун куралы болуп саналат. Эгер сиз Java негизиндеги тиркемени куруп жана иштетип жатсаңыз, аны колдонууну сунуштайм. Бирок, эгер сиз бир нече технологиялар менен толук веб-тиркеме куруп жатсаңыз, ал Java эмес компоненттер үчүн ыңгайсыз болуп калышы мүмкүн.

№1 аягына чейин сыноо куралы. Стресс тестирлөө

Winner: LoadRunner

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Explanation: Колдонмоңуздун ар бир элементин сыноону жүктөө убактысы келгенде, LoadRunner гана тапшырманы аткара алат. Ооба, башында бул кымбат жана кыйын, бирок LoadRunner мага техникалык архитектор катары жаңы код экстремалдык жүктөө шарттарында иштей турганына толук ишеним берген жалгыз курал. Ошондой эле, мен LoadRunnerди тестирлөө топторунун ордуна иштеп чыгуу топтору колго алууга убакыт келди деп ойлойм.

Негизги артыкчылыктары

  • Кеңири документация - LoadRunner бир топ убакыттан бери рынокто болгон, андыктан жүк сыноолорун кантип орнотууну түшүнүүгө жардам бере турган көптөгөн онлайн ресурстар бар.
  • Протоколду колдоо - Load Runner ODBCден AJAX, HTTPS жана колдонмоңуз колдоно турган башка маанилүү эмес протоколдорго чейин бардыгын колдойт. Биз жүктөмдү текшерүү үчүн бир нече куралдарды колдонбогонго аракет кылабыз, анткени бул процессти гана татаалдантат.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

Дагы айта кетейин, бул тармакта универсалдуу инструменттер көп эмес, андыктан эң жакшы чечим – бул ар кандай технология менен каалаган чөйрөдө иштей турган чечим.

Жайгаштыруу куралдары

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Жайгаштыруу куралдары, балким, өнүгүүнүн эң аз түшүнүлгөн аспектиси. Колдонмонун кодун жана функционалдуулугун терең түшүнбөгөн операциялык топ үчүн мындай куралдарды колдонуу кыйын. Иштеп чыгуучулар үчүн жайылтууну башкаруу жаңы жоопкерчилик болуп саналат, андыктан алардын мындай куралдар менен иштөө тажрыйбасы азырынча жетишсиз.

Биринчиден, келгиле, бардык жайгаштыруу куралдарын үч субкатегорияга бөлөлү:

  • артефакты башкаруу
  • конфигурацияны башкаруу
  • жайгаштыруу.

№1 Artifact башкаруу куралы

Winner: Nexus

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Nexus артефакт репозиторийинде Javaдан NPMге, Dockerге чейин дээрлик бардык негизги технологияларды колдойт. Бул куралды биз колдонгон бардык артефакттарды сактоо үчүн колдоно алабыз. Алыскы пакет менеджерлерин проксилөө CI куруу процессин кыйла тездетип, пакеттерди куруу үчүн жеткиликтүү кылат. Дагы бир артыкчылыгы - бир нече программалык долбоорлордо колдонулган бардык пакеттердин толук көрүнүшүн алуу, кооптуу ачык булак пакеттерин бөгөттөө (алар чабуулдун вектору катары иштей алат).

Негизги артыкчылыктары

  • Техникалык колдоо - Ишенимдүү продукт; жакшы колдоого алынган.
  • Open Source - Акысыз версия иштеп чыгуу топторуна керектүү негизги функцияларды чектебейт.

№1 Конфигурацияны башкаруу куралы

Winner: Ansible

Ansible бир жөнөкөй себеп менен лидер болуп саналат: жарандыгы жок. Буга чейин, мындай аспаптар конфигурация мамлекеттик башкаруу багытталган. Ишке киргизилгенде, мындай курал керектүү конфигурацияны алып, учурдагы колдонмо конфигурациясын оңдоого аракет кылат. Жана жаңы ыкма менен жарандыгы жок компоненттер гана бар. Коддун жаңы версиялары - бар болгондорду алмаштыруу үчүн орнотулган артефакттар. Муну кандайдыр бир убактылуу, кыска мөөнөттүү чөйрө катары кароого болот.

Негизги артыкчылыктары

  • Жарандыгы жок - Playbook жайгаштыруу машинасынан ишке киргизилет жана максаттуу серверлерде аткарылат. Мен жайгаштырылган объекттерди түзүү үчүн Пакер сыяктуу куралды колдонуу менен алыскы объекттин абалы жөнүндө кабатырлануунун кереги жок.
  • Ачык булак - CentOS сыяктуу, Ansible да RedHat тарабынан колдоого алынат. Бул коомчулукту сактоого жардам берет жана жогорку сапаттагы, колдонууга жеңил модулдарды камсыз кылат.
  • Молекула менен тестирлөө (ансиблей алкак) - Конфигурацияны башкаруу код болгондуктан, башка бардык нерселер сыяктуу эле, тестирлөө өтө маанилүү. Molecule's Ansible ролду тестирлөө негизи кемчиликсиз иштеп, конфигурациянын сапаты бирдей экендигин жана колдонмо коду менен бирдей CI/CD түтүгүн ээрчийт.
  • YAML - Башка куралдарга салыштырмалуу YAML түшүнүү оңой. Конфигурацияны башкаруу, адатта, DevOps практикасын ишке ашыргандар үчүн жаңы көйгөй болгондуктан, жөнөкөйлүк - бул анын башкы картасы.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

OpsCode Chef — Мен DevOps карьерамды ашкана китебин иштеп чыгуучу катары баштадым. Ruby жана Chef, албетте, менин жүрөгүм үчүн абдан кымбат, бирок алар жөн гана заманбап жарандыгы жок, булуттагы тиркемелердин көйгөйлөрүн чечпейт. OpsCode Chef – бул салттуу колдонмолор үчүн эң сонун курал, бирок бул макалада биз келечекке багытталганбыз.

куурчак — Куурчактын күйөрмандары эч качан көп болгон эмес, айрыкча Chef жана Ansible менен салыштырганда. Бул камсыздоо жана аппараттык камсыздоо менен иштөө үчүн эң сонун, бирок веб-тиркеме үчүн конфигурацияны башкаруунун заманбап колдоосу жок.

Жайгаштыруу куралы №1

Winner: Terraform

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Terraform сиздин инфраструктураңызды код катары сыпаттоо маселесин чечет, тармак компоненттеринен тартып толук сервер сүрөттөрүнө чейин. Бул продукт алгачкы чыгарылгандан бери көп жолду басып өттү, көптөгөн плагиндер түзүлдү жана ушунчалык күчтүү коом түзүлдү, ошондуктан сиз каалаган жайылтуу сценарийинде сөзсүз түрдө жардам ала аласыз. Ар кандай чөйрөнү (жерлерде, булутта же башка жерде) колдоо мүмкүнчүлүгү теңдешсиз. Акыр-аягы, акыркы версиясы HCLде башка салттуу программалоо тилдериндей эле логикалык функциялардын жана класстардын көбүн камсыз кылат, бул Terraformду иштеп чыгуучуларга тез жана оңой түшүнүүгө жардам берет.

Негизги артыкчылыктары

  • Айлана-чөйрөнү агностикалык - Terraform инфраструктура провайдери менен байланышуу үчүн Terraform кодуңуздун, бардык API'лериңиздин жана ички логиканын ортосундагы интерфейс катары иш алып барган функцияларды колдонот. Бул мен бир гана куралды өздөштүрүп, анан каалаган жерде иштей алам дегенди билдирет.
  • Open Source - Акысыз куралдарды жеңүү кыйын! Коомчулуктун колдоосу эң жогорку деңгээлде.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

AWS Cloud Formation — Сиз AWS булут чөйрөсүндө гана иштесеңиз дагы, кийинки жумушуңуз башка куралды колдонушу мүмкүн. Бардык убактыңызды жана күчүңүздү бир аянтчага арнаңыз - бул алысты көрө албаган чечим. Кошумчалай кетсек, көптөгөн жаңы AWS кызматтары CloudFormation'та жеткиликтүү болгонго чейин Terraform модулдары катары жеткиликтүү болот.

Runtime куралдары

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек

Ар кандай өнүктүрүү долбоорунун акыркы максаты - бул тиркемени өндүрүшкө киргизүү. DevOps дүйнөсүндө биз айлана-чөйрөбүздөгү бардык мүмкүн болгон көйгөйлөрдөн толук кабардар болгубуз келет, ошондой эле кол менен кийлигишүүнү минималдаштыргыбыз келет. Колдонмолорду иштеп чыгуу нирванасына жетүү үчүн иштөө убактысынын куралдарынын туура топтомун тандоо маанилүү.

Иш убактысынын куралдарынын субкатегориялары:

  • X-as-a-service (XaaS)
  • оркестр
  • боюнча
  • журналга алуу.

Кызмат катары X куралы №1

Winner: Amazon Web Services

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Amazon ар дайым булут технологияларында лидер болуп келген, бирок муну менен эле токтоп калбайт: иштеп чыгуучулар үчүн жаңы кызматтардын ар түрдүүлүгү көздүн жоосун алат. AWSге каалаган технологияны жана шаблонду алып келиңиз жана ал курулуп, иштейт. Куралдын баасы абдан акылга сыярлык: аны өзүңүздүн маалымат борборундагы жабдууларды чогултуу, башкаруу жана тейлөө менен салыштырыңыз. Акысыз версия акча сарптоодон мурун эксперимент жана туура чечим чыгарууга мүмкүндүк берет.

Негизги артыкчылыктары

  • Таркалышы - AWSде тиркемелерди куруу тажрыйбасы бар болсо, каалаган жерде иштей аласыз. Ишкерлер AWSти жакшы көрүшөт жана стартаптар да анын арзан баасын баалашат.
  • Акысыз версия AWSти теңтуштарынан айырмалап турган чындап маанилүү фактор болуп саналат. Сатып алуу чечимин чыгарардан мурун кызматты сынап көрүп, анын кантип иштээрин карап көрөйүн, керексиз нерсеге миңдеген доллар короткум келбейт. Акысыз версия мага ар кандай концепцияны текшерүү үчүн ар дайым жетиштүү.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

Берилл "Azure биринчи чыгарылгандан бери көп жолду басып өттү жана бул мактоого татырлык. Бирок, башкача болууну каалоо кызматтардын кызыктай аталыштарына алып келди, бул көбүнчө ишти кыйындатат. "Блоб сактоо" деген эмнени билдирет? Жана .NET коду Microsoft экосистемасында жакшыраак иштегени менен, колдонмоңуздун ар бир компоненти үчүн .NET гана колдонушуңуз күмөн.

Жиберүү — Мен эч качан Heroku боюнча жеке долбоордон башка эч нерсени иштетмек эмесмин, анткени ишенимдүүлүк жана айкындуулуктун деңгээли төмөн болгондуктан, компаниялар аны платформа катары колдонбошу керек. Heroku блогдо бир нерсени көрсөтүү үчүн сонун, бирок иш жүзүндө колдонуу үчүн - "Жок, рахмат!"

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

Winner: openshift

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

Негизги артыкчылыктары

  • Камтылган коопсуздук - K8s коопсуздугун башкаруу жогорку даражаны талап кылышы мүмкүн. Ар бир майда-чүйдөсүнө чейин кылдаттык менен ойлонуп, эске алынышы керек! OpenShift менен демейки боюнча орнотулган коопсуздук механизмдери иштеп чыгуучулардын жүгүн алып, колдонмолор үчүн коопсуз платформаны камсыз кылат.
  • Баардыгы бир чечим - демейки боюнча жүктү тең салмактоо куралдарын камтыбаган негизги K8ден айырмаланып, OpenShiftте бардыгы бар. Мен аны контейнерлерди түзүү жана жайгаштыруу, CI/CD куралдарын иштетүү, тышкы процесстерди башкаруу, ачкычтарды башкаруу жана башкалар үчүн колдоно алам. Графикалык колдонуучу интерфейси дагы эле идеалдуу эмес, бирок API негизиндеги ыкма бардыгын скриптте сүрөттөсө болот дегенди билдирет. K8 үчүн башка GUIлерден айырмаланып, OpenShift Kubernetesтин негиздерин үйрөнүүнү бир топ жеңилдетет. Диплом алуунун деле кереги жок!

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

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

Мониторинг куралы №1

Winner: New Relic

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
New Relicтин алгачкы релиздери бир нерсени жакшы аткарды - APM (Колдонмолордун аткаруу мониторинги) мониторинги. Бул азыр серверге, контейнерге, маалымат базасынын иштешине, акыркы колдонуучу тажрыйбасына мониторинг жүргүзүүгө жана, албетте, колдонмонун иштешине мониторинг жүргүзүүгө мүмкүндүк берген толук өзгөчөлөнгөн мониторинг куралы.

Негизги артыкчылыктары

  • Колдонуунун жөнөкөйлүгү - Мен системалык инженер болуп иштегенде көптөгөн мониторинг куралдарын колдондум, бирок New Relic сыяктуу жөнөкөй жана колдонууга оңой болгон куралды эч качан көргөн эмесмин. Бул SaaS, андыктан аны өзүңүз орнотуунун кереги жок.
  • Аягына чейин көрүнүү - Башка куралдар колдонмоңуздун белгилүү бир элементин көзөмөлдөөгө аракет кылат. Мисалы, процессордун колдонулушунун же тармактык трафиктин метрикасы, бирок тиркеме туура иштеши үчүн мунун бардыгын ар тараптуу көзөмөлдөө керек. New Relic сизге эмне болуп жатканын ар тараптуу көрүү үчүн бардык маалыматтарыңызды чогултуу мүмкүнчүлүгүн берет.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

Апенди — Менин биринчи жана сүйүктүү мониторинг системасы, бирок булуттук технологияларда жана APM тиркемесинин иштешине мониторинг чөйрөсүндө өнүгүүнүн жоктугунан улам ал өткөн бойдон калды. Zabbix дагы эле салттуу сервердик инфраструктуранын мониторингин жакшы аткарат, бирок бул жөнүндө.

DataDog — Коддун өзүнө эмес, колдонмонун өндүрүш чөйрөсүн башкаруу процессине өтө көп көңүл бурулган. Иштеп чыгуучуларды камтыган DevOps командалары менен биз жогорку деңгээлдеги колдоо көрсөтүү үчүн колдонууга кыйын куралдарга таянбашыбыз керек.

Каттоо куралы №1

Winner: Splunk

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Splunk менен атаандашуу кыйын! Узак убакыт бою ал жыгач кыюуда лидер бойдон калууда, аны башкаларга караганда жакшыраак аткарууну улантууда. On-prem жана SaaS сунуштары менен Splunkту каалаган жерде колдоно аласыз. Чоң кемчилиги анын баасы: Splunk дагы эле кымбат!

Негизги артыкчылыктары

  • Кеңири жайылуу - Бизнес Splunkту жакшы көрүшөт жана компаниялардын аны сатып алууга акчасы бар.
  • Стартаптар чыгымдардын ордун толтурууга аракет кылышса да, ачык булактуу аналогдордун аркасында көптөгөн функцияларды чечсе болот.
  • Техникалык тейлөө - Жөнөкөй сөз менен айтканда, Splunk иштейт жана аны жакшы аткарат. Бул көптөгөн демейки жөндөөлөр жана колдонууга даяр мүмкүнчүлүктөр менен келет. Документти окуп, Splunkту иштетүүгө же эч нерсени чечмелөө үчүн убакытты текке кетирүүнүн кереги жок.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

ELK Stack (ElasticSearch, LogStash жана Kibana) "Бул куралдар сүйүктүү окшойт, анткени аларды колдонуу үчүн бооруңузду сатуунун кереги жок." Бирок, журналдардын жыйындысы өскөн сайын жана борттогу арыздардын саны көбөйгөн сайын, иш барган сайын кыйындай берет. Splunk менен салыштырганда, ELK Stack менен мен мурда болуп көрбөгөндөй аспаптар тактасын түзүүдөн мурун шаймандарды орнотууга көбүрөөк убакыт короттум.

Кызматташуу куралдары

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
DevOps биринчи кезекте уюмдун ичиндеги маданиятты өзгөртүүгө багытталган. Кандайдыр бир куралды сатып алуу учурдагы практиканы бир күндө өзгөртпөйт, бирок бул, албетте, кызматташууга жана өз ара аракеттенүүнүн жаңы ыкмаларына түрткү берет.

Кызматташуу куралдарынын субкатегориялары:

  • тапшырманы көзөмөлдөө
  • ChatOps
  • документтер.

№1 Маселени көзөмөлдөө куралы

Winner: Jira

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

Негизги артыкчылыктары

  • Популярдуулук - башка көптөгөн куралдар сыяктуу эле, Jira дээрлик бардык жерде колдонулат. Чакан командалар арзаныраак, жеткиликтүү версияны колдонуп, керектүү нерселердин баарын алышат, ал эми чоңураак компаниялар кымбатыраак лицензияны ала алышат.
  • Integrations - Jira өз тармагында пионер болуп саналат. Бул чындык жана буюмдун тез өнүгүшү, башка компаниялар өз интеграциясын түзүү үчүн Jira тандап, ошентип, куралдын баасын жогорулатууга алып келет. Биз Jiraны бул макалада саналып өткөн бардык куралдар менен бир аз конфигурация менен бириктире алабыз.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

Trello — Trello өзүнүн бекер Kanban куралынын аркасында тез эле популярдуулукка ээ болду. Бирок, процесстер масштабдуу болуп, ондогон тапшырмалардан миңдегенге өткөндөн кийин, Trello багыттоо, издөө жана отчет берүү кыйын болуп калат.

Өзөк Tracker — Мен стартапта иштеп жүргөндө бул куралдын чоң күйөрманы болчумун. Бирок, Pivotal Tracker техникалык тапшырмаларга караганда өнүмдөрдү башкарууга көбүрөөк багытталган. Жирадагы продукттарды башкаруу бир аз татаалыраак болсо да, ал жерде дагы эле кошумча куралды колдонбостон ишке ашырса болот.

ChatOps куралы №1

Winner: MatterMost

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Explanation: Балким, менин тандоомдо сиз үчүн эң чоң сюрприз, бул жакшы жаңылык! MatterMost мурунку куралдардын эң жакшысын алып, бирок аларды ишке киргизүү менен популярдуулукка ээ болду. Бул компаниялар үчүн абдан маанилүү: MatterMost сиздин берилиштериңизди көзөмөлдөөгө мүмкүндүк берет, ошондой эле аны жергиликтүү деңгээлде иштеген куралдар менен интеграциялоого жардам берет. Жумуш чаттарын текшерүү үчүн мындан ары брандмауэрдин сыртына чыгуунун кереги жок.

Негизги артыкчылыктары

  • Open Source - MatterMost'тун ачык булак версиясы орто жана чоң командалар үчүн жакшы иштейт. Slack'тин билдирүүлөр таржымалын жок кылган акысыз планынан айырмаланып, өз сервериңизди иштетүү бардык дайындарыңызды сактап каласыз дегенди билдирет.
  • Интеграциялар - API дээрлик 100% Slack APIге негизделгендиктен, дээрлик бардык Slack интеграцияларын түздөн-түз MatterMost менен колдонсо болот.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

жалкоолонуп — Боштук жакшы, бирок бул балдар ушунчалык чоңоюп, пайда издеп башташты. Бизнестин өзүн актоо фазасы жакындап келе жатат, бул алардын негизги баалуулугун алып салат: Slack акысыз кызматтарды көрсөткөн; Акысыз версиянын эң маанилүү кемчилиги - чат тарыхын жок кылуу.

Microsoft команды — Майкрософт продуктуну Microsoftко таандык болбогон нерсе менен бириктирип көрүңүз... Ийгилик! Мен бул курал жөнүндө айта турган бардык нерсе!

Документация куралы №1

Winner: кошулуу

DevOps куралдары 2020-жылы ар бир адам үйрөнүшү керек
Кандай гана куралды колдонбоңуз, сапаттуу техникалык документтерди түзүү жана сактоо татаал процесс. Көптөгөн SaaS документация куралдары жакында рынокко чыкканына карабастан, мен үчүн маанилүү тиркемелер жөнүндө техникалык документтерди сактоону үчүнчү жакка аутсорсингге берүү кыйынга турат. Маалыматтарды жана документтерди жеринде сактоо артык, Конфлюэнс аны ушундайча чечет.

Негизги артыкчылыктары

  • Иштетүү оңой - Көпчүлүк өз алдынча шаймандарды орнотуу жана иштетүү бир аз татаал болушу мүмкүн жана тейлөө үчүн бир аз билимди талап кылат. Confluence Server 10 же 10,000 XNUMX колдонуучу үчүн жакшы иштейт.
  • Плагиндер - Кооз, колдонууга оңой навигацияга ээ болгондугу үчүн жана дээрлик бардыгына плагин кошуу мүмкүнчүлүгү Wiki сыяктуу потенциалды ачат.

атаандаштар

Согушка катышкан, бирок жеңишке жеткен эмес

Документтерди окуңуз — Ачык булак үчүн сонун, бирок бул жерде критикалык билимди сактоо жөнүндө ойлонбоңуз.

Markdown - Кодду документтештирүү үчүн эң сонун, бирок MarkDown'тун өзгөчө форматтоосунан улам архитектураны, процесстерди же башка документтерди жайгаштыруу кыйын.

спаме — Техникалык билимдерди документтештирүүдө мен өзгөрүү болгон сайын жайыла турган жаңы статикалык сайтты түзгүм келбейт. Confluence жөнөкөй версия башкаруу системасы абдан ички документтерди жөнөкөйлөтүү.

Кыскасы

Рынокто жүздөгөн DevOps куралдары бар, бул алардын кайсынысын колдонууну жана аларды качан ишке ашырууну кыйындатат. Толук CI/CD түтүгү үчүн DevOps куралдарын тандоо үчүн бул жөнөкөй көрсөтмөнү аткарыңыз.

Бардык беш категориядан куралдарды тандоону унутпаңыз:

  • куралдарды иштеп чыгуу жана куруу
  • автоматташтыруу куралдарын сыноо
  • жайылтуу куралдары
  • Runtime куралдары
  • кызматташуу куралдары.

Негизги сунуш: Баарын автоматташтырыңыз!

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

Source: www.habr.com

Комментарий кошуу