Pono nā mea hana a DevOps e aʻo i ka makahiki 2020

E hoʻomaka i ka hoʻohana ʻana i nā mea hana DevOps maikaʻi loa i kēia lā!

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
ʻO ka DevOps revolution ua lawe hope loa i ka honua a ua lilo nā mea hana DevOps i mea kaulana loa. Wahi a ka lawelawe Google LIKE, Ke ulu mau nei ka nui o nā noi no "nā mea hana DevOps", a ke hoʻomau nei kēia ʻano.

Hoʻopili ʻo DevOps methodology i ke ola holoʻokoʻa o ka hoʻomohala polokalamu, no laila hiki i nā poʻe loea ke koho mai nā ʻano mea hana like ʻole. Akā, e like me kāu e ʻike ai, ʻaʻohe mea paahana hiki ke lilo i mea hana honua no kēlā me kēia. Eia nō naʻe, hāʻawi kekahi mau hāʻina i nā ʻano hana like ʻole e hiki ai iā lākou ke mālama i nā hana āpau.

E hoʻokaʻawale i nā mea hana DevOps i nā ʻāpana a hoʻohālikelike iā lākou me nā analogues:

  • hoʻomohala a kūkulu i nā mea hana
  • hoʻāʻo i nā mea hana hoʻomaʻamaʻa
  • nā mea hana no ka hoʻonohonoho ʻana i ka hoʻolaha
  • Mea hana holo manawa
  • mea hana hui.

Hoʻokō kūleʻa a noʻonoʻo Hoʻomaʻamaʻa DevOps Aia nā mea kani mai nā hui ʻelima i helu ʻia ma luna. E noʻonoʻo i nā mea hana i kēia manawa i kāu papahana i ʻole e poina i kahi mea nui o ka pipeline CI/CD.

Hoʻomohala a kūkulu i nā mea hana

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
ʻO kēia ke kumu o ka paipu paipu CI/CD. E hoʻomaka ana ma ʻaneʻi! Hiki i nā mea hana maikaʻi loa i kēia māhele ke hoʻokele i nā kahawai hanana lehulehu a hoʻohui maʻalahi me nā huahana ʻē aʻe.

Ma kēia pae o ka pōʻai ola hoʻomohala, ʻekolu pūʻulu o nā mea hana:

  • ʻōnaehana mana mana (SCM)
  • hoʻohui mau (CI)
  • Hooponopono ikepili

Ua loaʻa iā GIT kahi moʻolelo mele maikaʻi ma 2020, no laila pono i kāu hāmeʻa SCM ke kākoʻo maʻemaʻe no GIT. No CI, ʻo kahi mea e pono ai ka hiki ke hoʻokō a holo i nā kūkulu i loko o kahi kaʻawale pahu. I ka wā e pili ana i ka hoʻokele ʻikepili, pono ia i ka hiki ke hoʻololi i ka schema database a mālama i ka waihona e like me ka palapala noi.

SCM + CI Mea Hana #1

Lanakila: ʻO GitLab a me GitLab-CI

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
ʻO ka mea hana maikaʻi loa o ka pōʻai DevOps 2020 me ke kānalua ʻole ʻo GitLab, a e hoʻomau mau ʻia e alakaʻi i ka hana hou i ka wā e hiki mai ana.

ʻO ka hana nui o GitLab ka hāʻawi ʻana i ka hoʻokele ʻoluʻolu o kahi waihona Git. He intuitive a maʻalahi ka hoʻohana pūnaewele. Hāʻawi ʻo GitLab i nā mea āpau āu e pono ai i kahi mana manuahi a hele mai ma ke ʻano he SaaS a ma luna (e hoʻohana ana i kāu mau kumuwaiwai ponoʻī e hoʻokipa i ka polokalamu).

ʻAʻohe mea hana SCM ʻē aʻe i hoʻohana i ka hoʻohui hoʻomau (CI) pololei ma kāu waihona, a ua hana ʻo GitLab i kēia no ka manawa lōʻihi. No ka hoʻohana ʻana iā GitLab-CI, pono ʻoe e hoʻohui i kahi faila .gitlab-ci.yml i kāu kumu kumu kumu, a ʻo nā hoʻololi i ka papahana e hoʻomaka i nā hana e pili ana i ka mea āu i kuhikuhi ai. Ua ʻike pono ʻia ʻo GitLab a me GitLab-CI ma ke ʻano he alakaʻi i ke kahua o ka hoʻohui mau ʻana (CI-as-code).

Nā Pōmaikaʻi Nui

  • Pono - Aia ka huahana ma ka mākeke mai 2013; hale paʻa; kākoʻo maikaʻi ʻia.
  • Open Source - ʻAʻole kaupalena ka mana manuahi o GitLab i nā hana koʻikoʻi e pono ai nā hui hoʻomohala. Hāʻawi nā pūʻolo lawelawe uku i nā hiʻohiʻona pono hou no nā hui o nā ʻano nui a me nā pono.
  • Engrained CI - ʻAʻohe mea hana ʻē aʻe ma ka mākeke i kūkulu i ka hoʻohui mau ʻana i SCM e like me GitLab-CI. ʻO ka hoʻohana ʻana iā Docker e hōʻoiaʻiʻo i nā kūkulu kaʻawale ʻole, a me nā hōʻike i kūkulu ʻia e maʻalahi ka debugging. ʻAʻole mākou koi i ka hoʻohui paʻakikī a me ka hoʻokele ʻana i nā mea hana he nui i ka manawa like.
  • Hoʻohui palena ʻole - Hāʻawi ʻo GitLab i ka hoʻohui maʻalahi o nā mea hana DevOps āu e pono ai. Mālama kēia i nā hui hoʻomohala a mālama i hoʻokahi kumu o ka ʻike e pili ana i kā lākou noi ma nā wahi āpau.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

Aia kekahi mau mea hana kaulana i kēia ʻāpana, akā ʻaʻole maikaʻi lākou e like me GitLab. A ʻo ia ke kumu:

GitHub - He ʻōnaehana mana mana SaaS maikaʻi loa kēia no nā ʻoihana liʻiliʻi a me nā pae mua o ka hoʻomohala ʻana. No nā hui nui he mea nui ka mālama ʻana i nā IP address ma kā lākou pūnaewele ponoʻī, ʻo ka hopena wale nō mai GitHub ʻo ia ka mīkini virtual .OVA me ke kākoʻo ʻole o nā ʻōnaehana kiʻekiʻe. He mea paʻakikī kēia i ka mālama ʻana ma mua, ʻo ia hoʻi, kūpono wale ʻo OVA no nā ʻoihana liʻiliʻi, i ʻole e hāʻule wale ke kikowaena ma lalo o ka ukana ʻoi aku. ʻO ka nele o GitHub Actions (a hiki i kēia manawa a ʻaʻole i loko o kahi mana ma mua) a i ʻole CI-as-code pono ʻoe e koho i kahi mea hana CI ʻokoʻa a laila hoʻokele i kēlā hoʻohui. ʻO ka mea hope loa, ʻoi aku ka maikaʻi o GitHub ma mua o kēlā me kēia mana o GitLab.

ʻO Jenkins - ʻOiai ua manaʻo ʻia ʻo Jenkins ka maʻamau ma waena o nā mea hana hoʻohui hoʻomau ma ke ʻano maʻamau, ua nele mau i nā mana mana mana. ʻIke ʻia ke hoʻohana nei ʻoe iā Jenkins me kekahi ʻano mea hana SCM. Paʻakikī loa ke hiki iā GitLab ke hana ʻelua. ʻAʻole kūpono ka hoʻolālā Mediocre UX no kahi noi pūnaewele hou a waiho i nā mea nui e makemake ʻia.

BitBucket/ʻohe — Pono au e hoʻomaopopo iā ia he nalo maʻalahi: no ke aha ʻelua mau mea hana ke hana ʻo GitLab i nā mea āpau. Kākoʻo ʻo BitBucket Cloud i ka hana GitLab-CI / GitHub Action, akā ʻaʻohe ʻoihana ʻoi aku ka nui ma mua o kahi hoʻomaka e hiki ke hoʻokō maʻalahi. ʻAʻole kākoʻo ke kikowaena BitBucket ma mua i nā paipu BitBucket!

#1 Mea Hana Hoʻokele ʻIkepili

Lanakila: FlywayDB

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
I ka hoʻomohala ʻana i nā noi pūnaewele, ʻaʻole i hāʻawi nui ʻia ka automation database. ʻO ka manaʻo o ka hoʻohana ʻana i nā hoʻololi schema database no nā mana hou o ka noi. Hoʻololi pinepine ka hoʻololi ʻana i nā kolamu a i ʻole nā ​​papa i hoʻohui ʻia a kapa hou ʻia. Inā ʻaʻole kūlike ka mana o ka palapala noi me ka mana hoʻolālā, hiki ke hāʻule ka palapala noi. Eia hou, hiki ke paʻakikī ka hoʻokele ʻana i nā loli waihona i ka wā e hoʻonui ai i kahi noi no ka mea aia ʻelua ʻōnaehana like ʻole. Hoʻopau ʻo FlyWayDB i kēia mau pilikia āpau.

Nā Pōmaikaʻi Nui

  • ʻO ka hoʻololi ʻana i ka ʻikepili - ʻAe ʻo Flyway iā ʻoe e hana i nā mana waihona, mālama i ka neʻe ʻana o ka waihona, a maʻalahi hoʻi e hoʻololi a hoʻihoʻi i nā hoʻololi schema me ka ʻole o kahi mea hana hou no kēia.
  • Binary a i hoʻopili ʻia - Hiki iā mākou ke koho e holo i Flyway ma ke ʻano he ʻāpana o ka noi a i ʻole ma ke ʻano he binary executable. Nānā ʻo Flyway i ka hoʻohālikelike ʻana i ka mana ma ka hoʻomaka ʻana a hoʻomaka i nā neʻe kūpono, e mālama ana i ka ʻikepili a me nā mana noi i ka sync. Ma ka holo ʻana i ke kauoha cmd line ad-hoc, hāʻawi mākou i ka maʻalahi i nā ʻikepili i loaʻa me ke kūkulu hou ʻana i ka noi holoʻokoʻa.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

ʻAʻole nui nā mea hana ma kēia wahi. E nānā kākou i kekahi o lākou:

LiquiBase — Ua like ka Liquibase me FlywayDB. Makemake au e hoʻonoho iā ia ma luna o Flyway inā loaʻa iaʻu kekahi ma kaʻu hui me ka ʻike hou aku me Liquibase.

Flocker - Hiki ke hana wale no nā noi containerized. No ka holo pono ʻana i nā waihona containerized, pono e hoʻolālā maikaʻi ʻia nā mea āpau. Manaʻo wau e hoʻohana i ka RDS (Relational Database Service) no nā ʻikepili a ʻaʻole ʻōlelo e mālama i ka ʻike koʻikoʻi i loko o kahi pahu.

Hoʻāʻo i nā mea hana automate

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
E hoʻomaka kākou i kā mākou kūkākūkā o nā mea hana hoʻāʻo hoʻāʻo ma ka hoʻokaʻawale ʻana iā lākou ma muli o ka pyramid hoʻāʻo.

ʻO ka pyramid hoʻāʻo (hōʻoia) he 4 pae:

  • Nā Ho'āʻo Unit - ʻO kēia ke kumu o ke kaʻina hana hoʻāʻo automated holoʻokoʻa. Pono e ʻoi aku ka nui o nā hoʻokolohua ʻāpana i hoʻohālikelike ʻia me nā ʻano hoʻokolohua ʻē aʻe. Kākau a hoʻokō nā mea hoʻomohala i nā hoʻokolohua ʻāpana e hōʻoia i ka ʻae ʻana o kahi ʻāpana o kahi noi (i ʻike ʻia he "unit") i kona hoʻolālā a hana e like me ka mea i manaʻo ʻia.
  • Nā hoʻāʻo ʻāpana − ʻO ke kumu nui o ka hoʻāʻo ʻana ʻo ia ka hōʻoia ʻana i ke ʻano hoʻokomo/puka o ka mea hoʻāʻo. Pono mākou e hōʻoia e hoʻokō pono ʻia ka hana o ka mea hoʻāʻo e like me ka kikoʻī.
  • Nā ho'āʻo hoʻohui - He ʻano hoʻāʻo kahi e hui pū ʻia ai nā modula polokalamu pilikino a hoʻāʻo ʻia ma ke ʻano he hui.
  • Nā ho'āʻo hope-a-hope - He wehewehe ponoʻī kēia ʻanuʻu. Mālama mākou i ka noi holoʻokoʻa a hōʻoia i ka hana e like me ka mea i hoʻolālā ʻia.

No ka mea e hana wale ʻia nā hoʻokolohua ʻāpana a me nā hoʻāʻo ʻāpana e nā mea hoʻomohala a hoʻonohonoho pinepine ʻia i ka ʻōlelo kikoʻī, ʻaʻole mākou e loiloi i kēia mau mea hana no ka waihona DevOps.

#1 Mea Hana Ho'āʻo Hoʻohui

Lanakila: Kūkamo

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
Hoʻohui ʻo Cucumber i nā kikoʻī a me nā palapala hoʻāʻo i loko o kahi palapala ola hoʻokahi. Loaʻa mau nā kikoʻī i ka wā e hoʻāʻo ʻia e ka Cucumber. Inā makemake ʻoe e kūkulu i kahi kaʻina hoʻāʻo ʻokoʻa mai ka ʻohi ʻana a me ke ʻano hoʻohālike o ka mea hoʻohana i kahi noi pūnaewele, a laila ʻo Selenium WebDriver me Java a me Cucumber BDD he ala maikaʻi loa ia e aʻo ai a hoʻokō i ka Cucumber i kahi papahana.

Nā Pōmaikaʻi Nui

  • ʻO ke ala BDD (Behavior Driven Development - "hoʻomohala ma o ka hana" e kū'ē ana i ke ala "hoʻomohala hoʻāʻo") - Hoʻolālā ʻia ʻo Cucumber no ka hoʻāʻo BDD, ua hana mua ʻia no kēia hana.
  • ʻO ka Palapala Ola - He ʻeha mau ka palapala! No ka mea ua kākau ʻia kāu mau hoʻāʻo ma ke ʻano he code, hoʻāʻo ʻo Cucumber i nā palapala i hana ʻia e hōʻoia i ka hui pū ʻana o nā hoʻokolohua a me nā palapala.
  • Kākoʻo - Hiki iā mākou ke koho mai nā mea hana he nui, akā aia ka Cucumber i nā kumuwaiwai kālā kūpono a me kahi ʻōnaehana kākoʻo i hoʻonohonoho maikaʻi ʻia e kōkua i nā mea hoʻohana i kekahi kūlana paʻakikī.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

Ma waena o nā papa hana ʻē aʻe a me nā mea hana ʻenehana, hiki ke noʻonoʻo ʻia ʻo Cucumber wale nō he hopena honua.

Nā mea hana hoʻāʻo hope-a-hope

I ka hana ʻana i ka hoʻāʻo hope-a-hope, pono ʻoe e noʻonoʻo i ʻelua mau mea nui:

  • hoao hana
  • ʻO ka hoʻāʻo ʻana.

Ma ka hoʻāʻo hana, ʻike mākou inā ua hana maoli nā mea a mākou e makemake ai. No ka laʻana, ke kaomi au i kekahi mau mea o kaʻu SPA (noi ʻaoʻao hoʻokahi), e hoʻopiha i nā palapala a koho i ka "Submit", ʻike ʻia ka ʻikepili i loko o ka waihona a ʻike ʻia ka memo "Success!" ma ka ʻaoʻao.

He mea nui nō hoʻi iā mākou e nānā i hiki ke hana ʻia kekahi helu o nā mea hoʻohana e holo ana i ke ʻano like me ka hewa ʻole.

ʻO ka loaʻa ʻole o kēia mau ʻano hoʻāʻo ʻelua he drawback koʻikoʻi ia i kāu pipeline CI/CD.

#1 mea hana hoʻāʻo hope-a-hope. Hoao hana

Lanakila: SoapUI Pro

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
Aia ʻo SoapUI i ka wahi hoʻāʻo API no ka manawa lōʻihi mai ka lawelawe pūnaewele SOAP maʻamau. ʻOiai ʻaʻole mākou e hana hou i nā lawelawe SOAP hou a ʻaʻole i loli ka inoa o ka mea hana, ʻaʻole ia he manaʻo ʻaʻole ia i ulu. Hāʻawi ʻo SoapUI i kahi hoʻolālā maikaʻi loa no ka hana ʻana i nā hoʻāʻo hana backend automated. Hiki ke hoʻohui maʻalahi i nā hoʻokolohua me nā mea hana hoʻohui mau a hoʻohana ʻia ma ke ʻano he ʻāpana o ka pipeline CI/CD.

Nā Pōmaikaʻi Nui

  • Nā palapala kikoʻī - Aia ʻo SoapUI ma ka mākeke no ka manawa lōʻihi, no laila he nui nā kumuwaiwai pūnaewele e hiki ke kōkua iā ʻoe e hoʻomaopopo i ka hoʻonohonoho ʻana i nā hoʻokolohua.
  • ʻO ka maʻalahi o ka hoʻohana ʻana - ʻOiai ke kākoʻo nei ka hāmeʻa i nā protocol he nui no ka hoʻāʻo ʻana i nā API, ʻo ka loaʻa ʻana o SoapUI o kahi interface maʻamau no nā lawelawe lehulehu e maʻalahi i nā hoʻokolohua kākau.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

Selenium ʻo ia kekahi mea hana nui ma kēia hui. Manaʻo wau e hoʻohana iā ia inā ʻoe e kūkulu a holo ana i kahi polokalamu Java. Eia nō naʻe, inā ʻoe e kūkulu nei i kahi noi pūnaewele piha me nā ʻenehana he nui, hiki ke lilo i mea paʻakikī no nā ʻāpana Java ʻole.

#1 mea hana hoʻāʻo hope-a-hope. ʻO ka hoʻāʻo ʻana

Lanakila: LoadRunner

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
ʻO ka wehewehe: Ke hiki mai ka manawa e hoʻouka i ka hoʻāʻo ʻana i kēlā me kēia mea o kāu noi, ʻo LoadRunner wale nō e hiki ke hoʻopau i ka hana. ʻAe, he kumukūʻai a paʻakikī hoʻi i ka wā mua, akā ʻo LoadRunner wale nō ka mea hana e hāʻawi iaʻu, ma ke ʻano he mea kālai ʻenehana, hilinaʻi piha e hana ka code hou ma lalo o nā kūlana haʻahaʻa loa. Eia kekahi, manaʻo wau ʻo ka manawa kēia no LoadRunner e lawe ʻia e nā hui hoʻomohala ma mua o ka hoʻāʻo ʻana i nā hui.

Nā Pōmaikaʻi Nui

  • Nā palapala nui - Loaʻa ʻo LoadRunner ma ka mākeke no ka manawa lōʻihi, no laila he nui nā kumuwaiwai pūnaewele e kōkua iā ʻoe e hoʻomaopopo i ke ʻano o ka hoʻonohonoho ʻana i nā hoʻāʻo ukana.
  • Kākoʻo Kākoʻo - Kākoʻo ʻo Load Runner i nā mea āpau mai ODBC a i AJAX, HTTPS a me nā protocol ʻē aʻe i hiki ke hoʻohana ʻia e kāu noi. Ho'āʻo mākou ʻaʻole e hoʻohana i nā mea hana he nui no ka hoʻāʻo ʻana, no ka mea, hoʻopili wale kēia i ke kaʻina hana.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

Eia hou, ʻaʻohe nui o nā mea hana maʻamau ma kēia wahi, no laila ʻo ka hoʻonā maikaʻi loa ka mea e hana ai i kēlā me kēia kaiapuni me kekahi ʻenehana.

Nā mea hana hoʻolaha

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
ʻO nā mea hana hoʻolālā ka mea liʻiliʻi loa o ka hoʻomohala ʻana. No ka hui hana me ka ʻike ʻole i ke code a me ka hana o ka noi, paʻakikī ke hoʻohana i ia mau mea hana. No nā mea hoʻomohala, he kuleana hou ka hoʻokele hoʻonohonoho, no laila ʻaʻole lawa ka ʻike i ka hana ʻana me ia mau mea hana.

ʻO ka mea mua, e hoʻokaʻawale i nā mea hana hoʻolālā āpau i ʻekolu mau ʻāpana:

  • hoʻokele waiwai
  • hoʻoponopono hoʻonohonoho
  • kau aku.

#1 Mea Hana Hana Mea Hana

Lanakila: Nexus

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
Kākoʻo ka waihona artifact Nexus kokoke i nā ʻenehana nui, mai Java a NPM a Docker. Hiki iā mākou ke hoʻohana i kēia mea hana e mālama i nā mea waiwai a pau a mākou e hoʻohana ai. ʻO ka hoʻopiʻi ʻana i nā mea hoʻokele pōʻai mamao e hoʻolalelale i ke kaʻina hana CI, e hoʻonui i nā pūʻolo no ke kūkulu ʻana. ʻO kekahi pōmaikaʻi ʻē aʻe ʻo ka hiki ke loaʻa ka ʻike piha o nā pūʻolo āpau i hoʻohana ʻia i kekahi mau papahana polokalamu, ke kāohi ʻana i nā pūʻolo kumu wehe ʻole (hiki iā lākou ke hana ma ke ʻano he vector hoʻouka).

Nā Pōmaikaʻi Nui

  • Kākoʻo ʻenehana - Huahana hilinaʻi; kākoʻo maikaʻi ʻia.
  • Open Source - ʻAʻole kaupalena ka mana manuahi i nā hana koʻikoʻi e pono ai nā hui hoʻomohala.

#1 Mea Hana Hoʻoponopono Hoʻonohonoho

Lanakila: ʻO ke kūpono

He alakaʻi ʻo Ansible no hoʻokahi kumu maʻalahi: stateless. Ma mua, ua pili nā mea hana like i ka hoʻonohonoho hoʻokele mokuʻāina. I ka wā i hoʻokuʻu ʻia ai, ua loaʻa i kahi mea hana i makemake ʻia, e hoʻāʻo e hoʻoponopono i ka hoʻonohonoho noi o kēia manawa. A me ke ala hou, ʻo nā ʻāpana stateless wale nō. ʻO nā mana hou o ke code he mau mea kiʻi i kau ʻia e pani i nā mea i loaʻa. Hiki ke noʻonoʻo ʻia he ʻano ephemeral, pōkole pōkole.

Nā Pōmaikaʻi Nui

  • Stateless - Hoʻokuʻu ʻia ka Playbook mai ka mīkini deployment a hoʻokō ʻia ma nā kikowaena i kuhikuhi ʻia. ʻAʻole pono wau e hopohopo e pili ana i ke kūlana o ka mea mamao ma o ka hoʻohana ʻana i kahi mea hana e like me Packer e hana i nā mea hiki ke hoʻoili ʻia.
  • Open Source - E like me CentOS, kākoʻo pū ʻia ʻo Ansible e RedHat. Kōkua ia i ka mālama ʻana i ke kaiāulu a hāʻawi i nā modula kiʻekiʻe, maʻalahi e hoʻohana.
  • ʻO ka hoʻāʻo ʻana me ka Molecule (kahi Ansible framework) - No ka mea he code ka hoʻokele hoʻonohonoho, e like me nā mea ʻē aʻe, pono ka hoʻāʻo. Hana maikaʻi ʻole ka Molecule's Ansible role testing framework, e hōʻoia ana i ka ʻano like o ka hoʻonohonoho ʻana a hahai i ka paipu CI/CD like me ke code noi.
  • YAML - Ke hoʻohālikelike ʻia me nā mea hana ʻē aʻe, ʻoi aku ka maʻalahi o ka hoʻomaopopo ʻana iā YAML. No ka mea he mea maʻamau ka hoʻokele hoʻonohonoho hoʻonohonoho no ka poʻe e hoʻokō nei i nā hana DevOps, ʻo ka maʻalahi kāna kāleka pu.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

OpsCode Chef - Ua hoʻomaka wau i kaʻu hana DevOps ma ke ʻano he mea hoʻomohala puke kuke. Mahalo nui ʻia ʻo Ruby lāua ʻo Chef i koʻu puʻuwai, akā ʻaʻole lākou e hoʻoponopono i nā pilikia o nā noi mokuʻāina ʻole o kēia wā. He mea hana maikaʻi ʻo OpsCode Chef no nā noi kuʻuna, akā ma kēia ʻatikala mākou e kālele ana i ka wā e hiki mai ana.

ʻAʻaka — ʻAʻole i loaʻa i ka Puppet nā mea pā, ʻoi aku ka hoʻohālikelike ʻana me Chef a me Ansible. He mea maikaʻi ia no ka hoʻolako ʻana a me ka hana ʻana me ka lako lako, akā nele i ke kākoʻo hoʻokele hoʻonohonoho hou no kahi noi pūnaewele.

Mea hana hoʻolālā #1

Lanakila: ʻOhana hoʻoponopono

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
Hoʻoponopono ʻo Terraform i ka pilikia o ka wehewehe ʻana i kāu ʻōnaehana ma ke ʻano he code, mai nā ʻāpana pūnaewele i nā kiʻi kikowaena piha. Ua hele lōʻihi kēia huahana mai kona hoʻokuʻu mua ʻia ʻana, me ka nui o nā plugins i hana ʻia a kūkulu ʻia kahi kaiāulu ikaika e loaʻa iā ʻoe ke kōkua i kēlā me kēia ʻano hoʻolālā. ʻO ka hiki ke kākoʻo i kekahi ʻano kaiapuni (ma ka hale, ma ke ao, a i ʻole ma nā wahi ʻē aʻe) ʻaʻole like. ʻO ka mea hope loa, hāʻawi ka mana hou loa i nā hana loiloi like a me nā papa ma HCL e like me nā ʻōlelo papahana kuʻuna ʻē aʻe, e maʻalahi ai ka Terraform i nā mea hoʻomohala e hopu koke a maʻalahi.

Nā Pōmaikaʻi Nui

  • Environment agnostic - Ke hoʻohana nei ʻo Terraform i nā hana e hana ma ke ʻano he kikowaena ma waena o kāu code Terraform, nā API āpau, a me nā loina kūloko e kamaʻilio me ka mea hoʻolako ʻoihana. ʻO ia hoʻi, e haku wau i hoʻokahi mea hana a laila hiki iaʻu ke hana ma nā wahi āpau.
  • Open Source - He paʻakikī ke lanakila i nā mea hana manuahi! Kākoʻo kaiaulu ma ka pae kiʻekiʻe.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

AWS Cloud Formation - ʻOiai inā ʻoe e hana wale nei ma ke ao kapuaʻi AWS, hiki i kāu hana hou ke hoʻohana i kahi mea hana ʻē aʻe. ʻO ka hoʻolaʻa ʻana i kou manawa a pau a me kou ikaika i kahi kahua hoʻokahi wale nō he hoʻoholo pōkole. Hoʻohui hou, loaʻa pinepine nā lawelawe AWS hou e like me nā modula Terraform ma mua o ka loaʻa ʻana ma CloudFormation.

Mea hana holo manawa

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020

ʻO ka pahuhopu nui o kēlā me kēia papahana hoʻomohala e hoʻomaka i ka noi i ka hana. Ma ka honua DevOps, makemake mākou e ʻike piha i nā pilikia āpau e pili ana i ko mākou kaiapuni, a makemake mākou e hōʻemi i ka hana lima. ʻO ke koho ʻana i ka hoʻonohonoho kūpono o nā mea hana runtime he mea nui ia i ka hoʻokō ʻana i ka nirvana hoʻomohala noi.

Nā ʻāpana o nā mea hana holo manawa:

  • X-like-a-lawelawe (XaaS)
  • hoʻokani pila
  • ka nānā ʻana
  • kālai lāʻau.

X-mea-mea-a-lawelawe #1

Lanakila: Amazon Web Services

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
He alakaʻi mau ʻo Amazon i nā ʻenehana kapua, akā ʻaʻole ia e pau ma laila: ʻo ka ʻano o nā lawelawe hou no nā mea hoʻomohala e wehe ʻia ana. E lawe mai i kekahi ʻenehana a me ka laʻana i AWS a e kūkulu ʻia a holo. Maikaʻi loa ke kumukūʻai o ka mea hana: e hoʻohālikelike me ka hui ʻana, mālama a mālama ʻana i nā lako i kāu kikowaena data. Hāʻawi ka mana manuahi iā ʻoe e hoʻokolohua a hoʻoholo i ka hoʻoholo kūpono ma mua o ka hoʻolilo kālā.

Nā Pōmaikaʻi Nui

  • Prevalence - Inā loaʻa iā ʻoe ka ʻike kūkulu ʻana i nā noi ma AWS, hiki iā ʻoe ke hana ma nā wahi āpau. Makemake nā ʻoihana iā AWS, a mahalo pū ka poʻe hoʻomaka i kāna kumu kūʻai haʻahaʻa.
  • He mea koʻikoʻi maoli ka mana manuahi e hoʻokaʻawale iā AWS mai kāna mau hoa. E ʻae iaʻu e hoʻāʻo i ka lawelawe a ʻike i ke ʻano o ka hana ma mua o koʻu hoʻoholo ʻana i ke kūʻai ʻana, ʻaʻole wau makemake e hoʻolilo i mau tausani kālā ma kahi mea pono ʻole. ʻO ka mana manuahi e lawa mau iaʻu e hoʻāʻo i kekahi manaʻo.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

Azure "Ua hele lōʻihi ʻo Azure mai kona hoʻokuʻu mua ʻana, a mahalo ʻia kēlā. Eia naʻe, ʻo ka makemake e ʻokoʻa ua alakaʻi i nā inoa ʻē aʻe no nā lawelawe, e hoʻopili pinepine ai i ka hana. He aha ka manaʻo o ka "pūnaewele blob"? A ʻoiai ʻoi aku ka maikaʻi o ke code .NET i ka kaiaola Microsoft, ʻaʻole paha ʻoe e hoʻohana wale i ka .NET no kēlā me kēia ʻāpana o kāu noi.

ʻO Heroku — ʻAʻole au e holo i kekahi mea ʻē aʻe ma mua o kahi papahana pilikino ma Heroku ma muli o ka haʻahaʻa haʻahaʻa o ka hilinaʻi a me ka ʻike, no laila ʻaʻole pono nā hui e hoʻohana ia mea ma ke ʻano he kahua. He mea maikaʻi ʻo Heroku no ka hōʻike ʻana i kekahi mea ma ka blog, akā no ka hoʻohana pono ʻana - "ʻAʻole, mahalo!"

#1 Mea Hana Hana

Lanakila: wehe wehe

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
Ke hoʻohana nei paha ʻoe iā Docker a i ʻole nā ​​​​mea ipu ʻē aʻe i kāu waihona noi. He maikaʻi nā polokalamu kikowaena ʻole, akā ʻaʻole kūpono lākou i kēlā me kēia hale hana. ʻAʻole e holo pono ka holo ʻana i nā ipu me ka ʻole o ke kahua orchestration. Kubernetes Core (K8s) ʻaʻole i hoʻohālikelike ʻia ma ka ʻōlelo o ka palekana a me nā mea hana. ʻO OpenShift wale nō ka paena Kubernetes e hiki ke hōʻiliʻili i ka Source2Image, kākoʻo i ka hoʻoili ʻana i nā pods, a kākoʻo i ka nānā ʻana a me ka nānā ʻana. Hiki ke holo ʻo OpenShift ma luna, ma ke ao, a ma ka-prem a ma ke ao i ka manawa like.

Nā Pōmaikaʻi Nui

  • Palekana i kūkulu ʻia - Pono ka mālama ʻana i ka palekana K8 i kahi pae kiʻekiʻe. Pono e noʻonoʻo pono ʻia nā kikoʻī a pau! ʻO nā mīkini palekana i kūkulu ʻia ma ka paʻamau me OpenShift e lawe i ke kaumaha mai nā mea hoʻomohala a hāʻawi i kahi kahua paʻa no nā noi.
  • All-in-one solution - ʻAʻole like me nā K8 maʻamau, ʻaʻole i hoʻokomo i nā mea hana hoʻohālikelike ukana ma ka paʻamau, loaʻa iā OpenShift nā mea āpau. Hiki iaʻu ke hoʻohana ia mea no ka hana ʻana a hoʻokipa i nā ipu, holo i nā mea hana CI/CD, hoʻokele i nā kaʻina hana waho, mālama i nā kī, a ʻoi aku ka nui. ʻOiai ʻaʻole mamao loa ka mea hoʻohana kiʻi mai ka maikaʻi loa, ʻo ke ʻano o ka API-based ka manaʻo e hiki ke wehewehe ʻia nā mea āpau ma kahi palapala. ʻAʻole like me nā GUI ʻē aʻe no K8s, ua maʻalahi ka OpenShift i ke aʻo ʻana i nā kumu kumu o Kubernetes. ʻAʻole pono ʻoe e loaʻa ke kēkelē!

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

Pahu Docker — Ua hoʻāʻo ʻo Docker Swarm e hoʻomaʻamaʻa i nā K8 ma ka hoʻopau ʻana i nā mea he nui. He mea maikaʻi ia no nā noi liʻiliʻi, akā no nā noi ʻoihana ʻaʻole ia e hana. Hoʻohui ʻia, ʻo nā hoʻonā e like me AWS ECS e lawe i kahi ala like akā e maʻalahi ka hana me nā lawelawe ʻē aʻe e hiki iaʻu ke launa pū me (Lambda, IAM, etc.).

Mea hana nānā #1

Lanakila: Relic Hou

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
ʻO ka hoʻokuʻu mua ʻana o New Relic i hana maikaʻi i kahi mea - ka nānā ʻana o APM (Application Performance Monitoring). ʻO ia i kēia manawa he mea nānā pono piha e hiki ai iā ʻoe ke nānā i ka server, ka ipu, ka hana ʻikepili, ka nānā ʻana i ka ʻike mea hoʻohana hope, a ʻoiaʻiʻo, ka nānā ʻana i ka hana noi.

Nā Pōmaikaʻi Nui

  • Maʻalahi o ka hoʻohana - I koʻu hana ʻana ma ke ʻano he ʻenekinia ʻōnaehana, ua hoʻohana au i nā mea hana nānā he nui, akā ʻaʻole au i ʻike i kahi mea maʻalahi a maʻalahi hoʻi e hoʻohana e like me New Relic. ʻO ia ʻo SaaS, no laila ʻaʻole pono ʻoe e hoʻokomo iā ʻoe iho.
  • ʻIke hope-a-hope - E hoʻāʻo nā mea hana ʻē aʻe e nānā i hoʻokahi mea kikoʻī o kāu noi. No ka laʻana, he metric o ka hoʻohana ʻana i ka mea hoʻohana a i ʻole ka holo ʻana o ka pūnaewele, akā pono e nānā ʻia kēia mau mea āpau no ka hana pono o ka noi. Hāʻawi ʻo New Relic iā ʻoe i ka hiki ke hoʻohui i kāu ʻikepili a pau e kiʻi i kahi ʻike piha o ka mea e hana nei.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

ʻO Zabbix — ʻO kaʻu ʻōnaehana mākaʻikaʻi mua a punahele, akā ua mau ia i ka wā ma mua ma muli o ka nele o ka hoʻomohala ʻana i nā ʻenehana ao a ma ke kahua o ka nānā ʻana i ka hana noiʻi APM. Hana maikaʻi ʻo Zabbix i ka nānā ʻana i ka ʻōnaehana kikowaena kikowaena, akā pili kēlā.

DataDog - Nui loa ka nānā ʻana i ke kaʻina hana o ka hoʻokele ʻana i ka ʻenehana hana o ka noi, ʻaʻole ma ke code ponoʻī. Me nā hui DevOps e pili ana i nā mea hoʻomohala, ʻaʻole pono mākou e hilinaʻi i nā mea hana paʻakikī e hoʻolako i ke kākoʻo kiʻekiʻe.

Mea hana logging #1

Lanakila: Lāʻelā

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
He paʻakikī ke hoʻokūkū me Splunk! No ka manawa lōʻihi, noho mau ʻo ia i alakaʻi i ka logging, e hoʻomau i ka hana ʻoi aku ka maikaʻi ma mua o nā mea ʻē aʻe. Me nā makana ma-prem a me SaaS, hiki iā ʻoe ke hoʻohana iā Splunk ma nā wahi āpau. ʻO ka ʻaoʻao nui o kāna kumukūʻai: ʻoi aku ka maikaʻi o Splunk!

Nā Pōmaikaʻi Nui

  • Pervasiveness - Aloha nā ʻoihana iā Splunk, a loaʻa i nā hui ke kālā e kūʻai ai.
  • ʻOiai ke hoʻāʻo nei nā mea hoʻomaka e hoʻihoʻi i nā kumukūʻai, hiki ke hoʻopau ʻia nā hana he nui e hoʻomaikaʻi i nā analogues open source.
  • Mālama ʻia - ʻO ka waiho wale ʻana, hana ʻo Splunk a hana maikaʻi. Hele mai ia me nā hoʻonohonoho paʻamau a me nā hiʻohiʻona i mākaukau e hoʻohana. ʻAʻole pono e hoʻopau manawa i ka heluhelu ʻana i nā palapala a me ka hoʻāʻo ʻana e hana iā Splunk e hana a wehewehe i kekahi mea.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

ELK Stack (ElasticSearch, LogStash a me Kibana) "He mea punahele kēia mau mea hana no ka mea ʻaʻole pono ʻoe e kūʻai aku i kou ake e hoʻohana ai." Eia naʻe, i ka uluʻana o ka hoʻonohonoho o nā lāʻau a me ka nui o nā noi ma luna o ka moku, e lilo ka hana i mea paʻakikī. Hoʻohālikelike ʻia me Splunk, me ELK Stack Ua hoʻonui au i ka manawa i ka hoʻonohonoho ʻana i ka mea hana ma mua o ka hana ʻana i nā dashboard ma mua o kaʻu i loaʻa ai ma mua.

Mea Hana Hui

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
ʻO DevOps ka mea nui e pili ana i ka hoʻololi ʻana i ka moʻomeheu i loko o kahi hui. ʻAʻole e hoʻololi ke kūʻai ʻana i nā hana o kēia manawa i ka pō, akā hiki ke hoʻoikaika i ka laulima a me nā ala hou o ka launa pū ʻana.

Nā ʻāpana o nā mea hana hana:

  • ʻimi hana
  • ChatOps
  • palapala.

#1 Mea Hana Hoʻopili

Lanakila: Iā Jira

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
Mālama ʻo Jira i kona kūlana alakaʻi, ʻoiai ke piʻi nei ka hoʻokūkū ma kēia wahi. ʻO ka maʻalahi o Jira e hiki ai i nā hui hoʻomohala a mālama i ka hana o ka papahana a me nā hana sprint. ʻO nā kūlana i kūkulu ʻia me ka hoʻohana ʻana i nā huaʻōlelo Agile e maʻalahi ka neʻe ʻana mai nā ala kuʻuna o ka hana ʻana i nā kaʻina hana ʻoi aku ka maikaʻi.

Nā Pōmaikaʻi Nui

  • Kaulana - E like me nā mea hana ʻē aʻe, hoʻohana ʻia ʻo Jira ma nā wahi āpau. Hoʻohana nā hui liʻiliʻi i ka mana ʻoi aku ka liʻiliʻi, ʻoi aku ka maʻalahi a loaʻa nā mea a pau e pono ai lākou, ʻoiai hiki i nā hui nui ke loaʻa i kahi laikini ʻoi aku ka pipiʻi.
  • Hoʻohui - He paionia ʻo Jira ma kāna kahua. ʻO kēia ʻoiaʻiʻo a me ka hoʻomohala wikiwiki ʻana o ka huahana e alakaʻi i ka ʻoiaʻiʻo e koho nā hui ʻē aʻe iā Jira e hana i kā lākou hoʻohui ponoʻī, pēlā e hoʻonui ai i ka waiwai o ka mea hana. Hiki iā mākou ke hoʻohui iā Jira me nā mea hana a pau i helu ʻia ma kēia ʻatikala ma waho o ka pahu me kahi hoʻonohonoho liʻiliʻi.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

Trello - Ua loaʻa koke ʻo Trello i ka mahalo i kāna mea hana Kanban manuahi. Eia nō naʻe, i ka wā e hoʻokele ai ʻoe mai ka nui o nā hana a hiki i nā tausani, lilo ʻo Trello i mea paʻakikī e hoʻokele, ʻimi a hōʻike.

Wahi Pivotal — He mea makemake nui wau i kēia mea hana i kaʻu hana ʻana no kahi hoʻomaka. Eia naʻe, ʻoi aku ka manaʻo o Pivotal Tracker i ka hoʻokele huahana ma mua o nā hana ʻenehana. ʻOiai ʻoi aku ka paʻakikī o ka hoʻokele huahana ma Jira, hiki ke hoʻokō ʻia ma laila me ka ʻole o ka hoʻohana ʻana i kahi mea hana hou.

Mea hana ChatOps #1

Lanakila: Hoʻoponopono

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
ʻO ka wehewehe: ʻO ka pīhoihoi nui paha iā ʻoe i kaʻu koho ʻana, a ʻo ia ka nūhou maikaʻi! Ua loaʻa iā MatterMost ka kaulana ma o ka lawe ʻana i ka mea maikaʻi loa mai nā mea hana mua akā e kau ana iā lākou ma mua. He mea koʻikoʻi kēia no nā hui: MatterMost hiki iā ʻoe ke hoʻomalu i kāu ʻikepili a kōkua pū iā ʻoe e hoʻohui pū me ia me nā mea hana e holo ana ma ka ʻāina. ʻAʻole pono mākou e hele i waho o ka pā ahi e nānā i nā kamaʻilio hana.

Nā Pōmaikaʻi Nui

  • Open Source - Ke hana maikaʻi nei ka mana open source o MatterMost no nā hui waena a me nā hui nui. ʻAʻole like me ka hoʻolālā manuahi a Slack, ka mea e holoi ai i kāu mōʻaukala memo, ʻo ka holo ʻana i kāu kikowaena ponoʻī ʻo ia ka mālama ʻana i kāu ʻikepili āpau.
  • Hoʻohui - No ka mea ua kokoke ka API i 100% e pili ana i ka Slack API, aneane hiki ke hoʻohana pololei ʻia nā hoʻohui Slack āpau me MatterMost.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

Slack — Maikaʻi ʻo Slack, akā ua ulu nui kēia poʻe i hoʻomaka lākou e ʻimi i ka loaʻa kālā. Ke kokoke mai nei ka manawa uku o ka ʻoihana, e lawe ana i kā lākou waiwai nui: Hāʻawi ʻo Slack i nā lawelawe no ka manuahi; ʻO ka hemahema nui o ka mana manuahi ʻo ka holoi ʻana i ka mōʻaukala kamaʻilio.

Nā Pūʻulu Microsoft — E hoʻāʻo e hoʻohui i kahi huahana Microsoft me kahi mea ʻaʻole nona Microsoft... Laki maikaʻi! ʻO ia wale nō kaʻu e ʻōlelo ai e pili ana i kēia hāmeʻa!

Mea Hana Palapala #1

Lanakila: Hola

Pono nā mea hana a DevOps e aʻo i ka makahiki 2020
ʻO ka hana ʻana a me ka mālama ʻana i nā palapala ʻenehana maikaʻi he kaʻina paʻakikī, ʻaʻohe mea āu e hoʻohana ai. ʻOiai he nui nā mea hana palapala SaaS i hele mai i ka mākeke i kēia manawa, ʻike wau he paʻakikī ke hoʻopukapuka ʻana i ka waiho ʻana o nā palapala ʻenehana e pili ana i nā noi koʻikoʻi i ka ʻaoʻao ʻekolu. ʻOi aku ka maikaʻi o ka mālama ʻana i nā ʻikepili a me nā palapala ma mua, a ʻo ia ke ʻano e hoʻoponopono ai ʻo Confluence.

Nā Pōmaikaʻi Nui

  • Maʻalahi ka hana - ʻO ka hapa nui o nā mea hana kūʻokoʻa hiki ke paʻakikī liʻiliʻi e hoʻonohonoho a hana a koi i kekahi ʻike e mālama. Hana maikaʻi ʻo Confluence Server ma waho o ka pahu no 10 a i ʻole 10,000 mea hoʻohana.
  • Nā Plugins - Kudos to Confluence no ka loaʻa ʻana o ka hoʻokele nani a maʻalahi hoʻi i waho o ka pahu, a me ka hiki ke hoʻohui i kahi plugin no nā mea āpau e wehe i ka hiki ke like me Wiki.

Ka poʻe hoʻokūkū

Ua komo i ke kaua, ʻaʻole i lanakila

E heluhelu i nā palapala — Maikaʻi no ke kumu hāmama, akā, mai noʻonoʻo e mālama i ka ʻike koʻikoʻi ma aneʻi.

Markdown - Maikaʻi no ka kākau ʻana i nā code, akā paʻakikī ke kau ʻana i ka hale hana, nā kaʻina hana, a i ʻole nā ​​​​ʻano palapala ʻē aʻe ma muli o ke ʻano kikoʻī o MarkDown.

ʻO Iekyll - I ka wā e kākau ai i ka ʻike loea, ʻaʻole wau makemake e hana i kahi kahua paʻa hou e hoʻoili ʻia i kēlā me kēia manawa he hoʻololi. ʻO ka ʻōnaehana mana maʻalahi o Confluence e maʻalahi loa i nā palapala kūloko.

E hōʻuluʻulu i nā hualoaʻa

He mau haneli o nā mea hana DevOps ma ka mākeke, he mea paʻakikī ke ʻike i nā mea e hoʻohana ai a i ka wā e hoʻokō ʻia ai. E hahai i kēia alakaʻi maʻalahi i ke koho ʻana i nā mea hana DevOps no kahi pipeline CI/CD piha.

E koho pono i nā mea hana mai nā ʻāpana ʻelima:

  • hoʻomohala a kūkulu i nā mea hana
  • hoʻāʻo i nā mea hana hoʻomaʻamaʻa
  • mea paahana
  • Mea hana holo manawa
  • mea hana hui.

Manaʻo nui: Hoʻokaʻawale i nā mea a pau!

Mahalo iā Zach Shapiro!

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka