E faʻafefea ona faʻaogaina le faʻaogaina o le upega tafaʻilagi i luga o le Mail.ru Cloud Solutions platform

E faʻafefea ona faʻaogaina le faʻaogaina o le upega tafaʻilagi i luga o le Mail.ru Cloud Solutions platform

Talofa, Habr! O aʻu o Artem Karamyshev, o le ulu o le pulega o le vaega Mail.Ru Cloud Solutions (MCS). Ua tele a matou fa'alauiloa oloa fou i le tausaga ua tuana'i. Matou te mananaʻo e faʻamautinoa o auaunaga API e faigofie ona faʻalauteleina, faʻapalepale masei, ma sauni mo le faʻatupulaia vave o le uta o tagata faʻaoga. O loʻo faʻatinoina la matou faʻavae i luga o OpenStack, ma ou te fia taʻu atu ia te oe poʻo le a le vaega o faʻafitauli o le faapalepale masei e tatau ona matou foia ina ia maua ai se faiga faʻaletonu. Ou te manatu o le a manaia lenei mea mo i latou e atiaʻe foi oloa ile OpenStack.

O le fa'apalepale fa'aletonu o se fa'avae e aofia ai le maufetuuna'i o ona vaega. O lea o le a faasolosolo malie ona tatou uia tulaga uma na tatou iloa ai tulaga lamatia ma tapunia ai.

Vitio lomiga o lenei tala, o le puna autu o lea o se lipoti i le Uptime aso 4 konafesi, faatulagaina e ITSumma, e mafai ona e vaʻai i luga ole alaleo YouTube Uptime Community.

Maufetuuna'i o le fausaga fa'aletino

O le vaega lautele o le MCS cloud o loʻo faʻavae nei i totonu o nofoaga autu o faʻamaumauga e lua Tier III, i le va oi latou o loʻo i ai lona lava filo pogisa, faʻapolopolo i le tulaga faaletino e ala i auala eseese, ma le gaosiga o le 200 Gbit / s. Tier III o loʻo tuʻuina atu ai le tulaga manaʻomia o le faʻapalepale faʻaletonu mo atinaʻe faʻaletino.

O le alava pogisa e fa'aagaga i tulaga fa'aletino ma tulaga talafeagai. O le fa'agasologa o le fa'aagaga o le alalaupapa sa fa'asolosolo, na tula'i mai fa'afitauli, ma o lo'o fa'aleleia pea feso'ota'iga i le va o fa'amaumauga.

Mo se faʻataʻitaʻiga, e leʻi leva atu, aʻo galue i se vaieli e lata ane i se tasi o nofoaga autu o faʻamatalaga, na gau ai se paipa e se eli, ma i totonu o lenei paipa sa i ai uma le uaea autu ma se uaea faʻapipiʻi. O la matou auala faʻafesoʻotaʻi faʻaletonu ma le nofoaga autu o faʻamatalaga na foliga mai e vaivai i se tasi taimi, i totonu o le vaieli. O le mea lea, ua leiloa se vaega o mea tetele. Na matou faia ni faaiuga ma faia ni gaioiga, e aofia ai le faʻapipiʻiina o mata faʻaopoopo i le vaieli lata ane.

I totonu o nofoaga autu o fa'amaumauga o lo'o i ai vaega o lo'o i ai tagata e tu'uina atu feso'ota'iga tatou te fa'asalalau i ai a tatou prefix e ala i le BGP. Mo taʻiala taʻitasi fesoʻotaʻiga, e filifilia le metric sili, lea e mafai ai e tagata faʻatau eseese ona tuʻuina atu i le tulaga sili ona lelei o fesoʻotaʻiga. Afai e fa'aletonu le feso'ota'iga e ala i le tasi kamupani, matou te toe fa'aleleia la matou auala e ala i 'au'aunaga avanoa.

Afai e le manuia se kamupani, matou te otometi lava ona sui i le isi. I le tulaga o le toilalo o se tasi o nofoaga autu o faʻamatalaga, o loʻo i ai se kopi faʻata oa matou auaunaga i le nofoaga autu o faʻamatalaga lona lua, lea e ave i luga o le uta atoa.

E faʻafefea ona faʻaogaina le faʻaogaina o le upega tafaʻilagi i luga o le Mail.ru Cloud Solutions platform
Maufetuuna'i o atina'e fa'aletino

O mea matou te fa'aogaina mo le fa'apalepale o fa'aletonu tulaga fa'aoga

O la matou 'au'aunaga e fausia i luga o le tele o vaega opensource.

ExaBGP o se 'au'aunaga e fa'atino ai le tele o galuega e fa'aaoga ai le BGP-based dynamic routing protocol. Matou te fa'aaogaina malosi e fa'asalalau ai a matou tuatusi IP fa'apapa'e e fa'aogaina ai e tagata fa'aoga le API.

HAProxy ose paleni uta maualuga lea e mafai ai ona e fa'atulagaina tulafono fa'apaleni fe'avea'i fe'avea'i i tulaga eseese o le fa'ata'ita'iga OSI. Matou te faʻaaogaina e faapaleni ai i luma o auʻaunaga uma: faʻamaumauga, fefaʻatauaʻiga feʻau, auaunaga API, 'auʻaunaga i luga ole laiga, a tatou galuega i totonu - o mea uma o loʻo i tua HAProxy.

API talosaga - o se 'upega tafaʻilagi e tusia i le python, lea e faʻatautaia ai e le tagata faʻaoga ana atinaʻe ma lana auaunaga.

Talosaga a tagata faigaluega (o loʻo mulimuli ane naʻo le tagata faigaluega) - i OpenStack auaunaga, o se daemon atinaʻe lea e mafai ai e oe ona faʻasalalau tulafono API i atinaʻe. Mo se faʻataʻitaʻiga, o le fatuina o tisiki e tupu i le tagata faigaluega, ma o le talosaga o le foafoaga e tupu i le API talosaga.

Fa'ata'ita'iga Fa'atonu a le OpenStack Application

Ole tele o au'aunaga e atia'e mo OpenStack taumafai e mulimuli i se fa'ata'ita'iga e tasi. O se au'aunaga e masani ona aofia ai vaega e 2: API ma tagata faigaluega (fa'atonu i tua). I le avea ai o se tulafono, o le API o se talosaga WSGI i le python, lea e faʻalauiloaina pe o se faiga tutoʻatasi (daemon), poʻo le faʻaaogaina o le Nginx poʻo le Apache web server ua saunia. O le API e faʻagasolo le talosaga a le tagata faʻaoga ma tuʻuina atu isi faʻatonuga i le tagata faigaluega talosaga mo le faʻatinoina. O le fesiitaiga e tupu i le faʻaaogaina o se fefaʻatauaʻiga feʻau, masani RabbitMQ, o isi e le lelei le lagolagoina. A oʻo atu feʻau i le tagata fai pisinisi, e faʻatautaia e tagata faigaluega ma, pe a manaʻomia, toe faʻafoʻi se tali.

O lenei faʻataʻitaʻiga e aofia ai tulaga masani o le toilalo: RabbitMQ ma le database. Ae o RabbitMQ o loʻo vavae ese i totonu o le tasi auaunaga ma, i le talitonuga, e mafai ona taʻitoʻatasi mo auaunaga taʻitasi. O lea i le MCS matou te vavaeeseina nei auaunaga i le tele e mafai ai mo poloketi taʻitasi matou te fatuina se faʻamaumauga tuʻufaʻatasia, o se RabbitMQ ese. O lenei faiga e lelei aua a tupu se faʻalavelave i nisi o vaega vaivai, e le o le tautua atoa e malepe, ae naʻo se vaega.

Ole numera o talosaga a tagata faigaluega e le fa'atapula'aina, o lea e mafai ai e le API ona fua fa'alava i tua o paleni ina ia fa'ateleina le fa'atinoga ma le fa'apalepale o sese.

O nisi 'au'aunaga e mana'omia le fa'amaopoopoina i totonu o le 'au'aunaga pe a fa'alavelave fa'asologa fa'asologa i le va o API ma tagata faigaluega. I lenei tulaga, o loʻo faʻaaogaina se nofoaga faʻamaopoopo tasi, o se faʻalapotopotoga faʻapipiʻi e pei o Redis, Memcache, etcd, lea e mafai ai e se tasi tagata faigaluega ona taʻu atu i le isi o lenei galuega ua tofia ia te ia ("faamolemole aua le aveina"). Matou te faʻaaogaina etcd. I le avea ai o se tulafono, o tagata faigaluega e fesoʻotaʻi ma le faʻamaumauga, tusi ma faitau faʻamatalaga mai iina. Matou te faʻaaogaina le mariadb e fai ma faʻamaumauga, lea o loʻo i totonu o le multimaster cluster.

O lenei 'au'aunaga fa'apitoa e tasi o lo'o fa'atulagaina i se faiga masani e talia mo OpenStack. E mafai ona manatu o se faiga tapuni, lea e matua manino lava auala o le fuaina ma le faapalepale sese. Mo se faʻataʻitaʻiga, mo le faʻapalepale faʻaletonu API, ua lava le tuʻuina o se paleni i luma o latou. E maua le fa'afuaina o tagata faigaluega e ala i le fa'ateleina o latou numera.

Ole vaega vaivai ile polokalame atoa ole RabbitMQ ma MariaDB. O latou fausaga e tatau ona i ai se tala ese I lenei tusiga ou te manaʻo e taulaʻi ile faʻapalepale API.

E faʻafefea ona faʻaogaina le faʻaogaina o le upega tafaʻilagi i luga o le Mail.ru Cloud Solutions platform
Openstack Application Architecture. Fa'apaleni ma le fa'apalepale fa'aletonu o le fa'avae ao

Faia o le HAProxy faapaleni fa'aletonu e fa'aoga ai le ExaBGP

Ina ia mafai ona faʻalauteleina a matou API, vave ma faʻapalepale faʻaletonu, matou te tuʻuina se paleni uta i luma o latou. Na matou filifilia HAProxy. I loʻu manatu, o loʻo i ai uiga talafeagai uma mo la tatou galuega: faapaleniina i le tele o tulaga o le OSI, o se pulega faʻatautaia, fetuutuunai ma scalability, se numera tele o auala paleni, lagolago mo laulau vasega.

O le fa'afitauli muamua e mana'omia ona fo'ia o le fa'apalepale masei a le tagata paleni lava ia. Na'o le fa'apipi'iina o se paleni e fa'atupuina ai fo'i se tulaga o le fa'aletonu: malepe le paleni ma malepe le tautua. Ina ia taofia lenei mea mai le tupu, na matou faʻaogaina HAProxy faʻatasi ma ExaBGP.

ExaBGP faʻatagaina oe e faʻatino se masini mo le siakiina o le tulaga o se auaunaga. Na matou faʻaogaina lenei masini e siaki ai galuega a HAProxy ma, i le tulaga o faʻafitauli, faʻagata le auaunaga HAProxy mai le BGP.

ExaBGP+HAProxy polokalame

  1. Matou te faʻapipiʻiina le polokalama talafeagai, ExaBGP ma HAProxy, i luga o sapalai e tolu.
  2. Matou te faia se faʻaoga faʻafeiloaʻi i luga o server taitasi.
  3. I luga o sapalai uma e tolu matou te tuʻuina atu le tuatusi IP paʻepaʻe tutusa i lenei atinaʻe.
  4. O se tuatusi IP paʻepaʻe e faʻasalalau i luga ole Initaneti e ala ile ExaBGP.

Fa'apalepale sese e maua e ala i le fa'asalalauina o le tuatusi IP lava e tasi mai sapalai uma e tolu. Mai le va'aiga feso'ota'iga, o le tuatusi lava e tasi e mafai ona maua mai isi fa'asolo e tolu. E tolu auala tutusa e vaʻaia e le router, filifilia le maualuga maualuga o latou faʻavae i luga o lana lava metric (e masani lava o le filifiliga tutusa), ma o le auala e alu naʻo se tasi o sapalai.

I le tulaga o faʻafitauli i le faʻaogaina o le HAProxy poʻo le toilalo o le 'auʻaunaga, e taofi e ExaBGP le faʻasalalauina o le auala, ma faʻafeiloaʻi solo le auala i se isi server.

O lea, na matou ausia ai le fa'apalepale sese o le paleni.

E faʻafefea ona faʻaogaina le faʻaogaina o le upega tafaʻilagi i luga o le Mail.ru Cloud Solutions platform
Fa'apalepale sese o HAProxy paleni

O le polokalame na foliga mai e le atoatoa: na matou aʻoaʻoina pe faʻafefea ona faʻaagaga HAProxy, ae leʻi aʻoaʻoina pe faʻafefea ona tufatufa le uta i totonu o auaunaga. O le mea lea, matou te faʻalauteleina lenei polokalame: matou agai i luma i le paleni i le va o le tele o tuatusi IP paʻepaʻe.

Paleni fa'avae ile DNS fa'atasi ma le BGP

O le mataupu o le paleni o uta mo la tatou HAProxy o loʻo tumau pea e leʻi foia. Ae ui i lea, e mafai ona foia faigofie, e pei ona tatou faia iinei.

Ina ia faapaleni ni 'au'aunaga se tolu e te mana'omia 3 tuatusi IP pa'epa'e ma DNS tuai lelei. O nei tuatusi ta'itasi e fa'amauina i luga o le fa'aoga fa'amuli o HAProxy ta'itasi ma fa'asalalau i luga ole Initaneti.

I OpenStack, e faʻatautaia punaoa, o loʻo faʻaaogaina se lisi o auaunaga, lea e faʻamaonia ai le API faʻaiʻuga o se auaunaga faapitoa. I totonu o lenei lisi matou te resitalaina ai se igoa fa'apitonu'u - public.infra.mail.ru, lea e foia e ala i DNS e tolu tuatusi IP eseese. O se taunuuga, matou te maua le tufatufaina o uta i le va o tuatusi e tolu e ala i DNS.

Ae talu ai pe a faʻasalalau tuatusi IP paʻepaʻe matou te le pulea le faʻamuamua o filifiliga a le server, e leʻi paleni lenei mea. E masani lava, e na'o le tasi le server o le a filifilia e fa'atatau i le IP address seniority, ae o le isi lua o le a leai se aoga ona e leai ni fua fa'atatau i le BGP.

Na amata ona matou lafoina auala e ala i le ExaBGP ma metotia eseese. O paleni ta'itasi e fa'asalalau uma tuatusi IP pa'epa'e uma e tolu, ae o le tasi oi latou, o le mea autu mo lenei paleni, o lo'o fa'asalalau ma le metric aupito maualalo. A'o fa'agaoioia uma paleni e tolu, vala'au i le tuatusi IP muamua e alu i le paleni muamua, vala'au i le lona lua i le lona lua, ma vala'au i le lona tolu i le lona tolu.

O le a le mea e tupu pe a pa'u se tasi o paleni? Afai e le manuia se paleni, o lona tuatusi autu o loʻo faʻasalalau pea mai le isi lua, ma toe tufatufa atu fefaʻatauaiga i le va oi latou. O le mea lea, matou te tuʻuina atu i le tagata faʻaoga ni tuatusi IP i le taimi e tasi e ala i DNS. E ala i le faapaleniina e DNS ma metotia eseese, matou te maua se tufatufa tutusa o le uta i luga o paleni uma e tolu. Ma i le taimi lava e tasi tatou te le aveesea ai le faapalepale masei.

E faʻafefea ona faʻaogaina le faʻaogaina o le upega tafaʻilagi i luga o le Mail.ru Cloud Solutions platform
Paleni HAProxy faʻavae ile DNS + BGP

Fegalegaleaiga i le va o ExaBGP ma HAProxy

O lea la, na matou faʻatinoina le faʻapalepale faʻaletonu pe a alu le server, faʻavae i le taofi o le faʻasalalauga o auala. Ae o le HAProxy e mafai ona tapunia mo isi mafuaaga nai lo le toilalo o le server: faʻaletonu pulega, toilalo i totonu o le tautua. Matou te mananaʻo e aveese le paleni gau mai lalo o le uta i nei tulaga foi, ma matou te manaʻomia se isi masini.

O le mea lea, faʻalauteleina le polokalame muamua, matou faʻatinoina le fatu fatu i le va o ExaBGP ma HAProxy. O se polokalama faʻaogaina o le fegalegaleaiga i le va o ExaBGP ma HAProxy, pe a faʻaogaina e ExaBGP tusitusiga faʻapitoa e siaki ai le tulaga o talosaga.

Ina ia faia lenei mea, e tatau ona e faʻatulagaina se siaki soifua maloloina i le ExaBGP config, lea e mafai ona siaki le tulaga o HAProxy. I la matou tulaga, matou te faʻatulagaina le pito i tua o le soifua maloloina i HAProxy, ma mai le itu ExaBGP matou te siakiina ma se talosaga GET faigofie. Afai e taofi le faʻaaliga, ona foliga mai lea e le o galue le HAProxy ma e leai se manaʻoga e faʻasalalau.

E faʻafefea ona faʻaogaina le faʻaogaina o le upega tafaʻilagi i luga o le Mail.ru Cloud Solutions platform
HAProxy Siaki Soifua Maloloina

HAProxy Peers: fa'atasiga o sauniga

O le isi mea e fai o le fa'amaopoopoina o sauniga. Pe a galue e ala i paleni tufatufa, e faigata ona faʻatulagaina le teuina o faʻamatalaga e uiga i sauniga a tagata o tausia. Ae o le HAProxy o se tasi o nai paleni e mafai ona faia lenei mea ona o le galuega a le Peers - o le mafai ona faʻafeiloaʻi laulau i le va o faiga HAProxy eseese.

E eseese auala faapaleni: faigofie e pei ole lapisi-robin, ma faʻalautele, pe a manatua le sauniga a le kalani, ma taimi uma e faʻaiʻu ai i luga o le server tutusa e pei ona muamua. Sa matou mananao e faatino le filifiliga lona lua.

E fa'aogaina e le HAProxy laulau-laau e fa'asaoina ai sauniga a tagata o tausia o lenei masini. Latou te faʻasaoina le tuatusi IP muamua a le kalani, le tuatusi faʻamoemoe filifilia (backend) ma nisi faʻamatalaga o auaunaga. E masani lava, e fa'aogaina laulau fa'apipi'i e teu ai se puna-IP + taunu'u-IP paipa, lea e sili ona aoga mo talosaga e le mafai ona fa'afeso'ota'i le fa'aoga o le vasega pe a sui i se isi paleni, mo se fa'ata'ita'iga, i le RoundRobin balancing mode.

Afai e a'oa'oina se laulau la'au e fealua'i i le va o faiga HAProxy eseese (i le va o le paleni e tupu ai), o le a mafai e a tatou tagata paleni ona galulue i le vaita'ele o laulau la'au e tasi. O lenei mea o le a mafai ai ona fesuiai le fesoʻotaʻiga a le tagata faʻatau pe a le manuia se tasi o paleni;

Mo le faʻatinoina lelei, o le faʻafitauli o le tuatusi IP puna o le paleni lea na faʻavaeina ai le sauniga e tatau ona foia. I la matou tulaga, o se tuatusi faʻamalosi i luga o le loopback interface.

O galuega sa'o a tupulaga e ausia na'o lalo o nisi tulaga. O lona uiga, e tatau ona lava le tele o taimi fa'agata o le TCP po'o le suiga e tatau ona vave tele ina ia leai se taimi o le TCP e faamuta ai. Ae ui i lea, e mafai ai ona faʻaogaina le leai o se mea.

I le IaaS o loʻo i ai se matou auaunaga e fausia e faʻaaoga ai le tekinolosi tutusa. Lenei Load Balancer o se tautua mo OpenStack, lea e taʻua o Oktavia. E fa'avae ile lua HAProxy fa'agasologa ma muamua e aofia ai le lagolago mo tupulaga. Ua latou fa'amaonia lo latou lelei i lenei auaunaga.

O le ata o loʻo faʻaalia ai le gaioiga o laulau a tupulaga i le va o faʻataʻitaʻiga HAProxy e tolu, o loʻo tuʻuina atu se config pe faʻafefea ona faʻatulagaina:

E faʻafefea ona faʻaogaina le faʻaogaina o le upega tafaʻilagi i luga o le Mail.ru Cloud Solutions platform
HAProxy Peers (fa'atasiga o sauniga)

Afai e te faʻatinoina le polokalame lava lea e tasi, e tatau ona faʻataʻitaʻiina ma le faʻaeteete lana gaioiga. E le o se mea moni o le a galue i le auala tutusa 100% o le taimi. Ae o le mea sili o le a le leiloa lau laulau la'au pe a mana'omia ona e manatua le puna'oa IP a le tagata o tausia.

Fa'atapula'a le numera o talosaga fa'atasi mai le tagata fa'atau e tasi

So'o se au'aunaga o lo'o avanoa fa'alaua'itele, e aofia ai a matou API, e mafai ona fa'atatau i le tele o talosaga. O mafuaʻaga mo i latou e mafai ona matua ese lava, mai faʻaoga sese i osofaʻiga faʻatatau. E DDoSed matou i lea taimi ma lea taimi e tuatusi IP. E masani ona faia e tagata faʻatau mea sese ia latou tusitusiga ma tuʻuina mai ia i matou mini-DDoSs.

I se tasi auala po o se isi, e tatau ona saunia se puipuiga faaopoopo. O le fofo manino o le faʻatapulaʻaina o le numera o talosaga API ae le faʻaumatia le taimi ole CPU e faʻagasolo ai talosaga leaga.

Ina ia faŹ»atinoina ia tapulaŹ»a, matou te faŹ»aogaina tapulaa tau, faŹ»atulagaina i luga o le faavae o le HAProxy, faŹ»aaoga laulau tutusa. O le faŹ»atulagaina o tapulaŹ»a e faigofie tele ma faŹ»atagaina oe e faŹ»agata le tagata faŹ»aoga i le numera o talosaga ile API. E manatua e le algorithm le puna IP lea e faia ai talosaga ma faŹ»atapulaŹ»aina le numera o talosaga faŹ»atasi mai le tasi tagata faŹ»aoga. Ioe, na matou fuafuaina le averesi o faŹ»amatalaga o uta API mo auaunaga taŹ»itasi ma seti se tapulaa o ā‰ˆ 10 taimi i lenei tau. Matou te faŹ»aauau pea ona mataŹ»ituina le tulaga ma taofi o matou tamatamailima i luga o le fatu.

E faape'ī lea tulaga i le faatinoga? E iai a matou tagata fa'atau e fa'aogaina a matou autoscaling API i taimi uma. Latou te fatuina pe tusa ma le lua i le tolu selau masini masini i le taeao ma tapeina i le afiafi. Mo OpenStack, o le fatuina o se masini komepiuta, faʻatasi ai ma auaunaga a le PaaS, e manaʻomia ai le itiiti ifo ma le 1000 API talosaga, talu ai o fegalegaleaiga i le va o auaunaga e tupu foi i le API.

O ia fa'aliliuga o galuega e mafua ai le tele o uta. Sa matou iloiloina lenei uta, aoina mai i aso uma, faʻasefulu faʻasefulu, ma na avea lea ma a matou tapulaa tau. Matou te taofi o matou tamatamailima i luga o le fatu. E masani ona matou vaʻai i bots ma scanners o loʻo taumafai e tilotilo mai ia i matou e vaʻai pe i ai ni a matou tusitusiga CGA e mafai ona faʻatautaia, matou te tipiina ma le malosi.

E fa'afefea ona fa'afou lau codebase e aunoa ma le matauina e tagata fa'aoga

Matou te fa'atinoina fo'i le fa'apalepale o fa'aletonu i le tulaga o fa'agasologa o fa'agaioiga fa'agaioiga. Atonu e iai ni fa'alavelave i le taimi e fa'asolo ai, ae e mafai ona fa'aitiitia lo latou a'afiaga i le avanoa o auaunaga.

Matou te fa'afouina pea a matou 'au'aunaga ma e tatau ona fa'amautinoa o lo'o fa'afouina le codebase e aunoa ma le a'afiaina o tagata fa'aoga. Na mafai ona matou foia lenei faʻafitauli e faʻaaoga ai le faʻatonuga o le HAProxy ma le faʻatinoina o le Graceful Shutdown i a matou auaunaga.

Ina ia foia lenei faafitauli, sa tatau ona mautinoa le pulea o le paleni ma le "saʻo" tapunia o auaunaga:

  • I le tulaga o le HAProxy, o le faŹ»atonuga e faia e ala i se faila faŹ»amaumauga, o le mea moni o se socket ma faŹ»amatalaina i le HAProxy config. E mafai ona e auina atu i ai faatonuga e ala i le stdio. Ae o la matou meafaigaluega faŹ»atonutonu faŹ»atonuga autu e mafai, o lea o loŹ»o i ai se module faŹ»apipiŹ»iina mo le puleaina o HAProxy. Le mea matou te faŹ»aaogaina malosi.
  • O le tele o la matou API ma le Inisinia auaunaga e lagolagoina tekinolosi tapunia lelei: pe a tapuni, latou te faŹ»atali mo le galuega o loŹ»o i ai nei e maeŹ»a, pe o se talosaga http poŹ»o se galuega tautua. O le mea lava e tasi e tupu i le tagata faigaluega. Na te iloa uma galuega o loŹ»o ia faia ma faŹ»amuta pe a maeŹ»a lelei mea uma.

Faʻafetai i nei mea e lua, o le algorithm saogalemu mo le matou faʻapipiʻiina e pei o lenei.

  1. E faʻapipiʻi e le tagata faʻapipiʻi se pusa fou o le code (mo matou o le RPM lea), faʻataʻitaʻiina i le siosiomaga dev, faʻataʻitaʻi i le tulaga, ma tuʻu i le fale teu oloa.
  2. O loʻo faʻatulagaina e le atinaʻe le galuega mo le faʻapipiʻiina ma le faʻamatalaga sili ona auiliili o le "meafaitino": o le lomiga o le afifi fou, faʻamatalaga o le galuega fou ma isi faʻamatalaga e uiga i le faʻapipiʻiina pe a manaʻomia.
  3. E amata e le pule o le system le fa'afouga. Tatala le tusi ta'aloga Ansible, lea e fai ai mea nei:
    • Ave se afifi mai le fale teu oloa ma faŹ»aaogaina e faŹ»afouina ai le faŹ»asologa o le afifi i totonu o le faleoloa oloa.
    • Tu'ufa'atasia se lisi o pito i tua o le auaunaga fou.
    • Tapuni le auaunaga muamua e faŹ»afouina ile HAProxy ma faŹ»atali mo ana faŹ»agasologa e faŹ»auma. Fa'afetai i le tapuni fa'alelei, matou te mautinoa o le a fa'amae'aina uma talosaga a tagata o lo'o iai nei.
    • A maeŹ»a ona taofi atoa le API ma tagata faigaluega, ma tape HAProxy, faŹ»afouina le code.
    • Ansible fa'atautaia auaunaga.
    • Mo au'aunaga ta'itasi, o lo'o toso mai nisi "u'u", lea e fa'atino ai su'ega iunite i le tele o su'ega autu na muai fa'auigaina. E faia se siaki faavae o le code fou.
    • Afai e leai ni mea sese na maua i le laasaga muamua, o le pito i tua e faŹ»agaoioia.
    • Sei o tatou agai atu i le isi pito pito i tua.
  4. A mae'a ona fa'afou uma pito i tua, fa'alauiloa su'ega fa'atino. Afai latou te misi, ona vaʻavaʻai lea o le tagata atiaʻe i soʻo se galuega fou na ia faia.

O lenei mea e faʻamaeʻa ai le faʻapipiʻiina.

E faʻafefea ona faʻaogaina le faʻaogaina o le upega tafaʻilagi i luga o le Mail.ru Cloud Solutions platform
Ta'amilosaga fa'afouga o auaunaga

E le aoga lenei polokalame pe ana leai se tulafono e tasi. Matou te lagolagoina uma lomiga tuai ma fou i le taua. I le taimi muamua, i le tulaga o le atinaʻeina o polokalama, o loʻo tuʻuina i lalo e tusa lava pe iai ni suiga i le database database, latou te le solia le code muamua. O le i'uga, ua fa'afou malie le fa'avae code.

iʻuga

Faʻasoa oʻu lava manatu e uiga i se faʻataʻitaʻiga WEB faʻafefe, ou te toe manaʻo e toe matauina ona manatu autu:

  • faapalepale masei faaletino;
  • fa'apalepale fa'aletonu feso'otaiga (paleni, BGP);
  • fa'apalepale fa'aletonu o le polokalama fa'aoga ma atina'e.

Fa'amautu le taimi faigaluega tagata uma!

puna: www.habr.com

Faaopoopo i ai se faamatalaga