Marasa uwar garken akan taragu

Marasa uwar garken akan taragu
Rashin uwar garken ba game da rashi na zahiri ba ne na sabobin. Wannan ba kisa ba ne ko yanayin wucewa. Wannan sabuwar hanya ce ta gina tsarin a cikin gajimare. A cikin labarin yau za mu tabo tsarin gine-ginen aikace-aikacen Serverless, bari mu ga irin rawar da mai ba da sabis na uwar garke da ayyukan buɗe ido ke takawa. A ƙarshe, bari muyi magana game da batutuwan amfani da Serverless.

Ina so in rubuta sashin uwar garken aikace-aikacen (ko ma kantin sayar da kan layi). Wannan na iya zama taɗi, sabis ɗin buga abun ciki, ko ma'aunin nauyi. A kowane hali, za a sami ciwon kai mai yawa: dole ne ku shirya kayan aikin, ƙayyade abubuwan dogara da aikace-aikacen, kuma kuyi tunani game da tsarin aiki na rundunar. Sa'an nan kuma kuna buƙatar sabunta ƙananan abubuwan da ba su shafi aikin sauran monolith ba. To, kar mu manta game da sikelin a ƙarƙashin kaya.

Menene idan muka ɗauki kwantena na ephemeral, wanda aka riga an shigar da abubuwan dogaro da ake buƙata, kuma kwantena da kansu sun keɓe daga juna kuma daga OS mai masauki? Za mu raba monolith zuwa microservices, kowannensu za a iya sabunta shi da auna shi ba tare da sauran ba. Ta hanyar sanya lambar a cikin irin wannan akwati, zan iya gudanar da shi akan kowane kayan aiki. Ya fi kyau.

Idan ba ku son saita kwantena fa? Ba na son yin tunani game da ƙaddamar da aikace-aikacen. Ba na so in biya kwantena masu gudana marasa aiki lokacin da nauyin sabis ɗin ya yi kadan. Ina so in rubuta lamba Mayar da hankali kan dabarun kasuwanci da kawo kayayyaki zuwa kasuwa a cikin saurin haske.

Irin wannan tunanin ya kai ni ga kwamfuta mara amfani. Serverless a wannan yanayin yana nufin ba rashin jiki na sabobin ba, amma rashin ciwon kai na sarrafa kayan aikin.

Manufar ita ce cewa dabaru na aikace-aikacen sun rushe zuwa ayyuka masu zaman kansu. Suna da tsarin taron. Kowane aiki yana yin “microtask” ɗaya. Duk abin da ake buƙata daga mai haɓakawa shine ya loda ayyukan a cikin na'ura mai ba da hanya tsakanin hanyoyin sadarwa ta samar da kuma daidaita su tare da tushen taron. Za a aiwatar da lambar akan buƙata a cikin akwati da aka shirya ta atomatik, kuma zan biya kawai lokacin aiwatarwa.

Bari mu ga yadda tsarin haɓaka aikace-aikacen zai kasance yanzu.

Daga bangaren mai haɓakawa

Tun da farko mun fara magana game da aikace-aikacen kantin sayar da kan layi. A cikin tsarin al'ada, babban ma'anar tsarin ana yin shi ta hanyar aikace-aikacen monolithic. Kuma uwar garken da ke da aikace-aikacen yana gudana akai-akai, koda kuwa babu kaya.

Don matsawa zuwa maras sabar, muna karya aikace-aikacen zuwa microtasks. Muna rubuta aikin namu ga kowannensu. Ayyukan sun kasance masu zaman kansu daga juna kuma ba sa adana bayanan jiha (marasa ƙasa). Wataƙila ma ana rubuta su da harsuna daban-daban. Idan ɗayansu ya “faɗi”, duk aikace-aikacen ba zai tsaya ba. Tsarin gine-ginen aikace-aikacen zai yi kama da haka:

Marasa uwar garken akan taragu
Rabe-raben ayyuka a cikin Mara waya yana kama da aiki tare da microservices. Amma microservice na iya yin ayyuka da yawa, kuma aikin yakamata yayi ɗaya. Bari mu yi tunanin cewa aikin shine tattara ƙididdiga da nuna su a buƙatar mai amfani. A cikin tsarin microservice, sabis ɗaya yana yin aiki tare da wuraren shigarwa guda biyu: rubutu da karatu. A cikin kwamfuta maras sabar, waɗannan za su zama ayyuka daban-daban guda biyu waɗanda ba su da alaƙa da juna. Mai haɓakawa yana adana albarkatun kwamfuta idan, alal misali, ana sabunta ƙididdiga akai-akai fiye da yadda ake zazzage su.

Dole ne a aiwatar da ayyukan mara amfani a cikin ɗan gajeren lokaci (lokacin ƙarewa), wanda mai bada sabis ya ƙaddara. Misali, don AWS lokacin ƙarewar shine mintuna 15. Wannan yana nufin cewa dole ne a canza ayyukan da suka daɗe don dacewa da buƙatun - wannan shine abin da ya bambanta Serverless daga sauran fasahohin fasaha a yau (kwantena da Platform a matsayin Sabis).

Mun sanya wani taron ga kowane aiki. Wani lamari ne mai tunzura aiki:

Taron
Ayyukan da aikin ke yi

An ɗora hoton samfur zuwa ma'ajiyar.
Matsa hoton kuma loda zuwa kundin adireshi

An sabunta adireshin kantin sayar da zahiri a cikin bayanan
Loda sabon wuri cikin taswira

Abokin ciniki ya biya kayan
Fara sarrafa biyan kuɗi

Abubuwan da suka faru na iya zama buƙatun HTTP, bayanan yawo, layin saƙo, da sauransu. Tushen abubuwan da suka faru canje-canje ne ko abubuwan da suka faru na bayanai. Bugu da kari, ana iya kunna ayyuka ta mai ƙidayar lokaci.

An yi aikin gine-ginen, kuma aikace-aikacen ya kusan zama mara amfani. Na gaba za mu je wurin mai bada sabis.

Daga bangaren mai bayarwa

Yawanci, masu samar da sabis na gajimare suna bayar da ƙididdiga mara sabar. Ana kiran su daban-daban: Ayyukan Azure, AWS Lambda, Ayyukan Cloud Cloud, Ayyukan IBM Cloud.

Za mu yi amfani da sabis ta hanyar na'ura mai ba da hanya tsakanin hanyoyin sadarwa ko asusun sirri. Ana iya sauke lambar aiki ta ɗaya daga cikin hanyoyi masu zuwa:

  • rubuta lamba a cikin ginannen editoci ta hanyar na'ura mai kwakwalwa ta yanar gizo,
  • zazzage Archive ɗin tare da code,
  • aiki tare da jama'a ko masu zaman kansu ma'ajiyar git.

Anan mun saita abubuwan da ke kira aikin. Saitin abubuwan da suka faru na iya bambanta ga masu samarwa daban-daban.

Marasa uwar garken akan taragu

Mai badawa ya gina kuma ya sarrafa tsarin Aiki azaman Sabis (FaaS) akan kayan aikin sa:

  1. Lambar aikin tana ƙarewa a ajiya a gefen mai bayarwa.
  2. Lokacin da wani abu ya faru, kwantena tare da shirye-shiryen muhalli ana tura su ta atomatik akan sabar. Kowane misali na aiki yana da keɓaɓɓen akwati.
  3. Daga ajiya, ana aika aikin zuwa akwati, ƙididdigewa, kuma ya dawo da sakamakon.
  4. Yawan abubuwan da ke daidai da juna suna girma - adadin kwantena yana girma. Tsarin yana yin awo ta atomatik. Idan masu amfani ba su sami damar aikin ba, zai zama mara aiki.
  5. Mai bayarwa yana saita lokacin rashin aiki don kwantena - idan a wannan lokacin ayyuka ba su bayyana a cikin akwati ba, an lalatar da shi.

Ta wannan hanyar muna samun Serverless daga cikin akwatin. Za mu biya don sabis ɗin ta amfani da tsarin biya-as-you-go kuma kawai don waɗannan ayyukan da ake amfani da su, kuma kawai don lokacin da aka yi amfani da su.

Don gabatar da masu haɓakawa ga sabis ɗin, masu samarwa suna ba da har zuwa watanni 12 na gwaji kyauta, amma iyakance jimlar lokacin ƙididdigewa, adadin buƙatun kowane wata, kuɗi ko amfani da wutar lantarki.

Babban fa'idar aiki tare da mai bayarwa shine ikon kada ku damu game da abubuwan more rayuwa (sabar, injunan kama-da-wane, kwantena). A nata bangaren, mai badawa zai iya aiwatar da FaaS duka ta amfani da nasa ci gaban da kuma amfani da kayan aikin buɗe ido. Bari mu kara magana game da su.

Daga gefen buɗaɗɗen tushe

Al'umman buɗe tushen suna aiki tuƙuru akan kayan aikin Serverless tsawon shekaru biyu da suka gabata. Manyan 'yan wasan kasuwa kuma suna ba da gudummawa ga haɓaka dandamali mara amfani:

  • Google yana ba masu haɓaka kayan aikin sa na buɗaɗɗen tushe - Sanye. IBM, RedHat, Pivotal da SAP sun shiga cikin ci gabanta;
  • IBM ya yi aiki a kan dandamali mara amfani BudeWhisk, wanda sai ya zama aikin Gidauniyar Apache;
  • Microsoft wani bangare ya buɗe lambar dandamali Ayyukan Azure.

Ana kuma ci gaba da ci gaba ta hanyar tsarin tsarin maras sabar. Kubeless и Fashewa an tura shi cikin gungu na Kubernetes da aka riga aka shirya, BudeFaaS yana aiki tare da Kubernetes da Docker Swarm. Tsarin yana aiki azaman nau'in mai sarrafawa - akan buƙata, yana shirya yanayin lokacin aiki a cikin gungu, sannan ya ƙaddamar da aiki a can.

Tsarin yana barin sarari don daidaita kayan aiki don dacewa da bukatunku. Don haka, a cikin Kubeless, mai haɓakawa zai iya saita lokacin aiwatar da aikin (ƙimar tsoho shine 180 seconds). Fission, a ƙoƙarin warware matsalar farkon sanyi, yana ba da shawarar kiyaye wasu kwantena suna gudana koyaushe (ko da yake wannan ya haɗa da farashin lokacin rage kayan aiki). Kuma OpenFaaS yana ba da saitin abubuwan jan hankali ga kowane dandano da launi: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs da sauransu.

Ana iya samun umarnin farawa a cikin takaddun hukuma na tsarin. Yin aiki tare da su yana buƙatar samun ƙarin ƙwarewa fiye da lokacin aiki tare da mai bayarwa - wannan shine aƙalla ikon ƙaddamar da gungu na Kubernetes ta hanyar CLI. Aƙalla, haɗa da wasu kayan aikin buɗe tushen (misali, manajan layin Kafka).

Ko da kuwa yadda muke aiki tare da Serverless - ta hanyar mai bayarwa ko amfani da buɗaɗɗen tushe, za mu sami fa'idodi da rashin amfani da dama na hanyar rashin Server.

Daga ra'ayi na amfani da rashin amfani

Serverless yana haɓaka ra'ayoyin kayan aikin kwantena da tsarin microservice, wanda ƙungiyoyi zasu iya aiki a cikin yanayin harsuna da yawa ba tare da an ɗaure su da dandamali ɗaya ba. Gina tsarin yana sauƙaƙe kuma kurakurai sun fi sauƙi don gyarawa. Gine-gine na Microservice yana ba ku damar ƙara sabbin ayyuka zuwa tsarin da sauri fiye da yanayin aikace-aikacen monolithic.

Serverless yana rage lokacin haɓaka har ma da ƙari, kyale mai haɓakawa ya mai da hankali kawai kan dabarun kasuwanci na aikace-aikacen da coding. A sakamakon haka, lokacin kasuwa don ci gaba ya ragu.

A matsayin kari, muna samun sikelin atomatik don kaya, kuma muna biya kawai don albarkatun da aka yi amfani da su kuma kawai a lokacin da ake amfani da su.

Kamar kowace fasaha, Serverless yana da rashin amfani.

Misali, irin wannan lahani na iya zama lokacin farawa sanyi (a matsakaita har zuwa daƙiƙa 1 don harsuna kamar JavaScript, Python, Go, Java, Ruby).

A gefe guda, a gaskiya, lokacin farawa sanyi ya dogara da sauye-sauye masu yawa: harshen da aka rubuta aikin, adadin ɗakunan karatu, adadin lambar, sadarwa tare da ƙarin albarkatu (samfurin bayanai iri ɗaya ko sabobin tabbatarwa). Tun da mai haɓakawa ke sarrafa waɗannan masu canji, zai iya rage lokacin farawa. Amma a gefe guda, mai haɓakawa ba zai iya sarrafa lokacin farawa na akwati ba - duk ya dogara da mai bayarwa.

Farawar sanyi na iya juyawa zuwa farawa mai zafi lokacin da aiki ya sake yin amfani da akwati da wani abin da ya gabata ya ƙaddamar. Wannan yanayin zai taso a lokuta uku:

  • idan abokan ciniki akai-akai suna amfani da sabis ɗin kuma adadin kira zuwa aikin yana ƙaruwa;
  • idan mai bayarwa, dandamali ko tsarin yana ba ku damar kiyaye wasu kwantena suna gudana koyaushe;
  • idan mai haɓaka yana gudanar da ayyuka akan mai ƙidayar lokaci (faɗi kowane minti 3).

Don aikace-aikace da yawa, farawa sanyi ba matsala ba ne. Anan kuna buƙatar gina nau'in da ayyukan sabis ɗin. Jinkirin farawa na daƙiƙa ba koyaushe yana da mahimmanci ga aikace-aikacen kasuwanci ba, amma yana iya zama mahimmanci ga sabis na likita. A wannan yanayin, hanyar mara sabar ba zata ƙara dacewa ba.

Rashin lahani na gaba na Serverless shine gajeriyar rayuwar aiki (lokacin da ya ƙare wanda dole ne a aiwatar da aikin).

Amma, idan kun yi aiki tare da ayyuka masu tsawo, za ku iya amfani da tsarin gine-gine na matasan - hada Serverless tare da wata fasaha.

Ba duk tsarin ba ne za su iya yin aiki ta amfani da tsarin mara sabar.

Wasu aikace-aikacen har yanzu za su adana bayanai da yanayi yayin aiwatarwa. Wasu gine-ginen za su kasance na monolithic kuma wasu fasaloli za su daɗe. Koyaya (kamar fasahar girgije sannan kwantena), Serverless fasaha ce mai kyakkyawar makoma.

Ta wannan hanyar, Ina so in ci gaba da tafiya cikin kwanciyar hankali zuwa batun amfani da hanyar rashin Server.

Daga bangaren aikace-aikace

Don 2018, yawan yawan amfani mara amfani girma sau daya da rabi. Daga cikin kamfanonin da suka riga sun aiwatar da fasahar a cikin ayyukansu, akwai manyan kamfanoni kamar Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. A lokaci guda, kuna buƙatar fahimtar cewa Serverless ba panacea bane, amma kayan aiki ne don magance wasu kewayon matsaloli:

  • Rage raguwar albarkatu. Babu buƙatar ci gaba da riƙe injin kama-da-wane don ayyukan da ke da ƴan kira.
  • Tsarin bayanai akan tashi. Matsa hotuna, yanke bayanan baya, canza rikodin bidiyo, aiki tare da firikwensin IoT, aiwatar da ayyukan lissafi.
  • "Manne" sauran ayyuka tare. Wurin ajiya na Git tare da shirye-shiryen ciki, bot bot a cikin Slack tare da Jira da kalanda.
  • Daidaita kaya. Mu duba a nan.

A ce akwai sabis ɗin da ke jan hankalin mutane 50. A ƙarƙashinsa akwai injin kama-da-wane mai raunin kayan aiki. Daga lokaci zuwa lokaci, nauyin sabis yana ƙaruwa sosai. Sa'an nan raunana hardware ba zai iya jimre.

Kuna iya haɗa da ma'auni a cikin tsarin da zai rarraba kaya, a ce, sama da inji guda uku. A wannan matakin, ba za mu iya yin hasashen kaya daidai ba, don haka muna adana adadin albarkatun da ke gudana "a ajiye." Kuma muna biyan kuɗi fiye da lokacin hutu.

A cikin irin wannan yanayi, za mu iya inganta tsarin ta hanyar haɗin kai: mun bar na'ura mai mahimmanci a bayan ma'aunin nauyi kuma sanya hanyar haɗi zuwa Ƙarshen Ƙarshen Server tare da ayyuka. Idan kaya ya wuce madaidaici, ma'auni yana ƙaddamar da misalan ayyuka waɗanda ke ɗaukar ɓangaren sarrafa buƙatun.

Marasa uwar garken akan taragu
Don haka, ana iya amfani da Serverless inda ya zama dole don aiwatar da adadin buƙatun ba sau da yawa ba, amma da ƙarfi. A wannan yanayin, gudanar da ayyuka da yawa na mintuna 15 ya fi riba fiye da riƙe na'ura mai mahimmanci ko sabar kowane lokaci.

Tare da duk fa'idodin kwamfuta mara amfani, kafin aiwatarwa, yakamata ku fara kimanta dabarun aikace-aikacen kuma ku fahimci menene matsalolin Serverless na iya warwarewa a cikin wani yanayi.

Marasa Server da Selectel

A Selectel mun riga Sauƙaƙan aiki tare da Kubernetes via mu kula panel. Yanzu muna gina dandalin FaaS na kanmu. Muna son masu haɓakawa su sami damar magance matsalolinsu ta amfani da Serverless ta hanyar dacewa, mai sassauƙa.

Idan kuna da ra'ayoyi kan abin da manufa FaaS dandamali ya kamata ya zama da kuma yadda kuke son amfani da Serverless a cikin ayyukan ku, raba su a cikin sharhi. Za mu yi la'akari da bukatun ku yayin haɓaka dandamali.
 
Abubuwan da aka yi amfani da su a cikin labarin:

source: www.habr.com

Add a comment