Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ang Direktor sa Operasyon sa portal sa Banki.ru nga si Andrey Nikolsky namulong sa komperensya sa miaging tuig DevOpsDays Moscow mahitungod sa mga serbisyo sa mga ilo: unsaon pag-ila sa usa ka ilo sa imprastraktura, nganong dili maayo ang mga serbisyo sa mga ilo, unsay buhaton niini, ug unsay buhaton kung walay makatabang.

Ubos sa cut mao ang usa ka teksto nga bersyon sa report.


Hello mga kauban! Ako si Andrey, nangulo ko sa mga operasyon sa Banki.ru.

Kami adunay dagkong mga serbisyo, kini mao ang mga monolitikong serbisyo, adunay mga serbisyo sa mas klasikal nga diwa, ug adunay gagmay kaayo. Sa akong terminolohiya sa mamumuo-mag-uuma, giingon nako nga kung ang usa ka serbisyo yano ug gamay, nan kini micro, ug kung kini dili kaayo yano ug gamay, nan kini usa ka serbisyo.

Mga bentaha sa mga serbisyo

Dali nakong hisgotan ang mga bentaha sa mga serbisyo.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ang una mao ang scaling. Mahimo nimo dayon ang usa ka butang sa serbisyo ug magsugod sa produksiyon. Nakadawat ka og trapiko, imong gi-clone ang serbisyo. Mas daghan ang imong trapiko, imong gi-clone kini ug gikinabuhi kini. Kini mao ang usa ka maayo nga bonus, ug, sa prinsipyo, sa diha nga kita nagsugod, kini giisip nga labing importante nga butang alang kanato, ngano nga kita sa pagbuhat sa tanan niini.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ikaduha, nahimulag nga pag-uswag, kung ikaw adunay daghang mga tim sa pag-uswag, daghang lainlaing mga developer sa matag team, ug ang matag team nagpalambo sa kaugalingon nga serbisyo.

Sa mga team adunay usa ka nuance. Lainlain ang mga developers. Ug adunay, pananglitan, snowflake nga mga tawo. Una nakong nakita kini uban ni Maxim Dorofeev. Usahay ang mga snowflake naa sa pipila ka mga team ug dili sa uban. Kini naghimo sa lainlaing mga serbisyo nga gigamit sa tibuuk nga kompanya nga medyo dili patas.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Tan-awa ang hulagway: kini usa ka maayong developer, dako ang iyang mga kamot, daghan siyag mahimo. Ang panguna nga problema kung diin gikan kini nga mga kamot.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Gipaposible sa mga serbisyo ang paggamit sa lainlaing mga sinultian sa programming nga labi ka angay alang sa lainlaing mga buluhaton. Ang ubang serbisyo naa sa Go, ang uban naa sa Erlang, ang uban naa sa Ruby, naa sa PHP, naa sa Python. Sa kinatibuk-an, mahimo nimong mapalapad kaayo. Adunay usab mga nuances dinhi.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ang arkitektura nga nakabase sa serbisyo labi na bahin sa mga devops. Kana mao, kung wala ka automation, wala’y proseso sa pag-deploy, kung gi-configure nimo kini nga mano-mano, ang imong mga pag-configure mahimong mabag-o gikan sa usa ka pananglitan sa serbisyo ngadto sa usa ka pananglitan, ug kinahanglan ka nga moadto didto aron buhaton ang usa ka butang, unya naa ka sa impyerno.

Pananglitan, ikaw adunay 20 ka mga serbisyo ug kinahanglan nimo nga i-deploy pinaagi sa kamot, ikaw adunay 20 ka mga console, ug dungan nimo nga ipindot ang "enter" sama sa usa ka ninja. Dili kaayo maayo.

Kung adunay ka serbisyo pagkahuman sa pagsulay (kung adunay pagsulay, siyempre), ug kinahanglan nimo nga tapuson kini sa usa ka file aron kini molihok sa produksiyon, naa usab ako dili maayo nga balita alang kanimo.

Kung nagsalig ka sa piho nga mga serbisyo sa Amazon ug nagtrabaho sa Russia, unya duha ka bulan ang milabay ikaw usab adunay "Nasunog ang tanan, maayo ko, cool ang tanan."

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Gigamit namo ang Ansible sa pag-automate sa deployment, Puppet para sa convergence, Bamboo sa pag-automate sa deployment, ug Confluence aron ihulagway kining tanan.

Dili ako maghisgot niini sa detalye, tungod kay ang taho labi pa bahin sa mga gawi sa interaksyon, ug dili bahin sa teknikal nga pagpatuman.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Pananglitan, kami adunay mga problema diin ang Puppet sa server nagtrabaho uban sa Ruby 2, apan ang pipila ka aplikasyon gisulat alang sa Ruby 1.8, ug wala sila magtinabangay. Adunay dili maayo didto. Ug kung kinahanglan nimo nga modagan ang daghang mga bersyon sa Ruby sa usa ka makina, kasagaran magsugod ka nga adunay mga problema.

Pananglitan, gihatagan namo ang matag developer og usa ka plataporma diin adunay gibana-bana nga tanan nga naa namo, ang tanan nga mga serbisyo nga mahimo nga mapalambo, aron siya adunay usa ka hilit nga palibot, mahimo niyang bungkagon kini ug tukuron kini sumala sa iyang gusto.

Nahitabo nga kinahanglan nimo ang usa ka espesyal nga gihugpong nga pakete nga adunay suporta alang sa usa ka butang didto. Lisud kaayo. Namati ko sa usa ka taho diin ang imahe sa Docker adunay gibug-aton nga 45 GB. Sa Linux, siyempre, kini mas simple, ang tanan mas gamay didto, apan sa gihapon, wala'y igong luna.

Aw, adunay nagkasumpaki nga mga dependency, kung ang usa ka piraso sa proyekto nagdepende sa usa ka librarya sa usa ka bersyon, ang usa ka piraso sa proyekto nagdepende sa lain nga bersyon, ug ang mga librarya wala gi-install nga magkauban.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Naa mi mga site ug serbisyo sa PHP 5.6, maulaw mi nila, pero unsa may among mahimo? Kini ang among usa ka site. Adunay mga site ug serbisyo sa PHP 7, mas daghan sila, dili nato ikaulaw. Ug ang matag developer adunay iyang kaugalingon nga base diin siya malipayon nga nakakita.

Kung nagsulat ka sa usa ka kompanya sa usa ka lengguwahe, nan ang tulo ka virtual nga makina matag developer normal ang tunog. Kung lainlain ang imong programming language, mosamot ang sitwasyon.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ikaw adunay mga site ug mga serbisyo niini, niini, unya laing site alang sa Go, usa ka site alang kang Ruby, ug uban pang Redis sa kilid. Ingon usa ka sangputanan, kining tanan nahimo nga usa ka dako nga uma alang sa suporta, ug sa tanan nga oras ang pipila niini mahimong mabuak.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Busa, gipulihan namo ang mga benepisyo sa programming language gamit ang lain-laing mga frameworks, tungod kay ang PHP frameworks lahi ra kaayo, sila adunay lain-laing mga kapabilidad, lain-laing mga komunidad, ug lain-laing mga suporta. Ug mahimo nimong isulat ang usa ka serbisyo aron adunay ka na andam alang niini.

Ang matag serbisyo adunay kaugalingon nga team

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ang among panguna nga bentaha, nga nag-kristal sa daghang mga tuig, mao nga ang matag serbisyo adunay kaugalingon nga team. Kombenyente kini alang sa usa ka dako nga proyekto, makadaginot ka og oras sa dokumentasyon, nahibal-an pag-ayo sa mga manedyer ang ilang proyekto.

Dali ka makasumite sa mga buluhaton gikan sa suporta. Pananglitan, ang serbisyo sa seguro naguba. Ug diha-diha dayon ang team nga naghisgot sa insurance moadto sa pag-ayo niini.

Ang bag-ong mga bahin gihimo dayon, tungod kay kung ikaw adunay usa ka atomic nga serbisyo, mahimo nimo nga dali nga ma-screw ang usa ka butang niini.

Ug kung imong gibuak ang imong serbisyo, ug kini dili kalikayan nga mahitabo, wala nimo maapektuhan ang mga serbisyo sa ubang mga tawo, ug ang mga developer gikan sa ubang mga team dili moduol kanimo nga adunay mga piraso ug moingon: "Ay-ay, ayaw kana buhata."

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Sama sa kanunay, adunay mga nuances. Kami adunay mga lig-on nga mga koponan, ang mga manedyer gilansang sa team. Adunay tin-aw nga mga dokumento, ang mga manedyer hugot nga nag-monitor sa tanan. Ang matag team nga adunay usa ka manedyer adunay daghang mga serbisyo, ug adunay usa ka piho nga punto sa katakus.

Kung ang mga koponan naglutaw (gamiton usab namon kini usahay), adunay maayo nga pamaagi nga gitawag nga "star map".

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Adunay ka listahan sa mga serbisyo ug mga tawo. Ang asterisk nagpasabot nga ang tawo usa ka eksperto niini nga serbisyo, ang usa ka libro nagpasabot nga ang tawo nagtuon niini nga serbisyo. Ang tahas sa tawo mao ang pag-ilis sa booklet para sa asterisk. Ug kung wala’y gisulat sa atubangan sa serbisyo, unya magsugod ang mga problema, nga akong hisgutan sa dugang.

Giunsa pagpakita ang mga serbisyo sa ilo?

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ang una nga problema, ang una nga paagi aron makakuha usa ka serbisyo sa ilo sa imong imprastraktura mao ang pagpahawa sa mga tawo. Aduna bay bisan kinsa nga adunay negosyo nga nakatagbo sa mga deadline sa wala pa masusi ang mga buluhaton? Usahay mahitabo nga higpit ang mga deadline ug wala’y igo nga oras alang sa dokumentasyon. "Kinahanglan namon nga itugyan ang serbisyo sa produksiyon, unya among idugang kini."

Kung gamay ra ang team, mahitabo nga adunay usa ka developer nga nagsulat sa tanan, ang nahabilin naa sa mga pako. "Gisulat nako ang sukaranan nga arkitektura, idugang naton ang mga interface." Unya sa usa ka punto ang manedyer, pananglitan, mobiya. Ug niining panahona, kung ang manedyer mibiya ug ang usa ka bag-o wala pa matudlo, ang mga developers mismo ang magdesisyon kung asa moadto ang serbisyo ug kung unsa ang nahitabo didto. Ug sa atong nahibaloan (balik ta sa pipila ka mga slide), sa pipila ka mga team adunay mga snowflake nga mga tawo, usahay usa ka snowflake team leader. Unya siya miundang, ug kami nakadawat ug ilo nga serbisyo.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Sa parehas nga oras, ang mga buluhaton gikan sa suporta ug gikan sa negosyo dili mawala; kini natapos sa backlog. Kung adunay bisan unsang mga sayup sa arkitektura sa panahon sa pag-uswag sa serbisyo, kini usab matapos sa backlog. Ang serbisyo hinayhinay nga nagdaot.

Unsaon pag-ila sa usa ka ilo?

Kini nga lista maayo nga naghulagway sa sitwasyon. Kinsay nakat-on bahin sa ilang imprastraktura?

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Mahitungod sa dokumentado nga mga work-around: adunay usa ka serbisyo ug, sa kinatibuk-an, kini nagtrabaho, kini adunay duha ka pahina nga manwal kon unsaon kini pagtrabaho, apan walay usa nga nahibal-an kung giunsa kini sa sulod.

O, pananglitan, adunay usa ka matang sa link shortener. Pananglitan, kita karon adunay tulo ka link shorteners nga gigamit alang sa lain-laing mga katuyoan sa lain-laing mga serbisyo. Mao ra kini ang mga sangputanan.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Karon ako ang mahimong kapitan sa klaro. Unsay angay buhaton? Una, kinahanglan natong ibalhin ang serbisyo ngadto sa laing manedyer, laing team. Kung ang imong team lead wala pa mohunong, nan sa laing team, kung imong nasabtan nga ang serbisyo sama sa usa ka ilo, kinahanglan nimo nga ilakip ang usa nga nakasabut bisan usa ka butang bahin niini.

Ang panguna nga butang: kinahanglan nimo nga adunay mga pamaagi sa pagbalhin nga gisulat sa dugo. Sa among kaso, kasagaran akong gibantayan kini, tungod kay kinahanglan nako kini tanan aron molihok. Kinahanglan kini sa mga manedyer nga ipadala dayon, ug kung unsa ang mahitabo sa ulahi dili na hinungdanon alang kanila.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ang sunod nga paagi sa paghimo sa usa ka ilo mao ang "Among buhaton kini nga outsourced, kini mas paspas, ug unya among itugyan kini sa team." Klaro nga ang tanan adunay pipila ka mga plano sa team, usa ka turno. Kasagaran ang usa ka kustomer sa negosyo naghunahuna nga ang outsourcer mobuhat sa parehas nga butang sama sa teknikal nga departamento nga naa sa kompanya. Bisag lainlain ang ilang mga motibasyon. Adunay mga katingad-an nga mga solusyon sa teknolohiya ug katingad-an nga mga solusyon sa algorithm sa outsourcing.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Pananglitan, kami adunay usa ka serbisyo nga adunay Sphinx sa lainlaing wala damha nga mga lugar. Sultihan ko ikaw sa ulahi kung unsa ang kinahanglan nakong buhaton.

Ang mga outsourcer adunay kaugalingon nga sinulat nga mga balangkas. Kini usa lamang ka hubo nga PHP nga adunay copy-paste gikan sa miaging proyekto, diin makit-an nimo ang tanan nga mga butang. Ang mga script sa pagdeploy usa ka dako nga disbentaha kung kinahanglan nimo nga mogamit pipila ka komplikado nga mga script sa Bash aron mabag-o ang daghang mga linya sa pipila nga mga file, ug kini nga mga script sa pag-deploy gitawag sa usa ka ikatulo nga script. Ingon usa ka sangputanan, gibag-o nimo ang sistema sa pag-deploy, pagpili og lain, paglukso, apan ang imong serbisyo wala molihok. Tungod kay kinahanglan nga ibutang ang 8 pa nga mga link tali sa lainlaing mga folder. O mahitabo nga ang usa ka libo nga mga rekord nagtrabaho, apan usa ka gatos ka libo ang wala na magtrabaho.

Magpadayon ko sa pagka kapitan. Ang pagdawat sa usa ka outsourced nga serbisyo usa ka mandatory nga pamaagi. Aduna na bay nakaabot nga outsourced nga serbisyo ug wala madawat bisan asa? Dili kini ingon ka sikat, siyempre, ingon usa ka serbisyo sa mga ilo, apan sa gihapon.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Kinahanglan nga susihon ang serbisyo, kinahanglan nga susihon ang serbisyo, kinahanglan nga usbon ang mga password. Kami adunay usa ka kaso sa dihang gihatagan kami nila og serbisyo, adunay admin panel "kung login == 'admin' && password == 'admin'...", kini gisulat mismo sa code. Naglingkod kami ug naghunahuna, ug gisulat kini sa mga tawo sa 2018?

Ang pagsulay sa kapasidad sa pagtipig usa usab ka kinahanglanon nga butang. Kinahanglan nimong tan-awon kung unsa ang mahitabo sa usa ka gatos ka libo nga mga rekord, bisan sa wala pa nimo ibutang kini nga serbisyo sa produksiyon sa usa ka lugar.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Kinahanglan nga walay kaulaw sa pagpadala sa usa ka serbisyo alang sa kalamboan. Kung moingon ka: "Dili kami modawat niini nga serbisyo, kami adunay 20 nga mga buluhaton, buhata kini, unya among dawaton," normal kini. Ang imong konsensya dili angay masakitan sa kamatuoran nga nagtukod ka og manedyer o nga ang negosyo nag-usik-usik sa salapi. Ang negosyo unya mogasto og dugang.

Kami adunay usa ka kaso sa diha nga kami nakahukom sa pag-outsource sa usa ka pilot project.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Gihatud kini sa oras, ug kini ra ang kalidad nga sukdanan. Mao nga naghimo kami og laing pilot project, nga dili na gyud piloto. Kini nga mga serbisyo gidawat, ug pinaagi sa administratibo nga paagi sila miingon, ania ang imong code, ania ang team, ania ang imong manager. Ang mga serbisyo sa tinuud nagsugod na sa pagkita. Sa parehas nga oras, sa tinuud, sila mga ilo pa, wala’y nakasabut kung giunsa nila pagtrabaho, ug ang mga managers naghimo kutob sa ilang mahimo aron isalikway ang ilang mga buluhaton.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Adunay laing dako nga konsepto - pag-uswag sa gerilya. Kung ang pipila ka departamento, kasagaran ang departamento sa pagpamaligya, gusto nga sulayan ang usa ka hypothesis ug mag-order sa tibuuk nga serbisyo nga gi-outsource. Ang trapiko nagsugod sa pagbu-bu niini, ilang gisira ang mga dokumento, gipirmahan ang mga dokumento sa kontraktor, nagsugod sa operasyon ug nag-ingon: "Mga igsoon, kami adunay usa ka serbisyo dinhi, kini adunay trapiko, kini nagdala kanamo salapi, dawaton naton kini." Ingon mi, "Oppa, unsaon man na."

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ug laing paagi aron makakuha og serbisyo sa mga ilo: sa dihang ang pipila ka team kalit nga nakarga, ang management miingon: "Atong ibalhin ang serbisyo niini nga team ngadto sa laing team, kini adunay mas gamay nga karga." Ug unya among ibalhin kini sa ikatulo nga team ug usbon ang manager. Ug sa katapusan aduna na usab kami ilo.

Unsa may problema sa mga ilo?

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Kinsa ang wala mahibal-an, kini ang barkong iggugubat nga Wasa nga gipadako sa Sweden, nabantog sa kamatuoran nga kini nalunod 5 minuto pagkahuman sa paglansad. Ug ang Hari sa Sweden, sa dalan, wala magpatay bisan kinsa alang niini. Gitukod kini sa duha ka henerasyon sa mga inhenyero nga wala makahibalo unsaon paghimo sa maong mga barko. Natural nga epekto.

Ang barko mahimo nga malunod, sa dalan, sa mas grabe nga paagi, pananglitan, sa dihang ang hari nagsakay na niini sa usa ka dapit sa usa ka bagyo. Ug busa, nalumos dayon siya, matod ni Agile maayo nga mapakyas og sayo.

Kon mapakyas kita og sayo, kasagaran walay problema. Pananglitan, sa panahon sa pagdawat kini gipadala alang sa rebisyon. Apan kung mapakyas na kita sa produksiyon, kung gipuhunan ang kuwarta, mahimo’g adunay mga problema. Mga sangputanan, ingon nga kini gitawag sa negosyo.

Ngano nga delikado ang serbisyo sa mga ilo:

  • Ang serbisyo mahimong kalit nga maguba.
  • Ang serbisyo nagkinahanglan og taas nga panahon sa pag-ayo o wala gayud giayo.
  • Mga problema sa kaluwasan.
  • Mga problema sa pagpaayo ug pag-update.
  • Kung ang usa ka importante nga serbisyo maguba, ang reputasyon sa kompanya mag-antus.

Unsa ang buhaton sa mga serbisyo sa mga ilo?

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Akong balikon kung unsa ang buhaton pag-usab. Una, kinahanglan adunay dokumentasyon. Ang 7 ka tuig sa Banki.ru nagtudlo kanako nga ang mga tigsulay dili kinahanglan nga modawat sa pulong sa mga developers, ug ang mga operasyon kinahanglan dili modawat sa pulong sa tanan. Kinahanglan natong susihon.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ikaduha, kinahanglan nga isulat ang mga diagram sa interaksyon, tungod kay mahitabo nga ang mga serbisyo nga dili kaayo madawat adunay mga dependency nga wala’y gisulti. Pananglitan, gi-install sa mga developer ang serbisyo sa ilang yawe sa pipila nga Yandex.Maps o Dadata. Nahutdan ka sa libre nga limitasyon, naguba ang tanan, ug wala ka nahibal-an kung unsa ang nahitabo. Ang tanan nga ingon nga mga rake kinahanglan nga gihulagway: ang serbisyo naggamit sa Dadata, SMS, usa pa.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Ikatulo, pagtrabaho uban sa teknikal nga utang. Kung maghimo ka og usa ka matang sa crutches o modawat sa usa ka serbisyo ug moingon nga adunay kinahanglan nga buhaton, kinahanglan nimo nga sigurohon nga kini nahuman. Tungod kay kini mahimong mogawas nga ang gamay nga lungag dili kaayo gamay, ug mahulog ka niini.

Uban sa mga buluhaton sa arkitektura, kami adunay istorya bahin sa Sphinx. Usa sa mga serbisyo nga gigamit Sphinx sa pagsulod sa mga listahan. Usa lang ka listahan sa pahina, apan kini gi-indeks pag-usab kada gabii. Gitigum kini gikan sa duha ka mga indeks: usa ka dako ang gi-indeks matag gabii, ug adunay usa usab ka gamay nga indeks nga gibutang niini. Kada adlaw, nga adunay 50% nga posibilidad sa pagpamomba o dili, ang indeks nahagsa sa panahon sa kalkulasyon, ug ang among balita mihunong sa pag-update sa main page. Sa sinugdan nagkinahanglan og 5 ka minuto aron ma-indeks pag-usab ang indeks, unya mitubo ang indeks, ug sa usa ka punto nagsugod kini og 40 minutos aron ma-indeks pag-usab. Sa dihang among giputol kini, kami nakaginhawa og kahupayan, tungod kay klaro nga gamay pa nga panahon ang molabay ug ang among indeks ma-indeks pag-usab sa tibuok panahon. Kini mahimong usa ka kapakyasan alang sa among portal, wala’y balita sa walo ka oras - mao kana, ang negosyo mihunong.

Pagplano alang sa pagtrabaho uban sa usa ka ilo nga serbisyo

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Sa pagkatinuod, kini lisud kaayo nga buhaton, tungod kay ang devops mahitungod sa komunikasyon. Gusto nimo nga maayo ang relasyon sa imong mga kauban, ug kung imong gibunalan ang imong mga kauban ug manager sa ulo sa mga regulasyon, mahimo silang adunay magkasumpaki nga mga pagbati sa mga tawo nga nagbuhat niini.

Dugang sa tanan niini nga mga punto, adunay laing importante nga butang: ang piho nga mga tawo kinahanglan nga responsable sa matag piho nga serbisyo, alang sa matag piho nga seksyon sa pamaagi sa pag-deploy. Kung wala’y mga tawo ug kinahanglan nimo nga madani ang ubang mga tawo aron tun-an kining tibuuk nga butang, kini mahimong lisud.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Kung kining tanan wala makatabang, ug ang imong ilo nga serbisyo usa pa ka ilo, walay usa nga gusto nga mokuha niini, ang dokumentasyon wala gisulat, ang grupo nga gitawag niini nga serbisyo nagdumili sa pagbuhat sa bisan unsa, adunay usa ka yano nga paagi - sa pag-usab tanan .

Kana mao, imong gikuha ang mga kinahanglanon alang sa serbisyo pag-usab ug pagsulat sa usa ka bag-ong serbisyo, mas maayo, sa usa ka mas maayo nga plataporma, nga walay katingad-an nga mga solusyon sa teknolohiya. Ug molalin ka niini sa gubat.

Mga serbisyo sa orphan: ang downside sa (micro) nga arkitektura sa serbisyo

Adunay kami usa ka sitwasyon sa dihang mikuha kami og serbisyo sa Yii 1 ug nakaamgo nga dili na namo kini mapalambo pa, tungod kay nahutdan kami og mga developers nga makasulat og maayo sa Yii 1. Ang tanan nga mga developers nagsulat og maayo sa Symfony XNUMX. Unsay buhaton? Gigahin namon ang oras, gigahin ang usa ka team, gigahin ang usa ka manedyer, gi-rewrote ang proyekto ug hapsay nga gibalhin ang trapiko niini.

Human niini, ang daan nga serbisyo mahimong mapapas. Kini ang akong paborito nga pamaagi, kung kinahanglan nimo nga kuhaon ug limpyohan ang pipila nga serbisyo gikan sa sistema sa pagdumala sa pagsumpo ug dayon pag-agi ug tan-awa nga ang tanan nga mga awto sa produksiyon na-disable, aron ang mga nag-develop wala’y nahabilin nga mga bakas. Ang repository nagpabilin sa Git.

Kini ra ang gusto nakong hisgutan, andam ko nga hisgutan, holivar ang hilisgutan, daghan ang naglangoy niini.

Ang mga slide nag-ingon nga kamo nagkahiusa nga mga pinulongan. Usa ka pananglitan mao ang pag-usab sa gidak-on sa mga hulagway. Kinahanglan ba gyud nga limitahan kini sa usa ka pinulongan? Tungod kay ang pagbag-o sa imahe sa PHP, maayo, mahimo gyud sa Golang.

Sa pagkatinuod, kini opsyonal, sama sa tanang praktis. Tingali, sa pipila ka mga kaso, kini dili gusto. Apan kinahanglan nimo nga masabtan nga kung ikaw adunay usa ka teknikal nga departamento sa usa ka kompanya nga 50 ka tawo, 45 sa kanila mga espesyalista sa PHP, laing 3 ang mga devop nga nahibal-an ang Python, Ansible, Puppet ug usa ka butang nga ingon niana, ug usa ra kanila ang nagsulat sa pipila. matang sa pinulongan.ang ubang serbisyo sa pag-resize sa imahe sa Go, unya inigbiya niini, ang kahanas mouban niini. Ug sa parehas nga oras, kinahanglan nimo pangitaon ang usa ka developer nga piho sa merkado nga nahibal-an kini nga sinultian, labi na kung kini talagsa. Kana mao, gikan sa usa ka organisasyonal nga punto sa panglantaw, kini mao ang problema. Gikan sa punto sa pagtan-aw sa devops, dili lang nimo kinahanglan nga i-clone ang pipila ka andam nga set sa mga playbook nga imong gigamit sa pag-deploy sa mga serbisyo, apan kinahanglan nimo nga isulat kini pag-usab.

Nagtukod kami karon og serbisyo sa Node.js, ug kini usa lang ka plataporma nga duol sa matag developer nga adunay lahi nga pinulongan. Apan milingkod kami ug naghunahuna nga ang dula angayan sa kandila. Sa ato pa, kini usa ka pangutana nga imong lingkoran ug hunahunaon.

Giunsa nimo pagmonitor ang imong mga serbisyo? Giunsa nimo pagkolekta ug pagmonitor ang mga troso?

Gikolekta namo ang mga troso sa Elasticsearch ug gibutang kini sa Kibana, ug depende kung kini ba produksyon o pagsulay nga mga palibot, lain-laing mga kolektor ang gigamit didto. Sa usa ka dapit nga Lumberjack, sa laing dapit nga lain, wala ko mahinumdom. Ug aduna pa'y pipila ka mga dapit sa pipila ka mga serbisyo diin kami nag-instalar sa Telegraf ug nag-shoot sa laing dapit nga gilain.

Giunsa ang pagpuyo kauban ang Puppet ug Ansible sa parehas nga palibot?

Sa pagkatinuod, aduna na kitay duha ka palibot, ang usa mao ang Puppet, ang lain mao ang Ansible. Nagtrabaho kami aron ma-hybridize sila. Ang Ansible usa ka maayo nga balangkas alang sa inisyal nga pag-setup, ang Puppet usa ka dili maayo nga balangkas alang sa inisyal nga pag-setup tungod kay kini nanginahanglan mga hands-on nga trabaho direkta sa plataporma, ug ang Puppet nagsiguro sa convergence sa pag-configure. Kini nagpasabot nga ang plataporma nagmintinar sa kaugalingon sa usa ka pinakabag-o nga kahimtang, ug aron ang ansibilized nga makina mapadayon nga updated, kinahanglan nimo nga padaganon ang mga playbook niini sa tanang panahon nga adunay pipila ka frequency. Mao kana ang kalainan.

Giunsa nimo pagpadayon ang pagkaangay? Aduna ka bay mga config sa Ansible ug Puppet?

Kini ang among dako nga kasakit, among gipadayon ang pagkaangay sa among mga kamot ug naghunahuna kung giunsa ang pagpadayon gikan sa tanan niini sa usa ka lugar karon. Kini nahimo nga ang Puppet naglunsad og mga pakete ug nagmintinar sa pipila ka mga link didto, ug ang Ansible, pananglitan, nag-roll out sa code ug nag-adjust sa pinakabag-o nga mga configs sa aplikasyon didto.

Ang presentasyon mahitungod sa lain-laing mga bersyon sa Ruby. Unsa nga solusyon?

Nasinati namo kini sa usa ka dapit, ug kinahanglan namo kining ibutang sa among mga ulo sa tanang panahon. Gipalong ra namo ang bahin nga nagdagan sa Ruby nga dili uyon sa mga aplikasyon ug gilain kini.

Komperensya karong tuiga DevOpsDays Moscow mahitabo sa Disyembre 7 sa Technopolis. Nagdawat kami mga aplikasyon alang sa mga taho hangtod sa Nobyembre 11. Pagsulat kanamo kung gusto ka nga makigsulti.

Ang pagparehistro alang sa mga partisipante bukas, apil kanamo!

Source: www.habr.com

Idugang sa usa ka comment