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 болон on-prem хэлбэрээр (програм хангамжийг байршуулахын тулд өөрийн нөөцийг ашиглан) ирдэг.

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

Гол давуу талууд

  • Найдвартай байдал - Бүтээгдэхүүн нь 2013 оноос хойш зах зээлд гарсан; тогтвортой; сайн дэмжсэн.
  • Нээлттэй эх сурвалж - GitLab-ийн үнэгүй хувилбар нь хөгжүүлэлтийн багуудад шаардлагатай үндсэн функцийг хязгаарладаггүй. Төлбөртэй үйлчилгээний багцууд нь янз бүрийн хэмжээ, хэрэгцээтэй компаниудад хэрэгтэй нэмэлт боломжуудыг олгодог.
  • Engrained 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 аль алиныг нь хийж чадах нь хэтэрхий хэцүү. Дунд зэргийн UX дизайн нь орчин үеийн вэб программд тохиромжгүй бөгөөд хүссэн зүйлээ үлдээдэг.

BitBucket/Хулс - Би түүнийг автомат ялагдагч гэж хүлээн зөвшөөрөх ёстой: GitLab бүгдийг бие даан хийдэг байхад яагаад хоёр хэрэгсэл вэ? BitBucket Cloud нь GitLab-CI / GitHub Action функцийг дэмждэг боловч стартапаас том компани үүнийг хялбархан хэрэгжүүлж чадахгүй. Байгууллагын BitBucket сервер нь BitBucket дамжуулах шугамыг дэмждэггүй!

№1 Өгөгдлийн удирдлагын хэрэгсэл

Ялагч: FlywayDB

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
Вэб програм хөгжүүлэхэд мэдээллийн сангийн автоматжуулалтыг ихэвчлэн чухалчилдаггүй. Өгөгдлийн сангийн схемийн өөрчлөлтийг програмын шинэ хувилбаруудад ашиглах санаа хожим гарч ирдэг. Схемийн өөрчлөлт нь ихэвчлэн багана эсвэл хүснэгтүүдийг нэмж, нэрийг нь өөрчлөхөд хүргэдэг. Хэрэв програмын хувилбар нь схемийн хувилбартай таарахгүй бол програм эвдэрч болзошгүй. Нэмж дурдахад, хоёр өөр систем байдаг тул програмыг шинэчлэх үед мэдээллийн баазын өөрчлөлтийг удирдах нь хэцүү байж болно. FlyWayDB нь эдгээр бүх асуудлыг шийддэг.

Гол давуу талууд

  • Өгөгдлийн сангийн хувилбар гаргах - Flyway нь мэдээллийн сангийн хувилбаруудыг үүсгэх, мэдээллийн сангийн шилжилтийг хянах, нэмэлт хэрэгсэлгүйгээр схемийн өөрчлөлтийг хялбархан шилжүүлэх, буцаах боломжийг олгодог.
  • Хоёртын буюу Embedded - Бид Flyway-г програмын нэг хэсэг эсвэл хоёртын executable хэлбэрээр ажиллуулахаар сонгож болно. Flyway нь эхлүүлэх үед хувилбарын нийцтэй байдлыг шалгаж, мэдээллийн сан болон програмын хувилбаруудыг синхрончлолд байлгаж, зохих шилжилтийг эхлүүлдэг. cmd line ad-hoc командыг ажиллуулснаар бид програмыг бүхэлд нь дахин бүтээхгүйгээр одоо байгаа өгөгдлийн сангийн уян хатан байдлыг хангадаг.

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

Энэ хэсэгт тийм ч олон хэрэгсэл байдаггүй. Тэдгээрийн заримыг нь харцгаая:

LiquiBase — Liquibase нь FlywayDB-тэй төстэй. Хэрэв миний багт Liquibase-ийн талаар илүү туршлагатай хүн байвал би үүнийг Flyway-ийн орой дээр байрлуулахыг хүсч байна.

Флокер - Зөвхөн чингэлэгтэй програмуудад ажиллах боломжтой. Контейнержүүлсэн мэдээллийн санг амжилттай ажиллуулахын тулд бүх зүйлийг төгс төлөвлөх ёстой. Өгөгдлийн санд зориулж RDS (Relational Database Service) ашиглахыг зөвлөж байна, чухал мэдээллийг саванд хадгалахыг зөвлөдөггүй.

Туршилтын автоматжуулалтын хэрэгслүүд

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
Туршилтын автоматжуулалтын хэрэгслүүдийн тухай яриагаа туршилтын пирамид дээр үндэслэн ангилж эхэлцгээе.

Туршилтын пирамид (тест) нь 4 түвшинтэй.

  • Нэгжийн туршилт - Энэ нь бүх автоматжуулсан туршилтын үйл явцын үндэс суурь юм. Бусад төрлийн туршилтуудтай харьцуулахад нэгжийн тестүүд илүү их байх ёстой. Хөгжүүлэгчид програмын хэсэг ("нэгж" гэж нэрлэдэг) түүний дизайнтай нийцэж, хүлээгдэж буй байдлаар ажиллаж байгаа эсэхийг шалгахын тулд нэгжийн тест бичиж, ажиллуулдаг.
  • Бүрэлдэхүүн хэсгүүдийн тестүүд - Бүрэлдэхүүн хэсгүүдийн туршилтын гол зорилго нь туршилтын объектын оролт/гаралтын ажиллагааг шалгах явдал юм. Туршилтын объектын функцийг техникийн үзүүлэлтийн дагуу зөв хэрэгжүүлж байгаа эсэхийг бид баталгаажуулах ёстой.
  • Интеграцийн тестүүд - Тус тусад нь програм хангамжийн модулиудыг нэгтгэж, бүлэг болгон шалгадаг тестийн төрөл.
  • Төгсгөл хүртэлх тестүүд - Энэ алхам нь өөрөө ойлгомжтой юм. Бид програмыг бүхэлд нь хянаж, төлөвлөсний дагуу ажиллаж байгаа эсэхийг шалгана.

Нэгжийн тест болон бүрэлдэхүүн хэсгийн туршилтыг зөвхөн хөгжүүлэгчид гүйцэтгэдэг бөгөөд ихэвчлэн програмчлалын хэлээр тодорхойлогддог тул бид DevOps домэйны эдгээр хэрэгслийг үнэлэхгүй.

№1 Интеграцийн туршилтын хэрэгсэл

Ялагч: Өргөст хэмх

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
Өргөст хэмх нь техникийн үзүүлэлтүүд болон туршилтын баримт бичгүүдийг нэг амьд баримт бичиг болгон нэгтгэдэг. Өргөст хэмх автоматаар шалгадаг тул техникийн үзүүлэлтүүд нь үргэлж шинэчлэгддэг. Хэрэв та эхнээс нь автоматжуулсан тестийн тогтолцоог бий болгож, вэб программ дахь хэрэглэгчийн зан төлөвийг загварчлахыг хүсвэл Java болон Өргөст хэмх BDD бүхий Selenium WebDriver нь Өргөст хэмхийг сурч, төсөлд хэрэгжүүлэх гайхалтай арга юм.

Гол давуу талууд

  • BDD хандлага (Зан үйлд тулгуурласан хөгжил - "туршилтанд суурилсан хөгжил" арга барилаас ялгаатай нь "зан төлөвөөр дамжуулан хөгжүүлэх") - Өргөст хэмх нь BDD-ийн туршилтанд зориулагдсан бөгөөд энэ нь анх энэ даалгаварт зориулагдсан юм.
  • Амьд бичиг баримт - Баримт бичиг нь үргэлж зовлон юм! Таны тестүүд код хэлбэрээр бичигдсэн тул Өргөст хэмх автоматаар үүсгэгдсэн баримт бичгүүдийг туршиж, шалгалтууд болон баримт бичгүүд синхрончлогдсон эсэхийг шалгадаг.
  • Дэмжлэг - Бид олон хэрэгслээс сонгож болно, гэхдээ Өргөст хэмх нь шаардлагатай санхүүгийн эх үүсвэртэй бөгөөд аливаа хүнд нөхцөлд хэрэглэгчдэд туслах сайн зохион байгуулалттай дэмжлэгийн системтэй.

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

Бусад хүрээ, технологийн тусгай хэрэгслүүдийн дунд зөвхөн Өргөст хэмхийг бүх нийтийн шийдэл гэж үзэж болно.

Төгсгөл хүртэлх туршилтын хэрэгслүүд

Төгсгөлийн туршилт хийхдээ та хоёр гол зүйлд анхаарлаа хандуулах хэрэгтэй.

  • функциональ туршилт
  • Стресс тест.

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

Ижил хувилбарыг ажиллуулж буй тодорхой тооны хэрэглэгчдийг алдаагүйгээр боловсруулж чадах эсэхийг шалгах нь бидний хувьд бас чухал юм.

Эдгээр 2 төрлийн туршилт байхгүй байх нь таны CI/CD дамжуулах хоолойд мэдэгдэхүйц сул тал болно.

№1 төгсгөл хүртэлх туршилтын хэрэгсэл. Функциональ туршилт

Ялагч: SoapUI Pro

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
SOAP дээр суурилсан вэб үйлчилгээ нь стандарт байсныхаа дараа SoapUI нь удаан хугацааны турш API туршилтын орон зайд байсаар ирсэн. Бид шинэ SOAP үйлчилгээ үүсгэхээ больсон бөгөөд уг хэрэгслийн нэр өөрчлөгдөөгүй ч энэ нь өөрчлөгдөөгүй гэсэн үг биш юм. SoapUI нь автоматжуулсан backend функциональ тестийг бий болгох маш сайн хүрээг өгдөг. Туршилтыг тасралтгүй нэгтгэх хэрэгслүүдтэй хялбархан нэгтгэж, 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 бүтээх үйл явцыг ихээхэн хурдасгаж, багцуудыг бүтээхэд илүү хялбар болгодог. Өөр нэг давуу тал нь хэд хэдэн програм хангамжийн төслүүдэд хэрэглэгдэж буй бүх багцуудыг бүрэн харах, аюултай нээлттэй эхийн багцуудыг хаах (тэдгээр нь халдлагын векторын үүрэг гүйцэтгэх боломжтой) юм.

Гол давуу талууд

  • Техникийн дэмжлэг - Найдвартай бүтээгдэхүүн; сайн дэмжсэн.
  • Нээлттэй эх сурвалж - Үнэгүй хувилбар нь хөгжүүлэлтийн багуудад шаардлагатай үндсэн функцийг хязгаарладаггүй.

№1 Тохиргооны удирдлагын хэрэгсэл

Ялагч: Алгасах

Ansible бол нэг энгийн шалтгаанаар удирдагч юм: харьяалалгүй. Өмнө нь ижил төстэй хэрэгслүүд нь тохиргооны төлөвийн удирдлагад төвлөрч байсан. Ажиллуулах үед ийм хэрэгсэл нь хүссэн тохиргоог хүлээн авсны дараа одоогийн програмын тохиргоог засахыг оролдох болно. Мөн шинэ хандлагын хувьд зөвхөн харьяалалгүй бүрэлдэхүүн хэсгүүд байдаг. Кодын шинэ хувилбарууд нь одоо байгаа хувилбаруудыг солих зорилгоор байрлуулсан олдворууд юм. Үүнийг нэг төрлийн түр зуурын, богино хугацааны орчин гэж үзэж болно.

Гол давуу талууд

  • Харъяалалгүй - Playbook-г байршуулах машинаас эхлүүлж, зорилтот серверүүд дээр ажиллуулдаг. Би байрлуулж болох объектуудыг үүсгэхийн тулд Packer гэх мэт хэрэгслийг ашигласнаар алсын объектын төлөв байдлын талаар санаа зовох шаардлагагүй болно.
  • Нээлттэй эх сурвалж - CentOS-ийн нэгэн адил Ansible-г RedHat дэмждэг. Энэ нь олон нийтийг хадгалахад тусалдаг бөгөөд өндөр чанартай, хэрэглэхэд хялбар модулиудаар хангадаг.
  • Молекултай тест хийх (Ansible framework) - Тохиргооны удирдлага нь бусад бүх зүйлийн нэгэн адил код учраас тест хийх нь зайлшгүй шаардлагатай. Molecule's Ansible role testing framework нь өө сэвгүй ажиллаж, тохиргоо нь ижил чанартай байх ба програмын кодтой ижил CI/CD дамжуулах шугамыг дагаж мөрддөг.
  • YAML - Бусад хэрэгслүүдтэй харьцуулахад YAML нь ойлгоход хялбар байдаг. Тохиргооны удирдлага нь DevOps практикийг хэрэгжүүлдэг хүмүүсийн хувьд ихэвчлэн шинэ сорилт болдог тул энгийн байдал нь түүний гол карт юм.

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

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

Тоглоом - Хүүхэлдэй хэзээ ч олон шүтэн бишрэгчтэй байсангүй, ялангуяа Chef болон Ansible-тай харьцуулахад. Энэ нь техник хангамжийг хангах, ажиллахад маш сайн боловч вэб програмын орчин үеийн тохиргооны удирдлагын дэмжлэг байхгүй.

Байршуулах хэрэгсэл №1

Ялагч: Терраформ

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

Гол давуу талууд

  • Хүрээлэн буй орчныг үл тоомсорлох - Terraform нь дэд бүтцийн үйлчилгээ үзүүлэгчтэй харилцахын тулд таны Terraform код, бүх API болон дотоод логикийн хооронд интерфейсийн үүрэг гүйцэтгэдэг функцуудыг ашигладаг. Энэ нь би зөвхөн нэг хэрэгслийг эзэмшиж, дараа нь хаана ч ажиллах боломжтой гэсэн үг юм.
  • Нээлттэй эх сурвалж - Үнэгүй хэрэгслүүдийг ялахад хэцүү! Олон нийтийн дэмжлэг хамгийн өндөр түвшинд байна.

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

AWS Cloud Formation — Та зөвхөн AWS үүлэн орчинд ажилладаг байсан ч таны дараагийн ажил өөр хэрэгсэл ашиглаж болно. Зөвхөн нэг платформд бүх цаг, хүчээ зориулах нь алсын хараатай шийдвэр юм. Нэмж дурдахад, олон шинэ AWS үйлчилгээг CloudFormation дээр ашиглахаас өмнө Terraform модулиуд болгон ашиглах боломжтой байдаг.

Ажиллах цагийн хэрэгслүүд

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд

Аливаа хөгжлийн төслийн эцсийн зорилго нь уг програмыг үйлдвэрлэлд нэвтрүүлэх явдал юм. DevOps ертөнцөд бид хүрээлэн буй орчиндоо тохиолдож болох бүх асуудлыг бүрэн мэдэж байхаас гадна гар ажиллагаатай холбоотой оролцоог багасгахыг хүсдэг. Ашиглалтын цагийн хэрэгслүүдийн зөв багцыг сонгох нь програм хөгжүүлэлтийн nirvana-д хүрэхэд зайлшгүй шаардлагатай.

Ажиллах цагийн хэрэгслүүдийн дэд ангилал:

  • X-as-a-service (XaaS)
  • найрал хөгжим
  • хяналт
  • мод бэлтгэх.

X-хэрэгсэл нь үйлчилгээний №1

Ялагч: Амазоны Вэб үйлчилгээ

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
Амазон нь үүлэн технологийн салбарт үргэлж тэргүүлэгч байсаар ирсэн ч үүгээр зогсохгүй: хөгжүүлэгчдэд зориулсан олон төрлийн шинэ үйлчилгээнүүд нь нүдийг нь нээж байна. Ямар ч технологи, загварыг AWS-д авчирснаар үүнийг бүтээж, ажиллуулах болно. Багажны өртөг нь нэлээд боломжийн юм: үүнийг өөрийн мэдээллийн төвд угсрах, удирдах, засвар үйлчилгээ хийхтэй харьцуул. Үнэгүй хувилбар нь мөнгө зарцуулахаасаа өмнө туршилт хийж, зөв ​​шийдвэр гаргах боломжийг олгодог.

Гол давуу талууд

  • Тархалт - Хэрэв та AWS дээр програм бүтээх туршлагатай бол хаана ч ажиллах боломжтой. Бизнесүүд AWS-д дуртай бөгөөд стартапууд ч түүний хямд өртөгийг үнэлдэг.
  • Үнэгүй хувилбар нь AWS-ийг үе тэнгийнхнээсээ ялгаруулдаг үнэхээр чухал хүчин зүйл юм. Худалдан авах шийдвэр гаргахаасаа өмнө үйлчилгээг туршиж үзээд, ямар ч хэрэггүй зүйлд олон мянган доллар үрэхийг хүсэхгүй байна. Үнэгүй хувилбар нь ямар ч ойлголтыг туршиж үзэхэд надад үргэлж хангалттай байдаг.

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

Azure “Azure анхны гарснаасаа хойш маш их замыг туулсан бөгөөд энэ нь сайшаалтай. Гэсэн хэдий ч бусдаас ялгарах хүсэл нь үйлчилгээнд хачирхалтай нэр өгөхөд хүргэдэг бөгөөд энэ нь ихэвчлэн ажлыг хүндрүүлдэг. "Блоб хадгалах" гэж юу гэсэн үг вэ? Мөн .NET код нь Microsoft-ын экосистемд илүү сайн ажилладаг ч, та өөрийн программын бүрэлдэхүүн хэсэг бүрт зөвхөн .NET ашиглах нь юу л бол.

Хероку - Найдвартай байдал, ил тод байдлын түвшин доогуур байсан тул би Хероку дээр хувийн төслөөс өөр зүйлийг хэзээ ч явуулахгүй, тиймээс компаниуд үүнийг платформ болгон ашиглах ёсгүй. Хероку нь блог дээр ямар нэг зүйлийг харуулахад тохиромжтой, гэхдээ практик хэрэглээнд зориулагдсан - "Үгүй, баярлалаа!"

№1 Оркестрийн хэрэгсэл

Ялагч: нээлттэй ээлж

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

Гол давуу талууд

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

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

Докер сүрэг — Docker Swarm олон зүйлээс ангижрах замаар K8-ийг хялбарчлахыг оролдсон. Энэ нь жижиг програмуудад тохиромжтой, гэхдээ байгууллагын хэрэглээний хувьд энэ нь зүгээр л ажиллахгүй байна. Нэмж дурдахад, AWS ECS гэх мэт шийдлүүд нь ижил төстэй арга барилтай боловч миний харилцаж болох бусад үйлчилгээтэй (Lambda, IAM гэх мэт) ажиллахад хялбар болгодог.

Хяналтын хэрэгсэл №1

Ялагч: Шинэ дурсгал

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
New Relic-ийн анхны хувилбарууд нь нэг зүйлийг сайн хийсэн - APM (Application Performance Monitoring) хяналт. Энэ нь одоо сервер, контейнер, өгөгдлийн сангийн гүйцэтгэл, эцсийн хэрэглэгчийн туршлагын хяналт, мэдээж хэрэг програмын гүйцэтгэлийг хянах боломжийг олгодог бүрэн хэмжээний хяналтын хэрэгсэл юм.

Гол давуу талууд

  • Ашиглахад хялбар - Би системийн инженерээр ажиллаж байхдаа олон хяналтын хэрэгсэл ашиглаж байсан ч New Relic шиг энгийн бөгөөд ашиглахад хялбар хэрэгсэлтэй таарч байгаагүй. Энэ нь SaaS тул та өөрөө суулгах шаардлагагүй.
  • Төгсгөлд харагдах байдал - Бусад хэрэгслүүд нь таны програмын тодорхой нэг элементийг хянахыг оролддог. Жишээлбэл, процессорын ашиглалт эсвэл сүлжээний хөдөлгөөний хэмжүүр, гэхдээ програм зөв ажиллахын тулд энэ бүгдийг сайтар хянаж байх ёстой. New Relic нь юу болж байгааг иж бүрэн харахын тулд бүх өгөгдлөө нэгтгэх боломжийг танд олгоно.

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

Заббик — Миний хамгийн анхны бөгөөд хамгийн дуртай хяналтын систем боловч үүлэн технологи болон APM програмын гүйцэтгэлийн хяналтын талбарт хөгжөөгүйн улмаас энэ нь өнгөрсөн хугацаанд хэвээр үлдсэн. Zabbix уламжлалт серверийн дэд бүтцийн хяналтыг сайн хийдэг хэвээр байгаа ч энэ нь энэ юм.

DataDog - Код дээр биш харин програмын үйлдвэрлэлийн орчныг удирдах үйл явцад хэт их анхаарал хандуулдаг. Хөгжүүлэгчдийг оролцуулсан DevOps багуудын хувьд бид дээд зэргийн дэмжлэг үзүүлэхийн тулд ашиглахад хэцүү хэрэгслүүдэд найдах шаардлагагүй.

Бүртгэлийн хэрэгсэл №1

Ялагч: Тасархай

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
Splunk-тай өрсөлдөхөд хэцүү! Удаан хугацааны турш тэрээр мод бэлтгэх чиглэлээр тэргүүлэгч хэвээр байгаа бөгөөд үүнийг бусад хүмүүсээс илүү сайн хийсээр байна. Байгууллагын болон SaaS санал болгосноор та Splunk-г хаана ч ашиглах боломжтой. Том сул тал бол түүний үнэ юм: Splunk үнэхээр үнэтэй хэвээр байна!

Гол давуу талууд

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

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

ELK Stack (ElasticSearch, LogStash болон Kibana) "Эдгээр хэрэгслүүдийг ашиглахын тулд элэгээ зарах шаардлагагүй тул хамгийн дуртай хэрэгсэл юм." Гэсэн хэдий ч, логоны багц нэмэгдэж, самбар дээрх програмуудын тоо нэмэгдэхийн хэрээр ажил улам хэцүү болж байна. Splunk-тай харьцуулахад би ELK Stack-ийн тусламжтайгаар багаж хэрэгслийг тохируулахад урьд өмнө байгаагүй их цаг зарцуулсан.

Хамтын ажиллагааны хэрэгслүүд

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
DevOps нь үндсэндээ байгууллагын соёлыг өөрчлөх явдал юм. Аливаа хэрэгсэл худалдаж авах нь одоогийн практикийг нэг шөнийн дотор өөрчлөхгүй, гэхдээ энэ нь хамтын ажиллагаа, харилцан үйлчлэлийн шинэ аргуудыг урамшуулах нь гарцаагүй.

Хамтын ажиллагааны хэрэгслийн дэд ангилал:

  • даалгавар хянах
  • ChatOps
  • баримт бичиг.

№1 Асуудлыг хянах хэрэгсэл

Ялагч: Jira

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
Жира энэ чиглэлээр өрсөлдөөн нэмэгдэж байгаа хэдий ч тэргүүлэгч байр сууриа хадгалсаар байна. Жирагийн гайхалтай уян хатан байдал нь хөгжүүлэлт, засвар үйлчилгээний багт төслийн ажил болон спринт даалгавруудыг удирдах боломжийг олгодог. Agile нэр томъёог ашигладаг суурилуулсан стандартууд нь уламжлалт ажлын аргаас илүү үр ашигтай процесс руу шилжихэд хялбар болгодог.

Гол давуу талууд

  • Алдартай байдал - Бусад олон хэрэгслүүдийн нэгэн адил Жира бараг хаа сайгүй ашиглагддаг. Жижиг багууд хямд, хүртээмжтэй хувилбарыг ашиглаж, шаардлагатай бүхнээ авдаг бол том компаниуд илүү үнэтэй лицензийг төлж чаддаг.
  • Интеграци - Жира бол салбартаа анхдагч юм. Энэхүү баримт болон бүтээгдэхүүний хурдацтай хөгжил нь бусад компаниуд өөрсдийн интеграцчлалыг бий болгохын тулд Jira-г сонгож, улмаар багажны үнэ цэнийг нэмэгдүүлэхэд хүргэдэг. Бид Jira-г энэ нийтлэлд жагсаасан бүх хэрэгслээр бага зэрэг тохиргоотойгоор нэгтгэж чадна.

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

Trello — Трелло үнэгүй Канбан хэрэгслийн ачаар маш хурдан алдартай болсон. Гэсэн хэдий ч, үйл явц цар хүрээгээ тэлж, та хэдэн арван ажлаас хэдэн мянга руу шилжих үед Trello-г удирдах, хайх, тайлагнахад хэцүү болно.

Хамгийн чухал Tracker - Би стартап компанид ажиллаж байхдаа энэ хэрэгслийн маш их шүтэн бишрэгч байсан. Гэсэн хэдий ч Pivotal Tracker нь техникийн даалгавар гэхээсээ илүү бүтээгдэхүүний менежментэд илүү анхаардаг. Жира дахь бүтээгдэхүүний менежмент нь арай илүү төвөгтэй боловч нэмэлт хэрэгсэл ашиглахгүйгээр тэнд хэрэгжүүлэх боломжтой хэвээр байна.

ChatOps хэрэгсэл №1

Ялагч: MatterMost

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
Тайлбар: Магадгүй миний сонгосон хамгийн том сюрприз бол энэ бол сайн мэдээ! MatterMost нь өмнөх хэрэгслүүдээс хамгийн сайныг нь авч, харин тэдгээрийг газар дээр нь суулгаснаар алдартай болсон. Энэ нь компаниудын хувьд маш чухал юм: MatterMost нь танд өгөгдлөө хянах боломжийг олгодог бөгөөд үүнийг дотоодод ажилладаг хэрэгслүүдтэй нэгтгэхэд тусалдаг. Бид ажлын чатыг шалгахын тулд галт хананы гадна гарах шаардлагагүй болсон.

Гол давуу талууд

  • Нээлттэй эх сурвалж - MatterMost-ийн нээлттэй эхийн хувилбар нь дунд болон том багуудад маш сайн ажилладаг. Таны мессежийн түүхийг устгадаг Slack-ийн үнэгүй төлөвлөгөөнөөс ялгаатай нь өөрийн серверийг ажиллуулснаар та бүх мэдээллээ хадгална гэсэн үг.
  • Интеграцчилал - API нь бараг 100% Slack API дээр суурилсан тул бараг бүх Slack интеграцийг MatterMost-тэй шууд ашиглах боломжтой.

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

Сул - Сул бол гайхалтай, гэхдээ эдгээр залуус маш их өссөн тул ашиг хайж эхэлсэн. Бизнесийн зардлаа нөхөх үе шат ойртож байгаа бөгөөд энэ нь тэдний гол үнэ цэнийг үгүй ​​болгодог: Slack үйлчилгээг үнэ төлбөргүй үзүүлсэн; Үнэгүй хувилбарын хамгийн чухал сул тал бол чатын түүхийг устгах явдал юм.

Microsoft-ын багууд — Майкрософт компанийн эзэмшдэггүй зүйлтэй Microsoft-ын бүтээгдэхүүнийг нэгтгэж үзээрэй... Амжилт хүсье! Энэ хэрэгслийн талаар би хэлэх ёстой зүйл бол энэ юм!

Баримт бичгийн хэрэгсэл №1

Ялагч: Баярлалаа

2020 онд хүн бүрийн сурах ёстой DevOps хэрэгслүүд
Чанартай техникийн баримт бичгийг бүрдүүлэх, хадгалах нь ямар ч хэрэгсэл ашиглахаас үл хамааран нарийн төвөгтэй үйл явц юм. Хэдийгээр SaaS баримтжуулалтын олон хэрэгслүүд саяхан зах зээлд гарч ирсэн ч чухал ач холбогдолтой програмуудын техникийн баримт бичгийг хадгалах ажлыг гуравдагч этгээдэд өгөхөд надад хэцүү байх болно. Өгөгдөл, баримт бичгийг газар дээр нь хадгалахыг илүүд үздэг бөгөөд Confluence үүнийг ингэж шийддэг.

Гол давуу талууд

  • Ашиглахад хялбар - Ихэнх бие даасан хэрэгслүүдийг тохируулах, ажиллуулахад бага зэрэг төвөгтэй байдаг бөгөөд засвар үйлчилгээ хийхэд тодорхой мэдлэг шаарддаг. Confluence Server нь 10 эсвэл 10,000 хэрэглэгчдэд маш сайн ажилладаг.
  • Plugins - Сайхан, хэрэглэхэд хялбар навигацитай, бараг бүх зүйлд залгаас нэмэх чадвар нь Wiki-тэй төстэй боломжуудыг нээж өгсөнд баяр хүргэе.

Өрсөлдөгчид

Тулалдаанд оролцсон ч ялж чадаагүй

Баримт бичгийг уншина уу — Нээлттэй эхийн хувьд дажгүй, гэхдээ энд чухал мэдлэгийг хадгалах талаар бүү бодоорой.

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

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

Үр дүнг нэгтгэн үзье

Зах зээл дээр хэдэн зуун DevOps хэрэгсэл байдаг тул алийг нь ашиглах, хэзээ хэрэгжүүлэхийг мэдэхэд хэцүү болгодог. Бүрэн CI/CD дамжуулахад DevOps хэрэгслийг сонгохдоо энэхүү энгийн гарын авлагыг дагана уу.

Бүх таван ангиллаас хэрэгслийг сонгохоо мартуузай:

  • боловсруулах, бүтээх хэрэгсэл
  • туршилтын автоматжуулалтын хэрэгслүүд
  • байршуулах хэрэгсэл
  • Ажиллах цагийн хэрэгслүүд
  • хамтын ажиллагааны хэрэгслүүд.

Үндсэн зөвлөмж: Бүх зүйлийг автоматжуул!

Баярлалаа Зак Шапиро!

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх