Гарчиг[Нуух][Үзүүлэх]
Технологийн салбарт програм хангамж улам бүр өргөжиж байгаа тул хөгжүүлэлтийн багууд бизнесийн хэрэглээний өсөн нэмэгдэж буй хэрэглэгчдийн хүлээлтийг хангахын тулд үргэлж дарамт шахалтанд байдаг.
Үүлэнд суурилсан програмууд хөгжихийн хэрээр уламжлалт програм хангамж хөгжүүлэх үйл явц боловсронгуй болсон. Үйлчлүүлэгчийн тодорхойлсон нэг эрэлт хэрэгцээнд зориулж програм хангамжийг бий болгохоос илүүтэй одоогийн хандлага нь програм хангамж хөгжүүлэхийг тасралтгүй үйлчилгээ гэж үзэх явдал юм.
Бүтээгдэхүүний хөгжүүлэлт нь цул бүтэцээс уян хатан бүтэц рүү шилжсэн бөгөөд хөгжүүлэгчид хэрэглэгчийн өөрчлөгдөж буй хэрэгцээнд нийцүүлэн програм хангамжийг тасралтгүй сайжруулдаг.
Энэхүү шинэ стратегид дасан зохицохын тулд програм хангамж хөгжүүлэлтийн бизнесүүд Agile, Scrum, Kanban зэрэг програм хангамж хөгжүүлэх амьдралын мөчлөгийн (SDLC) одоогийн хандлагыг нэвтрүүлж, бүтээгдэхүүний нэмэлт, сайжруулалт, алдааг зассан.
Пүүсүүдийг хөгжүүлэх үйл явцыг хурдасгахад тусалдаг хоёр үндсэн бүрэлдэхүүн хэсэг бол DevOps ба автоматжуулалт юм.
Энэ хэсэгт бид DevOps автоматжуулалт болон үүнтэй холбоотой хэрэгслүүдийг нарийвчлан авч үзэх болно.
DevOps автоматжуулалт гэж юу вэ?
DevOps практик нь "бүх зүйлийг автоматжуулах" зарчим дээр суурилдаг. DevOps-ийн амьдралын мөчлөгийн ихэнх ажлууд давтагддаг тул автоматжуулалтад хамгийн тохиромжтой нэр дэвшигчид юм.
DevOps дахь автоматжуулалт нь хөгжүүлэгчийн орон нутгийн ажлын станц дээр код үүсгэхээс эхэлдэг бөгөөд кодыг хүргэх хүртэл, түүнчлэн хяналтын үе шатанд үргэлжилдэг. Мэдээллийн технологийн автоматжуулалт, робот процессын автоматжуулалт (RPA), AI автоматжуулалт, машин сургалт, гүнзгий суралцах зэрэг нь програм хангамж хөгжүүлэх автоматжуулалтын аргын жишээ юм.
Эдгээрийг бүгдийг нь DevOps процедурт ашиглаж болно. Автоматжуулалт нь DevOps процессуудыг оновчтой болгож, илүү хурдан бөгөөд үр ашигтай болгож, хөгжүүлэгчид болон үйл ажиллагааны багуудад гарын авлагын аргуудаас богино хугацаанд код бичих, турших, байршуулах, засвар үйлчилгээ хийх боломжийг олгодог.
Компаниуд автоматжуулалтыг ашиглан тасралтгүй нэгтгэх (CI), тасралтгүй нийлүүлэлт (CD), тасралтгүй байршуулалт (CI/CD) хийх шугам хоолой үүсгэх боломжтой.
DevOps автоматжуулалтын шилдэг хэрэгсэл
1. явах
Git бол програм хангамжийн салбарт алдартай DevOps технологи юм. Энэ нь алслагдсан баг болон нээлттэй эхийн төслүүдэд хувь нэмэр оруулагчдын дунд хамгийн алдартай хэрэгсэл юм.
Энэ нь хөгжүүлэгчдэд эх кодын хэд хэдэн хувилбарыг хадгалах замаар хөгжлийн явцаа хянах боломжийг олгодог тархсан эх кодын менежментийн (SCM) шийдэл юм. Шаардлагатай бол тэд өмнөх хувилбар руугаа хурдан буцах боломжтой.
Git нь янз бүрийн шалтгааны улмаас хамгийн шилдэг нь юм, учир нь энэ нь хөгжүүлэгчдэд өөрсдийн кодын бүх өөрчлөлт, шинэчлэлтийг хянах боломжийг олгодог бөгөөд ингэснээр ямар нэг зүйл буруу болвол тэд кодын өмнөх хувилбар руу амархан буцаж, ашиглах боломжтой болно.
DevOps багийн гишүүд өөрсдийн ажлыг түлхэж болох хостын агуулахуудыг ашигласнаар Git-ийг DevOps ажлын урсгалтай хялбархан нэгтгэх боломжтой.
GitHub болон Bitbucket нь одоогийн байдлаар Git репо байршуулах хамгийн шилдэг хоёр үйлчилгээ бөгөөд GitHub нь илүү алдартай. Bitbucket нь тав хүртэлх хүнтэй багт хязгааргүй хувийн хадгалах санг санал болгодог бол GitHub нь зөвхөн олон нийтийн репозиторуудыг үнэ төлбөргүй санал болгодог.
2. Docker
Docker бол өргөн тархсан програмуудыг хурдан бөгөөд үр дүнтэй үүсгэж, гүйцэтгэх боломжийг багуудад олгодог алдартай DevOps хэрэгслийн иж бүрдэл юм. Энэ нь процессын виртуалчлалын санаан дээр суурилдаг.
Програмын зөрчилдөөнөөс зайлсхийхийн тулд Docker нь контейнер програмуудад зориулж тусгаарлагдсан орчинг бүрдүүлдэг. Аппликешнүүдийг өөрийн саванд тусгаарлах нь илүү зөөврийн, аюулгүй болгодог. Docker нь зургуудаа янз бүрийн аргаар удирдах боломжийг олгодог.
Энэ нь зургийн кэшийг хадгалах, удирдах, тохируулах хувийн бүртгэлийг хөтөлдөг. Docker нь танд өөрийн хэрэгцээнд нийцүүлэн өөрийн зургийг бүтээх эсвэл одоо байгаа зургуудыг өөрчлөх боломжийг олгодог. Докер бол мэдээллийн технологийн салбарт контейнержуулалтыг дэлгэрүүлсэн анхны хүн юм.
Энэ нь илүү хурдан байршуулах, алсаас хөгжүүлэх, програмын түгээлтийг автоматжуулах боломжийг олгодог. Docker програмууд нь үйлдлийн систем болон платформыг үл тоомсорлож, үүлэн тооцоололтой сайн харьцдаг.
Docker-ийг одоо Google болон Amazon Web Services зэрэг бүх томоохон үүл үйлчилгээ үзүүлэгчид дэмждэг.
3. Kubernetes
Өнөө үед хүн бүр Google-ийн үүсгэн байгуулсан контейнер зохион байгуулах програм хангамж болох Kubernetes-ийн талаар ярьж байна. Энэ нь савыг өргөн цар хүрээтэй байлгаж, савлах ажлыг урагшлуулдаг. Үүнийг Docker эсвэл түүний аль нэг клонтой хамт ашиглаж болно.
Кубернетес ашиглан савыг логик нэгж болгон зохион байгуулж болно. Кубернетес нь олон зуун чингэлэгийн менежментийг автоматжуулах боломжийг олгодог. Кластер даяар савны хуваарилалт, хуваарийг автоматжуулснаар,
Kubernetes нь нэг серверээс илүүтэй компьютерийн кластерт агуулагдсан програм хангамжийг байрлуулахад хялбар болгодог. Kubernetes нь програм хангамжийг ямар ч сул зогсолтгүйгээр шинэчлэх, боловсруулах хугацааг багасгах, бизнесийн процедурыг оновчтой болгох боломжийг олгодог.
Зангилаа, кластер, подын шатлал нь DevOps багуудад олон зуун контейнерийн удирдлагыг автоматжуулах боломжийг олгодог бөгөөд зангилаа, кластер, подын шатлал нь програмын байршуулалтыг өргөтгөх боломжтой болгодог бөгөөд хэрэв нэг pod амжилтгүй болвол Кубернетес автоматаар өөр нэг подволкийг сонгоно.
4. Jenkins
Женкинс бол давтагдах үйлдлүүдийн гүйцэтгэлийг хянах зориулалттай тасралтгүй нэгтгэх, хүргэх (CI/CD) автоматжуулалтын шийдэл юм. Энэ нь нээлттэй эх сурвалжтай, Java-д суурилагдсан учраас ямар ч үйлдлийн систем дээр ажиллах боломжтой.
Энэ нь DevOps-ийн хамгийн чухал тал болох олон төрлийн тасралтгүй интеграцийн залгаасуудтай ирдэг. Jenkins Continuous Integration/Continuous Delivery сервер нь танд хүргэх үйл явцын олон үе шатыг автоматжуулах боломжийг олгодог.
Энэ нь CI/CD-г кодлох хэл болон эх кодын агуулахын аль ч хослолд идэвхжүүлэхийн тулд дамжуулах шугамын бүтцийг ашигладаг. Түүний Pipeline-as-Code функц нь CI/CD дамжуулах шугамыг бүрэн код болгон хувиргаж, DevOps сүлжээг бүхэлд нь нэгтгэх боломжийг олгодог.
Женкинс нь танд DevOps-ийн бүх үе шатыг үр дүнтэй хослуулах боломжийг олгодог мянга мянган залгаасуудыг агуулдаг. Ямар ч програмыг зохиох, эхлүүлэх, автоматжуулахад туслах олон зуун залгаасууд байдаг бөгөөд та зөвхөн шаардлагатай залгаасууд эсвэл функцуудыг суулгах боломжтой.
Энэ нь Azure DevOps, Amazon Web Services, Ansible зэрэг DevOps технологитой ажилладаг. Женкинс мөн GitHub-тэй нэгдсэн.
5. Тоглоом
Хүүхэлдэй нь серверүүдийг илүү найдвартай, хурдан болгохын тулд тохируулах, байршуулах, удирдахад зориулсан платформ хоорондын тохиргооны удирдлагын хамгийн хүчирхэг шийдэл юм.
Энэ нь таны архитектур дахь хост бүрийг тохируулж, машинуудыг динамикаар өсгөж, багасгах замаар серверүүдийг ажиллуулдаг. Хүүхэлдэй тохиргоо зөв эсэхийг шалгахын тулд байнгын шалгалт хийдэг. Үгүй бол хостын шаардлагатай тохиргоог буцаана.
Хүүхэлдэйн архитектур нь эзэн боолын харилцаан дээр суурилдаг. Ихэвчлэн харилцаа холбоог SSL шифрлэгдсэн холболтоор гүйцэтгэдэг. Энэ нь бүх зүйлийг код гэж үзэх замаар дэд бүтцийн менежментийг автоматжуулдаг.
Та хүүхэлдэйг ашиглан олон баг, нөөцийг удирдах боломжтой. Мөн гамшгийг ухаалгаар даван туулж чадна. Энэ нь янз бүрийн хэрэгслүүдтэй хамт ашиглагдах хэд хэдэн модулиудын онцлогтой.
Хүүхэлдэй нь GitHub, GitLab, BitBucket, Slack болон PagerDuty зэрэг технологиудаас гадна Slack, PagerDuty зэрэг мэдэгдлийн програмуудтай харилцдаг. Хүсэлтийн дагуу үнийн санал авах боломжтой. Мөн уг хэрэгслийг үнэгүй турших боломжтой.
6. Алгасах
Ansible нь энгийн төлөөлөгчгүй, ашиглахад хялбар тохиргооны удирдлагын шийдэл бөгөөд үүнийг илүү хурдан байршуулах боломжийг олгодог.
Энэ нь програмыг байршуулах, үүлэн хангамжийн хангамж, үйлчилгээний дотоод зохион байгуулалт гэх мэт үйлдлүүдийг автоматжуулдаг. Ansible-д хамгаалалтын нэмэлт дэд бүтэц хэрэггүй. Ansible нь зангилаануудыг холбож, модуль гэж нэрлэгддэг жижиг програмуудыг түгээдэг.
Дараа нь эдгээр модулиудыг ажиллуулж, процесс дууссаны дараа устгана. Ansible нь Puppet шиг дэд бүтцийг код гэж үздэг. Гэсэн хэдий ч энэ нь автоматжуулалтын ажлыг тоглоомын ном болгон илэрхийлэхийн тулд YAML ашигладаг. Ар талд ажиллаж байгаа агентууд эсвэл дэмонууд байхгүй тул Ansible нь тохиргооны удирдлагын автоматжуулалтад илүү хурдан, аюулгүй, хөнгөн сонголт юм.
Үүний үр дүнд энэ нь DevOps багт тусалдаг бүтээмжийг нэмэгдүүлэх. Ansible бол ашиглахад хялбар, код бичих тусгай мэдлэг шаарддаггүй нээлттэй эхийн програм юм.
Энэ нь маш олон чадвартай бөгөөд ашиглахад хялбар боловч нарийн төвөгтэй мэдээллийн технологийн үйлдлүүдийг хийж чадна. Энэ нь PowerShell, Python, Ruby дээр бичигдсэн бөгөөд Windows, macOS, Linux үйлдлийн системтэй нийцдэг.
7. Хулсан
Хулсан нь Женкинстэй адил тасралтгүй нэгтгэх, хүргэх (CI/CD) DevOps технологи бөгөөд угсралтаас эхлээд байршуулах хүртэл хүргэх дамжуулах хоолойг автоматжуулдаг.
Энэ нь Женкинст тодорхой тохируулагдсан байх ёстой хэд хэдэн урьдчилан бүтээгдсэн функцуудтай ирдэг. Ийм учраас Bamboo-д ердөө 100 орчим залгаас байдаг бол Женкинс 1000 гаруй залгаастай.
Үнэн хэрэгтээ, Bamboo нь олон тооны нэмэлт өргөтгөлүүдийг шаарддаггүй, учир нь энэ нь хайрцагнаас шууд ажлыг гүйцэтгэх боломжийг олгодог суурилагдсан функцуудыг агуулдаг. Үүний үр дүнд хулс нь тохиргооны хугацааг эрс багасгаж чадна.
Дээд зэрэглэлийн хөтөлбөр болон түүний үнэ төлбөргүй эквивалент хоорондын үндсэн ялгаа нь дараах байдалтай байна.
Үүний үр дүнд хэрэглэгдэх хэрэгсэл нь төсөв, зорилтоор тодорхойлогддог. Энэхүү хэрэгсэл нь танд туршилтыг бүтээн байгуулалт дээрээ зэрэгцүүлэн явуулах боломжийг олгож, багийнхаа цагийг хэмнэхээс гадна хэд хэдэн салбарыг тохируулах, скрипт боловсруулах, ажиллуулах боломжийг олгоно.
Хулсан нь Jira болон Bitbucket зэрэг төслийн менежментийн хэрэгслүүдтэй харьцдаг.
8. дарга
Chef бол Ruby дээр бүтээгдсэн вэб хэмжээний мэдээллийн технологийн үйл ажиллагаанд зориулсан DevOps тохиргооны удирдлагын шийдэл юм. Энэ нь дэд бүтцийн менежментийг хариуцдаг.
Тохиргооны удирдлага нь физик, виртуал эсвэл үүлэнд суурилсан бүх компьютер, түүнчлэн тэдгээрт агуулагдах өгөгдөл, программ хангамжийг зохих ёсоор тохируулж, төлөвлөсний дагуу ажиллаж байгааг баталгаажуулдаг. Дэд бүтэц нь хамгийн бага үед гараар тохируулахад хялбар байдаг.
Гэсэн хэдий ч дэд бүтэц хөгжихийн хэрээр илүү сайн өөр арга барил шаардлагатай. Тогооч нь дэд бүтцийг код гэж үзэх аргыг боловсруулсан.
Мэдээллийн сан гэх мэт бүх зүйлийг гараар тохируулахын оронд ачаалал тэнцвэржүүлэх, вэб серверүүд, тогоочийн жор нь үндсэн тохиргоог тайлбарладаг. Хоолны номыг жор цуглуулахад ашигладаг.
Cookbooks-ийн дэд бүтэц нь тухайн домэйны хэлээр бичигдсэн байдаг. Энэ бол хүнд хэцүү процедурыг автоматжуулах, хурдасгах гайхалтай DevOps хэрэгсэл юм. Тогоочийг олон томоохон корпорациуд дата төв болон үүлэн дэд бүтцээ зөв удирдахад ашигладаг.
Тогоочийн өндөр хүртээмж, хуулбарлах чадвар нь ямар нэг зүйл буруу болвол шаардлагатай бол дасан зохицож, дэд бүтцийг дахин бий болгож, хүний оролцоо багатай ажиллах хамгийн бага зогсолт, машины бэлэн байдлыг хангана.
9. Терраформ
Terraform бол архитектурыг тайлбарлах кодыг ашигладаг үүлэн дэд бүтцийг хангах хэрэгсэл юм. Энэ нь бүх нөөцийн графикийг бүтээж, аливаа бие даасан нөөцийг зэрэгцүүлэн гаргаж, засварлаж, олон хувилбарыг бүртгэдэг.
Terraform нь төрийн файлуудаар дамжуулан дэд бүтцийн статусыг хадгалдаг. Энэ нь хүссэн төлөвт хүрэх алхмуудыг тодорхойлсон гүйцэтгэлийн төлөвлөгөөг боловсруулж, дараа нь төлөвлөгөөнд заасан дэд бүтцийг барих төлөвлөгөөг хэрэгжүүлдэг.
Энэ нь DevOps багт хамгийн бага хүний оролцоотойгоор дэд бүтцийг хурдан бөгөөд аюулгүйгээр барьж, өөрчлөх боломжийг олгодог. Энэ нь нийтийн болон хувийн үүлэн дэд бүтэцтэй нийцдэг.
Хэрэглэгчид HashiCorp Configuration Language эсвэл JSON ашиглан дэд бүтцийн тодорхойлолт, програм хангамжийг үйлчилгээний тодорхойлолт, платформыг үйлчилгээний тодорхойлолт болгон тодорхойлж санал болгож болно.
Terraform-ийн бүтээгч HashiCorp нь хэрэглэгчид нөөцөө тодорхойлох замаар харилцах боломжтой албан ёсоор дэмжигдсэн үйлчилгээ үзүүлэгчдийн жагсаалтыг хөтөлдөг. Дараа нь Terraform нь дэд бүтцийг бүхэлд нь код болгон өгч, дахин ашиглах, засвар үйлчилгээ хийх боломжийг олгодог.
10. Vagrant
Vagrant бол автоматжуулалтад ихээхэн анхаарал хандуулдаг DevOps хэрэгсэл юм. Vagrant нь төсөл бүрийн хувьд нэг файл үүсгэдэг бөгөөд үүнд хэрэглэгчдийн суулгахыг хүсч буй машин, програм хангамжийн төрлийг ихэвчлэн зааж өгдөг.
Энэ нь Windows, Linux, macOS зэрэг олон үйлдлийн системүүд дээр саадгүй ажилладаг. Энэ нь тасралтгүй нэгтгэх, хүргэх (CI/CD) дээр төвлөрч, DevOps-ын багт хөгжлийн гайхалтай орчинг бүрдүүлэхэд тусалдаг.
Энэ нь хэрэглэгчдэд нэг, хэрэглэхэд хялбар, тууштай үйл явцаар виртуал машины орчинг бий болгох боломжийг олгох замаар тохируулах хугацааг багасгаж, үйлдвэрлэлийн тогтвортой байдлыг сайжруулдаг.
Puppet, Ansible, Chef зэрэг бусад алдартай тохиргооны удирдлагын системүүдийг залгаасуудаар дамжуулан Vagrant-тэй хялбархан нэгтгэж болно.
11. ТойрогCI
CircleCI бол хамгийн өргөн хэрэглэгддэг CI/CD үүлэн дээр суурилсан платформуудын нэг бөгөөд CI/CD дамжуулах шугамыг удирдахад дээд зэргийн хяналт, уян хатан байдлыг санал болгодог.
DevOps-д зориулсан CI/CD автоматжуулалтын шийдэлд нийцтэй байх нь хэзээ ч асуудал болохгүй, учир нь үүнийг Slack, AWS, Atlassian зэрэг томоохон компаниуд дэмждэг.
Мөн Python, JavaScript, Ruby, C++ програмчлалын хэл, мөн Windows, Linux, macOS платформуудыг дэмждэг. FedRAMP итгэмжлэл, SOC 2 Type II стандартын дагуу энэхүү хэрэгсэл нь хамгийн дээд түвшний аюулгүй байдлыг хангах баталгаатай. Хязгаарлагдмал контекст, аудитын бүртгэл болон бусад функцууд нь таны кодыг хянах боломжийг танд олгоно.
CircleCI-д байгаа кодыг өөрчлөх бүрд CircleCI шугам автоматаар идэвхждэг. Энэ триггер нь заасан контейнер эсвэл виртуал машин дээр автоматаар туршилтыг эхлүүлэх бөгөөд хэрэв ямар нэгэн асуудал илэрсэн тохиолдолд хариуцагч багт шуурхай, ямар ч гарын авлагын үйлдэл хийлгүйгээр мэдэгдэх болно. Учир нь даалгавар бүр нэг тойргоос бүтдэг.
Та YAML файлыг хурдан бөгөөд хялбар нөөцлөх боломжтой. Энэ хэрэгслийн анхны тохиргоо нь хялбар боловч файлын хэмжээ томрох тусам илүү хэцүү болно. CircleCI нь мөн өөрчлөн тохируулах чадваргүйгээс болж зовж шаналж байна.
12. Тасархай
Splunk бол DevOps-ын багуудад үйл ажиллагааны мэдээлэл өгдөг, хэрэгжих боломжтой ойлголт бүхий аналитик шийдлийг агуулсан гайхалтай технологи юм. Танд вэб сайт, программ болон гаджетаас мэдээлэл байнга үүсгэдэг систем байгаа гэж бодъё.
Бодит цаг хугацаанд та машинаас үүсгэсэн өгөгдөл эсвэл бүртгэлийг хайж, дүн шинжилгээ хийж, харуулахыг хүсч байна. Та мөн машины одоогийн байдлыг шалгаж, тоног төхөөрөмж бүтэлгүйтсэн цэгийг тодорхойлох хэрэгтэй. Энэ нь үүнийг хэрэгжүүлэх маш сайн хэрэгсэл юм.
Та машинаас өгөгдлийг Splunk руу илгээх боломжтой бөгөөд энэ нь танд зориулж боловсруулах болно. Энэ нь боловсруулалт дуусахад шаардлагатай өгөгдлийг гаргаж авдаг. Үүний үр дүнд та тодорхой асуудлууд болон тэдгээрийн байршлыг хурдан тодорхойлох боломжтой.
Splunk бол DevOps талбарт түгээмэл хэрэглэгддэг бүртгэлийн хяналт, шинжилгээний технологи бөгөөд үнэ төлбөргүй болон дээд зэрэглэлийн шийдлүүдийг ашиглах боломжтой. Энэ нь зохион байгуулалттай, бүтэцгүй эсвэл нарийн төвөгтэй хэрэглээний бүртгэлээс үл хамааран машинаас үүсгэсэн аливаа төрлийн өгөгдлийг цуглуулах, хадгалах, индексжүүлэх, уялдуулах, харуулах, дүн шинжилгээ хийх, тайлагнах олон мөрийн техникийг ашигладаг. Бодит цагийн болон түүхэн бүртгэлийн өгөгдлийг хоёуланг нь хайх боломжтой.
Та мэдээллийнхээ талаар илүү гүнзгий ойлголттой болж, аюулгүй байдлын асуудлыг илүү хурдан олж, шийдвэрлэхийн тулд захиалгат тайлан, хяналтын самбарыг боловсруулж болно.
13. Nagios
Нээлттэй эхийн дэд бүтцийн хяналтын програм Nagios нь хамгийн өргөн хэрэглэгддэг програмуудын нэг юм. Энэ нь DevOps багуудад сүлжээ болон дэд бүтцийг хянах боломжийг олгодог бөгөөд энэ нь асуудлыг илрүүлэх, шийдвэрлэхэд тусалдаг.
Тэд мөн үүнийг ашиглан тохиолдлууд, тасалдал, бүтэлгүйтлийг хянах боломжтой. Энэ нь саад тотгорыг тодорхойлох, зурвасын өргөнийг оновчтой болгоход туслах сүлжээний анализатортой хамт ирдэг. DevOps-ийн багууд Nagios-ийг ашиглан амжилт, бүтэлгүйтлийн хэв маягийг хянахын тулд тайлан, график бүтээх боломжтой.
Энэ нь бүтэлгүйтэл, алдааг урьдчилан таамаглахаас гадна аюулгүй байдлын асуудлуудыг тодорхойлж, урьдчилан таамаглахад хялбар болгодог. Nagios-ийн нээлттэй эхийн хяналтын шийдлүүд нь DevOp багийг дэд бүтцийн хяналтын цогц шийдлээр хангадаг.
Nagios Core нь Nagios-д зориулсан командын мөрийн интерфейс бөгөөд хамгийн бага функцийг санал болгодог.
Nagios XI бол вэб дээр суурилсан график юм хэрэглэгчийн интерфэйс. Энэ нь дэлгэцийн болон серверийн үйлдлийн систем, үйлчилгээ, сүлжээний протокол, программ зэрэг дэд бүтцийн бүх чухал бүрэлдэхүүн хэсгүүдийг хянахад DevOp багуудад туслах хяналтын шидтэний хамт ирдэг.
Nagios Log Server нь программыг хялбарчлах замаар хөгжүүлэгчдэд бүртгэлийн өгөгдлийг хайхад хялбар болгодог. Тэд мөн болзошгүй аюулгүй байдлын талаархи сэрэмжлүүлгийг тохируулж болно. Хөгжүүлэгчид Nagios Fusion ашиглан хэд хэдэн сүлжээг нэгэн зэрэг хянах боломжтой.
14. Пулуми
Пулуми бол үүлэн дэд бүтцийн нөөцийн удирдлага, дизайн, байршуулах хэрэгсэл юм. Kubernetes, OpenStack, AWS, Google Cloud, Azure зэрэг бүх томоохон үүл үйлчилгээ үзүүлэгчдийн хувьд энэхүү нээлттэй эхийн шийдэл нь эрлийз, нийтийн болон хувийн үүлний бүх хэлбэрт нийцдэг.
Өгөгдлийн сан, виртуал машин гэх мэт сонгодог дэд бүтцийн хэсгүүдийг бүтээх эсвэл кластер, контейнер зэрэг хамгийн сүүлийн үеийн үүлний бүрэлдэхүүн хэсгүүдийг зохион бүтээхэд гайхалтай үр дүнд хүрэхийн тулд үүнийг ашиглаж болно.
Кодтой ажиллахдаа та TypeScript, Go,.NET, Python зэрэг алдартай програмчлалын хэлүүдийг ашиглаж болно. Энэ нь бодлогын хэрэгжилтийг автоматжуулах боломжтой бөгөөд энэ нь чухал үүрэг юм.
Нөөцийг боловсруулахын өмнө энэ хэрэгсэл нь урьдчилан харахыг үүсгэж, шаардлагад нийцэж байгаа эсэхийг шалгадаг. Хостинг болон үүл дэд бүтцийг удирдах нь бялууны нэг хэсэг юм.
Зарим ашигтай боломжуудыг үл харгалзан Пулуми томоохон төслүүдийг бүтэцжүүлэхэд хялбар болгож чадахгүй байна.
Энэхүү хэрэглүүр нь энэ процессыг гүйцэтгэх явцад асар том төслүүдийг нэг том төсөл эсвэл олон жижиг төсөл болгон зохион байгуулах болно. Олон тооны нөөцийг зураглах үед стекийн лавлагааг цувралаас хасах нь ямар ч тохиолдолд маш хэцүү байдаг.
15. QuerySurge
QuerySurge нь өгөгдлийн тагнуул, аналитик аппликейшн бөгөөд ухаалаг өгөгдлийн туршилтыг явуулдаг. Энэ нь тасралтгүй туршилт хийхэд DevOps дамжуулах хоолойд бүрэн нийцэж, асар их хэмжээний өгөгдлийг асар хурдтайгаар шалгадаг.
QuerySurge нь DevOps философийг ашигладаг бөгөөд Big Data-г турших бүх үйл явцыг автоматжуулахын тулд хэд хэдэн дуудлага бүхий хүчирхэг API-ээр хангадаг. Өгөгдлийн агуулахууд, ETL процесс болон BI тайлан.
Энэ нь өгөгдлийн баталгаажуулалтын хамрах хүрээг эрс сайжруулж, мөн олон эх сурвалж болон зорилтот системд хувиргах чухал дүрмийг баталгаажуулж чадна. QuerySurge нь хүний харилцан үйлчлэлгүйгээр автоматаар ажилладаг бөгөөд үр дүнг мэдээлэхээс өмнө бүх туршилтыг гүйцэтгэдэг. I
t нь өгөгдлийн алдаа тус бүрийн талаар дэлгэрэнгүй мэдээллийг өгдөг. QuerySurge-ийн тушаалын мөрийн API нь дамжуулах хоолойн өгөгдлийн алдааг байнга илрүүлснээр CI/CD-г автоматжуулах боломжтой.
16. Buddy
Buddy бол гайхалтай уян хатан автоматжуулалтын шугам хоолойг ашиглан програм хангамжийг бүтээх, турших, байршуулах CI/CD шийдэл юм. Buddy нь DevOps-ийн саад тотгорыг бууруулдгаараа алдартай бөгөөд Actions нь Buddy-ийн үндэс суурь болдог. Эдгээр үйлдлүүд нь дамжуулах хоолойд хийгддэг алхамууд юм.
Дамжуулах хоолой нь хэдэн давхаргатай байх талаар ямар ч хязгаарлалт байхгүй. Энэ нь мөн бүх үндсэн програмчлалын хэл, хүрээгээр дэмжигддэг. AWS, Azure, Google болон бусад олон үйлчилгээтэй холбогдоход хялбар байдаг.
Давтан өдөөгдөх дамжуулах хоолойн тусламжтайгаар энэ нь програм, үйлчилгээний төлөв байдал, гүйцэтгэл, эрүүл мэндийг хянах боломжтой. Та үүнийг ашиглан тасралтгүй хүргэх үйл явцынхаа бүх хэсгийг дүрсэлж болно.
Энэхүү хэрэгсэл нь программуудаа хөгжүүлэлтийн орчинд бүтээх, турших, мөн үйлдвэрлэлийн орчинд байрлуулах, захиалгат скрипт бичих боломжийг олгодог.
Buddy танд бас боломжийг олгодог вэбсайтаа хянах мөн аналитикаа сайжруулаарай. Энэ нь YAML болон GUI тохиргоог дэмждэг бөгөөд GitHub, Docker, Bitbucket зэрэг платформоор дамжуулан тасралтгүй байршуулах боломжтой.
17. Модон
Maven бол Apache програм хангамжийн сангаас бий болгосон алдартай DevOps бүтээх автоматжуулалтын хэрэгсэл юм. Энэ нь Java орчинд сайн танигдсан боловч Scala, C/C++, C# хэл дээр бичигдсэн програмуудын бүтцийг удирдахад ашиглаж болно.
Барилгын үйл явц ба хараат байдлын менежмент нь Maven-ийн төвлөрсөн хоёр үндсэн чиглэл юм.
Энэ нь бүх чухал хамаарал, модулиуд гэх мэтийг багтаасан бүтээх процессыг бүхэлд нь тодорхойлохын тулд XML файлыг ашигладаг - өөрөөр хэлбэл амжилттай бүтээхэд шаардлагатай бүх зүйлийг ашигладаг.
Maven-ийн зорилго нь нийтлэг үйл ажиллагааг гүйцэтгэхэд зориулж урьдчилан тодорхойлсон зорилтуудын цуглуулга өгөх, олон нийтийн болон хувийн олдвор нийлүүлэгчдээс Java-ийн хамаарлыг автоматаар авах явдал юм.
Maven нь өргөтгөх боломжтой тул та үүнийг Java-ээс бусад хэл дээр ашиглах боломжтой; жишээ нь албан ёсны C/C++ залгаас байдаг.
18. Prometheus
Прометей бол дэд бүтцийн хяналтын хамгийн том хэрэгслүүдийн нэг нь эргэлзээгүй.
Энэ нь гайхалтай хэмжигдэхүүнийг дүрслэн харуулах, боловсронгуй асуулга, үнэн зөв сэрэмжлүүлэг, гуравдагч талын интеграцчлал, хэмжээст өгөгдөл гэх мэт чадавхитай учраас дэд бүтцийг хянахад гайхалтай үр дүнтэй болохыг харуулсан.
Линукс серверийн хамт нээлттэй эхийн шийдэл нь Kubernetes мониторингийг хангадаг. Prometheus нь хяналтын хэмжүүрүүдийн дохиоллын тохиргоог удирддаг дохиоллын менежертэй.
Энэ нь бодит цагийн хэмжилтийг хадгалахын тулд цаг хугацааны цуврал мэдээллийн санг ашигладаг бөгөөд том хэмжээст, уян хатан хайлт хийх боломжийг олгодог.
Энэ нь бодит цагийн сэрэмжлүүлгийг санал болгодог боловч үүнийг дүрслэн харуулах зорилгоор бүтээгээгүй тул Grafana гэх мэт хяналтын самбарын програм хангамжтай хамт ашиглах нь дээр.
Prometheus-ийн архитектур нь цагаан хайрцагны хяналтыг дэмждэг бөгөөд Прометей тэдгээрийг тогтмол цуглуулж байхын тулд хэмжигдэхүүнийг өгөхөд програмуудыг урамшуулдаг.
19. Рэйgun
Raygun бол программ хангамжийн программтай хэрхэн харьцдаг талаар хөгжүүлэгчдэд ойлголт өгдөг эцсийн хэрэглэгчийн хяналтын технологи юм.
Энэ нь програмын алдаа, гүйцэтгэлийн хүндрэл, нүүрэн талын эвдрэл зэрэг програмын асуудлуудыг аль болох хурдан тодорхойлох, оношлох, засах зорилготой юм.
JavaScript, PHP, Node.js, Python зэрэг хэл, GitHub, HipChat, Slack, Jira болон бусад платформууд зэрэг 43 хүртэлх хэрэгслийг тохируулахад хялбар бөгөөд холбох боломжтой.
Энэ бол програмын гүйцэтгэлийн менежментийн (APM) маш сайн хэрэгсэл юм.
Энэ нь гүйцэтгэлийн асуудлуудыг олж илрүүлэх, эх код, функц эсвэл API дуудлагын тодорхой шугам хүртэлх алдааг илрүүлэхэд тань туслах гайхалтай алдааны хяналт, гэмтлийн тайлангийн платформыг санал болгодог.
20. селен
Селен бол алдартай нээлттэй эх сурвалж юм вэб програм Линукс, Windows, Mac OS X зэрэг бүх томоохон хөтөч болон үйлдлийн системүүдтэй ажилладаг туршилтын хүрээ.
Selenium нь Python, C#, Ruby, Java, JavaScript, PHP, PERL зэрэг олон төрлийн програмчлалын хэл, автоматжуулалтын тестийн хүрээтэй.
Selenium IDE (Integrated Development Environment) нь хайгуулын туршилтын туршилтын тохиолдлуудыг үүсгэх, ажиллуулах, мөн туршилтын дахин тоглуулах бичлэг хийхэд ашиглагддаг.
Селен хэлээр тестийн скрипт бичихийн оронд Selenium клиент API нь хөгжүүлэгчдэд тэдгээрийг олон компьютерийн хэлээр шууд бичих боломжийг олгодог. Туршилтын скрипт бичихийн тулд
Selenium WebDriver нь хэлний тусгай холболттой. Selenium Grid бол ухаалаг юм прокси сервер Энэ нь янз бүрийн хөтчүүд болон үйлдлийн системүүдэд нэгэн зэрэг туршилт хийх боломжийг олгодог.
21. Хэт их
OverOps бол алдаа эсвэл серверийн эвдрэлийн үндсэн шалтгааныг хурдан тодорхойлоход тусалдаг DevOps хэрэгсэл юм. Энэ нь үйлдвэрлэлийн кодын алдааны шалтгааныг нэн даруй тодорхойлж, асуудлыг засахын тулд эх кодыг бүхэлд нь санал болгож чадна.
Энэ нь мөн асуудал хэзээ тохиолдсоныг хэлж чадна. Үүний үр дүнд DevOps баг бүртгэлийг үзэх цагаа дэмий үрэхийн оронд гол сайжруулалт хийхэд илүү их цаг зарцуулж чадна.
OverOps нь үндсэндээ алдааны үндсэн шалтгааныг тодорхойлох, урьдчилан сэргийлэх, шийдвэрлэх үүрэгтэй.
Энэ нь кодын хувилбар бүрт програм хангамжийн томоохон согогийг идэвхтэй илрүүлж, эрэмбэлэхийн зэрэгцээ байршуулалтын аливаа алдааг (хэрэв байгаа бол) илрүүлдэг. OverOps-ийн чанарын хаалга нь найдвартай биш бол хувилбарыг байрлуулахаас сэргийлдэг.
Дараа нь нөхцөл байдал үүсэх үеийн код болон орчны нарийн төлөвийг ашиглан асуудлыг тасралтгүй найдвартай байдлаар засдаг.
22. AWS Cloud Formation
Аж ахуйн нэгжийн хувьд Amazon Web Services нь төрөл бүрийн нөөцийг санал болгодог. Нөгөө талаас тэдгээрийг гараар удирдах нь асар том ажил юм.
Амазоны AWS CloudFormation нь бизнес эрхлэгчдэд AWS нөөцийг үүсгэх, удирдахад хялбар болгодог дэд бүтцийн менежментийн шийдэл юм.
Та AWS CloudFormation-ийг ашиглан өөрийн программ үүсгэх, загварчлах ажлыг автоматжуулах боломжтой. Стек нь Amazon Web Services-ийн бусад нөөцийг үүсгэх эсвэл шинэчлэхэд ашиглаж болох Amazon Web Services нөөцийн цуглуулга юм.
Цаашилбал, CloudFormation нь загвар эсвэл текст файл ашиглан эдгээр нөөцийг эсвэл бүрэн дэд бүтцийг удирдах боломжийг олгодог бөгөөд энэ нь маш энгийн үйлдэл юм. Хайрцагнаас гарч буй алсын төлөвийн тохиргоо нь хэрэгслийн хамгийн анхаарал татахуйц онцлог юм.
CloudFormation StackSets нь хэрэглэгчдэд нэг загвар ашиглан олон бүртгэл, бүс нутагт ижил AWS нөөцөд хандах боломжийг олгодог.
Энэ хэрэгсэл нь танд JSON эсвэл YAML ашиглах эсвэл график дизайн хийх эсэхээс үл хамааран файлуудыг ямар ч аргаар загварчлах боломжийг олгодог. Энэхүү програм нь үүл орчныг.NET, Python, Java зэрэг алдартай хэлээр тодорхойлох боломжийг танд олгоно.
23. Хөвөө
Gradle нь DevOps хэрэгслийн стек дэх маш уян хатан, найдвартай бүтээх хэрэгсэл болох нь батлагдсан. Google үүнийг Android Studio-ийн албан ёсны бүтээх хэрэгсэл болгоход илүү их анхаарал татсан.
Eclipse, IntelliJ IDEA, Netbeans зэрэг ихэнх томоохон IDE-үүд нь Gradle-ийг дэмждэг бөгөөд энэ нь хөгжүүлэгчдэд Python, C++, Java зэрэг алдартай хэл дээр код үүсгэх боломжийг олгодог.
Gradle нь Groovy-д суурилсан DSL-ийг бүтээх скриптүүдийг тодорхойлоход ашиглаж эхэлсэн бол Maven, Apache Ant зэрэг бусад зонхилох автоматжуулсан бүтээх хэрэгслүүд нь тохиргоонд XML ашигладаг.
Gradle нь 2016 онд худалдаанд гарсан Котлин дээр суурилсан DSL юм. Gradle нь нэмэлтээр бүтээгддэг бөгөөд энэ нь эмхэтгэлийн явцад ихээхэн хэмжээний цаг хэмнэдэг.
Энэ нь мөн даалгаврын гаралтыг дахин ашиглах, бүтээх мэдээллийг санах ойд хадгалах боломжийг санал болгодог. Эдгээр хоёр бүрэлдэхүүн хэсгийн ачаар Gradle-ийн гүйцэтгэл Maven-ээс зуу дахин хурдан байдаг. Gradle нь мөн янз бүрийн тохиргооны сонголтуудтай ирдэг.
24. TeamCity
JetBrains-ийн TeamCity нь DevOps багуудад зориулсан хүчирхэг тасралтгүй нэгдсэн платформ юм. Энэ нь ерөнхий зориулалтын CI/CD DevOps хэрэгсэл бөгөөд янз бүрийн төрлийн хөгжүүлэлт, ажлын урсгалд илүү олон сонголтыг өгдөг.
Хөгжүүлэгчээс эхлээд бүгд TeamCity-д дуртай DevOps -ийн инженерүүд менежерүүд болон админуудад. Та олон үүлэн, олон хэл, олон платформ зэрэг төрөл бүрийн програм, контейнер, багцуудыг үүсгэж, байршуулж, туршиж үзэх боломжтой.
Олон зуун нэмэлт өргөтгөлүүдийг үнэгүй татаж авах боломжтой бөгөөд хэдхэн товшилтоор суулгаж болно. Хөгжүүлэгчид эх кодыг эвдэж чадахгүй хувилбар хяналт системүүд, учир нь хаалгатай амлалтууд. Бодит цагийн тайлан нь асуудлыг илүү хурдан шийдвэрлэх боломжийг олгодог.
Нэгдсэн үзлэг, кодын хамрах хүрээ, давхардсан хайлт болон бусад үйлчилгээг авах боломжтой. Build Grid ашиглан янз бүрийн тохиргоо болон платформ дээр нэгэн зэрэг олон туршилт, бүтээцийг ажиллуулж болно. Дэмжигдсэн платформуудад Java, Ruby, and.NET орно.
25. Трисентис Тоска
Хиймэл оюун ухаанд суурилсан, скриптгүй шийдэл болох Tricentis Tosca-ийн тусламжтайгаар программ хангамжийн туршилтыг хурдасгаж, тестийн автоматжуулалтад кодгүй хандлагыг санал болгодог.
Энэ нь туршилтын автоматжуулалт, кейс дизайн, өгөгдлийн үйлдвэрлэл, дизайн, аналитик зэрэг туршилтын хэд хэдэн бүрэлдэхүүн хэсгүүдийг нэгтгэдэг.
Туршилтын автоматжуулалтын хурдыг засвар үйлчилгээ хийхэд хялбар болгохын тулд Tricentis Tosca нь Эрсдэлд суурилсан туршилт, Загварт суурилсан туршилттай холбоотой технологийг ашигладаг.
Функциональ туршилт, ачааллын туршилт, BI/DWH тест, хайгуулын туршилт, багц програмын туршилт, тестийн өгөгдлийн удирдлага, тестийн үр нөлөөний шинжилгээ, үйлчилгээний виртуалчлал, түгээлтийн гүйцэтгэл зэрэг нь DevOps багт ашиглах боломжтой туршилтын автоматжуулалтын хэрэгслүүдийн зөвхөн нэг хэсэг юм.
Salesforce, Adobe, Oracle, SAP, Java,.NET, HTML 5 болон бусад нь дэмжигдсэн 160 гаруй корпорацийн програм, технологид багтдаг.
Дүгнэлт
DevOps бол олон төрлийн стратеги агуулсан асар том сорилт юм. Өнөөдөр олон томоохон аж ахуйн нэгжүүд DevOps-ийг ямар нэг хэлбэрээр ажиллуулж байгаа хэдий ч тэдний DevOps-ийн бизнесийн хэрэгцээ өөр өөр байдаг.
Үүний үр дүнд DevOps автоматжуулалтын нэг оновчтой хэрэгсэл байж болохгүй. DevOps-д автоматжуулалтын хэрэгслийг зөв цуглуулах нь гарцад шууд нөлөөлдөг тул маш чухал юм.
Зөв багаж хэрэгслийг сонгохдоо төсөв, одоогийн дэд бүтэц, бизнесийн зорилго, пүүсийн соёл зэрэг олон хүчин зүйлийг анхаарч үзэх хэрэгтэй.
Жишээлбэл, томоохон байгууллагууд CI/CD-ийн хэрэгцээнд нийцүүлэн Женкинсийг GitLab-тай хамт нэгтгэж болно. Нэг платформоос тэд өөрсдийн CI/CD ажлын урсгалыг хянах боломжтой. Харин жижиг, дунд бизнес эрхлэгчид CircleCI-г ашиглах нь зүйтэй, учир нь түүний өртөг хэмнэлттэй, сайн ажиллагаатай хэвээр байна.
хариу үлдээх