Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Na gburugburu ebe obibi nke SRE / DevOps engineer, ọ gaghị eju onye ọ bụla anya na otu ụbọchị onye ahịa (ma ọ bụ usoro nlekota oru) pụtara ma na-akọ na "ihe niile na-efunahụ": saịtị ahụ anaghị arụ ọrụ, ịkwụ ụgwọ anaghị agabiga, ndụ na-emebi emebi. ... N'agbanyeghị otú ị ga-achọ inyere aka n'ọnọdụ dị otú ahụ , ọ nwere ike isi ike ime nke a na-enweghị ngwá ọrụ dị mfe na nghọta. Ọtụtụ mgbe nsogbu a na-ezobe na koodu ngwa n'onwe ya, naanị ị ga-achọ ịhazi ya.

Na n'ime mwute na n'ọñụ…

O mere na anyị nwere ogologo oge na ịhụnanya miri emi na New Relic. Ọ bụ ma bụrụkwa ngwa dị mma maka nyochaa arụmọrụ ngwa, ma na-enye gị ohere iji ngwa microservice architecture (iji onye nnọchi anya ya) na ọtụtụ ndị ọzọ. Na ihe niile gaara adị mma ma ọ bụrụ na ọ bụghị maka mgbanwe na amụma ọnụahịa ọrụ: ya na-eri site na afọ 2013 toro 3+ ugboro. Tụkwasị na nke ahụ, ebe ọ bụ na afọ gara aga, ịnweta akaụntụ ikpe chọrọ nkwurịta okwu na onye njikwa onwe ya, nke na-eme ka o sie ike ịnye onye ahịa ahịa ngwaahịa ahụ.

Ọnọdụ a na-emekarị: Ọhụrụ Relic adịghị mkpa na "na-adịgide adịgide"; ha na-echeta ya naanị n'oge nsogbu malitere. Mana ị ka kwesịrị ịkwụ ụgwọ mgbe niile (USD kwa ọnwa kwa ọnwa), yana n'ime akụrụngwa igwe ojii na-akpachapụghị anya, nchikota na-agbakwunye nnukwu. Ọ bụ ezie na enwere nhọrọ Pay-As-You-Go, inye New Relic ga-achọ ka ịmalitegharịa ngwa ahụ, nke nwere ike iduga na-efunahụ ọnọdụ nsogbu nke malitere ya. N'oge na-adịbeghị anya, New Relic webatara atụmatụ tarifu ọhụrụ - Dị mkpa, - nke na nlele mbụ dị ka ihe ezi uche dị na ya maka Ọkachamara ... ma mgbe nyochachara ya, ọ tụgharịrị na ụfọdụ ọrụ dị mkpa na-efu (karịsịa, ọ nweghị. Azụmahịa igodo, Nchọgharị ngwa gafere, Nchusa ekesa).

N'ihi ya, anyị malitere iche echiche ịchọ ụzọ dị ọnụ ala karịa, na nhọrọ anyị dabara na ọrụ abụọ: Datadog na Atatus. Gịnị mere na ha?

Banyere ndị asọmpi

Ka m kwuo ozugbo na e nwere ihe ngwọta ndị ọzọ na ahịa. Ọbụna anyị tụlere nhọrọ Open Source, mana ọ bụghị onye ahịa ọ bụla nwere ikike n'efu iji kwado ihe ngwọta nke onwe ya… - na mgbakwunye, ha ga-achọ mmezi ọzọ. Di na nwunye anyị họọrọ mechara bụrụ ndị kacha nso mkpa anyị:

  • arụnyere na nkwado maka ngwa PHP (nchịkọta ndị ahịa anyị dị iche iche, mana nke a bụ onye ndu doro anya n'ihe gbasara ịchọ ihe ọzọ na New Relic);
  • ọnụ ahịa ọnụ (ihe na-erughị 100 USD kwa ọnwa kwa onye ọbịa);
  • ngwá ọrụ akpaka;
  • njikọ na Kubernetes;
  • Myirịta nke New Relic interface bụ ihe a na-ahụ anya gbakwunyere (n'ihi na ndị injinia na-eji ya eme ihe).

Ya mere, na nhazi nhọrọ mbụ, anyị kpochapụrụ ọtụtụ ngwọta ndị ọzọ na-ewu ewu, na karịsịa:

  • Tideways, AppDynamics na Dynatrace - maka ọnụ ahịa;
  • Akpọchiri Stackify na Russian Federation ma gosipụta ntakịrị data.

A na-ahazi isiokwu ndị ọzọ n'ụzọ dị otú ahụ na ngwọta ndị a na-ajụ ajụjụ ga-ebu ụzọ gosipụta nkenke, mgbe nke ahụ gasịrị, m ga-ekwu banyere mmekọrịta anyị na New Relic na ahụmahụ / mmetụta site na ịrụ ọrụ yiri nke ahụ na ọrụ ndị ọzọ.

Ngosipụta nke ndị asọmpi ahọpụtara

Ọ bụghị New Relic naanị: lelee Datadog na Atatus
on New Relic, eleghị anya onye ọ bụla anụwo? Ọrụ a malitere mmepe ya karịa afọ 10 gara aga, na 2008. Anyị na-eji ya eme ihe kemgbe 2012 na enweghị nsogbu ijikọ ọnụ ọgụgụ dị ukwuu nke ngwa na PHP, Ruby na Python, anyị nwekwara ahụmịhe ijikọ na C # na Go. Ndị dere ọrụ ahụ nwere ihe ngwọta maka ngwa nleba anya, akụrụngwa, ịchụso akụrụngwa microservice, mepụtara ngwa dabara adaba maka ngwaọrụ ndị ọrụ, na ọtụtụ ndị ọzọ.

Agbanyeghị, onye nnọchi anya New Relic na-agba ọsọ na protocol nwe ma anaghị akwado OpenTracing. Ngwá ọrụ dị elu chọrọ ndezi kpọmkwem maka Relic ọhụrụ. N'ikpeazụ, nkwado Kubernetes ka bụ nnwale.

Ọ bụghị New Relic naanị: lelee Datadog na Atatus
Malitere mmepe ya na 2010 Atlọ data na-ele anya nke ọma na-atọ ụtọ karịa New Relic kpọmkwem n'ihe gbasara ojiji na gburugburu Kubernetes. Karịsịa, ọ na-akwado ntinye aka na NGINX Ingress, nchịkọta log, statsd na OpenTracing protocols, nke na-enye gị ohere soro arịrịọ onye ọrụ site na mgbe ejikọtara ya na mmecha, yana ịchọta ndekọ maka arịrịọ a (ma n'akụkụ sava weebụ). na ndị na-azụ ahịa).

Mgbe anyị na-eji Datadog, anyị zutere na mgbe ụfọdụ ọ na-ewu maapụ microservice na ezighi ezi, yana ụfọdụ adịghị ike nka. Dịka ọmụmaatụ, ọ na-akọwahie ụdị ọrụ ahụ (na-ezighị ezi Django maka ọrụ caching) wee kpatara njehie 500 na ngwa PHP site na iji ọbá akwụkwọ Predis a ma ama.

Ọ bụghị New Relic naanị: lelee Datadog na Atatus
Atatus - ngwa kacha nta; ewepụtara ọrụ ahụ na 2014. Usoro mmefu ego nke ire ahịa ya bụ n'ụzọ doro anya na ọ dị ala karịa ndị asọmpi edepụtara, okwu ndị a na-adịkarị obere. Otú ọ dị, ngwá ọrụ ahụ n'onwe ya yiri New Relic, ọ bụghị nanị na ike ya (APM, Browser monitoring, etc.), kamakwa na ọdịdị.

Ihe ndọghachi azụ dị ịrịba ama bụ na ọ na-akwado naanị Node.js na PHP. N'aka nke ọzọ, a na-emejuputa ya nke ọma karịa Datadog. N'adịghị ka nke ikpeazụ, Atatus achọghị ngwa ime mgbanwe ma ọ bụ tinye akara mgbakwunye na koodu.

Otu anyị si arụ ọrụ na New Relic

Ugbu a, ka anyị chọpụta ka anyị na-ejikarị New Relic. Ka anyị kwuo na anyị nwere nsogbu chọrọ ngwọta:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ọ dị mfe ịhụ na eserese ikwommiri - Ka anyị nyochaa ya. Na New Relic, a na-ahọrọ azụmahịa weebụ ozugbo maka ngwa weebụ, a na-egosipụta akụkụ niile na eserese arụmọrụ, enwere ọnụ ọgụgụ njehie, ọnụ ọgụgụ arịrịọ ... Ihe kachasị mkpa bụ na ozugbo site na panel ndị a ị nwere ike ịgafe n'etiti dị iche iche. akụkụ nke ngwa (dịka ọmụmaatụ, ịpị MySQL ga-eduga na ngalaba nchekwa data).

Ebe ọ bụ na ihe atụ a na-atụle, anyị na-ahụ mmụba nke ọrụ PHP, pịa eserese a wee gaa na akpaghị aka Ahịa:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

A na-ahazi ndepụta nke azụmahịa, nke bụ ndị na-achịkwa ya site na ụdị MVC Ọtụtụ oge na-eri, nke dị nnọọ mma: anyị na-ahụ ozugbo ihe ngwa ahụ na-eme. Nke a bụ ọmụmaatụ nke ajụjụ ogologo nke New Relic na-anakọta na-akpaghị aka. Site n'ịgbanwe nhazi, ọ dị mfe ịchọta:

  • onye na-ahụ maka ngwa kacha eburu;
  • onye nleba anya nke a na-arịọkarị;
  • ndị na-eji nwayọọ nwayọọ na-achịkwa.

Na mgbakwunye, ị nwere ike ịgbasa azụmahịa ọ bụla wee hụ ihe ngwa ahụ na-eme n'oge etinyere koodu ahụ:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

N'ikpeazụ, ngwa ahụ na-echekwa ihe atụ nke akara ogologo arịrịọ (ndị na-ewe ihe karịrị 2 sekọnd). Nke a bụ panel maka azụmahịa ogologo oge:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Enwere ike ịhụ na ụzọ abụọ na-ewe oge buru ibu, ma n'otu oge ahụ mgbe emechara arịrịọ ahụ, a na-egosipụtakwa URI na ngalaba ya. Ọtụtụ mgbe nke a na-enyere aka ịchọta arịrịọ na ndekọ. Na-aga Chọpụta nkọwa, ị nwere ike ịhụ ebe a na-akpọ usoro ndị a:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Na na Ajụjụ database - nyochaa ajuju na ọdụ data emebere ka ngwa a na-arụ:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

N'ịbụ onye nwere ihe ọmụma a, anyị nwere ike nyochaa ihe mere ngwa ahụ ji akwụsịlata ma soro onye mmepụta rụọ ọrụ iji mepụta atụmatụ iji dozie nsogbu ahụ. N'ezie, New Relic anaghị enye nkọwa doro anya mgbe niile, mana ọ na-enyere aka ịhọrọ vector nke nyocha:

  • ogologo PDO::Construct dugara ayi n'oru iju nke pgpoll;
  • akwusighi ike ka oge na-aga Memcache::Get tụrụ aro na a haziri igwe mebere ezighi ezi;
  • oge a na-enyo enyo na-abawanye maka nhazi ndebiri mere ka a na-enyocha oghere na-enyocha ọnụnọ nke 500 avatars na nchekwa ihe;
  • were gabazie…

Ọ na-emekwa na kama ime koodu, ihe metụtara nchekwa data mpụga na-etolite na ihuenyo isi - ọ nweghịkwa ihe ọ ga-abụ: Redis ma ọ bụ PostgreSQL - ha niile zoro ezo na taabụ. Databases.

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ị nwere ike họrọ ebe a kapịrị ọnụ maka nyocha wee dozie ajụjụ - dị ka esi eme ya na azụmahịa. Na site na ịga na taabụ arịrịọ, ị ga-ahụ ugboro ole arịrịọ a na-eme na onye njikwa ngwa ọ bụla, ma tụọkwa ugboro ole a na-akpọ ya. Ọ dị mma nke ukwuu:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Taabụ ahụ nwere data yiri ya Ọrụ Mpụga, nke na-ezochi arịrịọ na ọrụ HTTP mpụga, dị ka ịnweta nchekwa ihe, iziga mmemme na sentry, ma ọ bụ ihe ndị yiri ya. Taabụ ahụ yitere kpamkpam na ọdịnaya ya na ọdụ data:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ndị asọmpi: ohere na echiche

Ugbu a ihe kacha atọ ụtọ bụ iji ike New Relic tụnyere ihe ndị asọmpi na-enye. Ọ dị nwute, anyị enweghị ike ịnwale ngwaọrụ atọ niile n'otu ụdị nke otu ngwa na-arụ ọrụ. Otú ọ dị, anyị gbalịrị iji tụnyere ọnọdụ / nhazi ndị yiri ka o kwere mee.

1. Datadog

Datadog na-ekele anyị na panel nwere mgbidi ọrụ:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ọ na-agbalị imebi ngwa n'ime components / microservices, ya mere na ihe atụ Django ngwa anyị ga-ahụ 2 njikọ na PostgreSQL (defaultdb и postgres), yana Celery, Redis. Ịrụ ọrụ na Datadog chọrọ ka ị nweta ihe ọmụma dị nta nke ụkpụrụ MVC: ị kwesịrị ịghọta ebe arịrịọ onye ọrụ na-esite na ya. Nke a na-enyekarị aka map ọrụ:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Site n'ụzọ, enwere ihe yiri ya na New Relic:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

... na map ha, n'echiche m, a na-eme ka ọ dị mfe ma doo anya: ọ dịghị egosipụta akụkụ nke otu ngwa (nke ga-eme ka ọ bụrụ nke zuru oke, dịka ọ dị na Datadog), kama ọ bụ naanị ọrụ ma ọ bụ microservices.

Ka anyị laghachi na Datadog: site na map ọrụ anyị nwere ike ịhụ na arịrịọ onye ọrụ na-abịa na Django. Ka anyị gaa na ọrụ Django wee hụ ihe anyị tụrụ anya ya:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ọ dị nwute, enweghị eserese ebe a na ndabara Oge azụmahịa weebụ, yiri nke anyị na-ahụ na isi New Relic panel. Agbanyeghị, enwere ike ịhazi ya n'ọnọdụ nhazi oge % nke oge ejiri. O zuru oke iji gbanwee ya Nkeji oge kwa arịrịọ site Ụdị... ma ugbu a, eserese a maara nke ọma na-ele anyị anya!

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ihe kpatara Datadog ji họrọ eserese dị iche bụ ihe omimi nye anyị. Ihe ọzọ na-akụda mmụọ bụ na usoro ahụ anaghị echeta nhọrọ onye ọrụ (n'adịghị ka ndị asọmpi abụọ), ya mere, naanị ihe ngwọta bụ ịmepụta ogwe omenala.

Mana enwere m obi ụtọ na ikike dị na Datadog ịgbanwe site na eserese ndị a gaa na metrik nke sava ndị metụtara ya, gụọ ndekọ ma nyochaa ibu dị na ndị na-ahụ maka sava weebụ (Gunicorn). Ihe niile fọrọ nke nta ka ọ bụrụ otu ihe ahụ dị na New Relic ... na ọbụna ntakịrị karịa (dekọọ)!

N'okpuru eserese ndị a bụ azụmahịa nke yiri New Relic:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Na Datadog, a na-akpọ azụmahịa akụrụngwa. Ị nwere ike hazie ndị njikwa site na ọnụ ọgụgụ nke arịrịọ, site na nkezi oge nzaghachi, yana site na oge kachasị ejiri maka oge ahọpụtara.

Ị nwere ike gbasaa akụrụngwa wee hụ ihe niile anyị hụburu na New Relic:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

E nwere ọnụ ọgụgụ na akụ, a generalized ndepụta nke esịtidem oku, na ihe atụ nke arịrịọ ndị nwere ike hazie site nzaghachi koodu... N'agbanyeghị, anyị engineer nwere mmasị n'ezie a ụdị.

Enwere ike imeghe ma mụọ ihe atụ ọ bụla na Datadog:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Arịrịọ arịrịọ, eserese nchịkọta nke oge ejiri na mpaghara ọ bụla, yana eserese mmiri mmiri na-egosi usoro oku. Ị nwekwara ike ịgbanwe gaa na nlele osisi nke chaatị mmiri mmiri:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Na ihe kacha adọrọ mmasị bụ ilele ibu nke onye ọbịa nke e mere arịrịọ ahụ na ịlele ndekọ arịrịọ.

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Nnukwu mwekota!

Ị nwere ike ịnọ na-eche ebe taabụ dị Databases и Ọrụ Mpụga, dị ka ọ dị na New Relic. Ọ dịghị onye ebe a: ebe Datadog decomposes ngwa n'ime components, PostgreSQL ga-atụle ọrụ dị iche, na kama Ọrụ Mpụga ọ bara uru ịchọ aws.storage (ọ ga-adị ka ọrụ mpụga ọ bụla ọzọ nke ngwa ahụ nwere ike ịnweta).

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Nke a bụ ihe atụ na postgres:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

N'ezie, e nwere ihe niile anyị chọrọ:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ị nwere ike ịhụ "ọrụ" arịrịọ a sitere.

Ọ gaghị abụ ihe na-adịghị mma ichetara gị na Datadog na-ejikọta ya na NGINX Ingress ma na-enye gị ohere ịme njedebe njedebe site na mgbe arịrịọ batara na ụyọkọ ahụ, na-enyekwa gị ohere ịnweta statsd metrics, na-anakọta ndekọ na metrics host. .

Nnukwu gbakwunyere nke Datadog bụ ọnụahịa ya na-ewere ọnọdụ site na nlekota akụrụngwa, APM, Log Management and Synthetics test, i.e. Ị nwere ike họrọ atụmatụ gị nke ọma.

2.Atatus

Ndị otu Atatus na-ekwu na ọrụ ha bụ "otu ihe ahụ na New Relic, mana ọ ka mma." Ka anyị hụ ma nke a ọ̀ bụ eziokwu.

Ogwe isi na-adị ka nke a, mana ọ gaghị ekwe omume ịchọpụta Redis na memcached ejiri na ngwa ahụ.

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

APM na-ahọrọ azụmahịa niile na ndabara, n'agbanyeghị na ọ bụ naanị azụmahịa Weebụ ka achọrọ. Dị ka Datadog, ọ dịghị ụzọ ị ga-esi gaa na ọrụ achọrọ site na isi panel. Ọzọkwa, a na-edepụta azụmahịa mgbe njehie gasịrị, nke na-adịghị ka ihe ezi uche dị na ya maka APM.

Na azụmahịa Atatus, ihe niile dị ka o kwere mee na New Relic. Ihe dị ala bụ na a naghị ahụ ike maka onye nchịkwa ọ bụla ozugbo. Ị ga-achọ ya na tebụl njikwa, na-ahazi ya Ọtụtụ oge na-eri:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ndepụta ndị njikwa na-emebu dị na taabụ inyocha:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

N'ụzọ ụfọdụ, tebụl a na-echetara Datadog na ọ masịrị m karịa nke yiri ya na New Relic.

Ị nwere ike ịgbasa azụmahịa ọ bụla wee hụ ihe ngwa ahụ na-eme:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ogwe ahụ na-echetakwa datadog: enwere ọtụtụ arịrịọ, foto n'ozuzu nke oku. Ogwe dị n'elu na-enye taabụ njehie Mmebi HTTP na ihe atụ nke ajụjụ nwayọ Usoro oge:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Ọ bụrụ na ịga na azụmahịa, ị nwere ike ịhụ ihe atụ nke trace, ị nwere ike nweta ndepụta nke arịrịọ na nchekwa data wee lelee isi okwu arịrịọ. Ihe niile yiri New Relic:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

N'ozuzu, Atatus nwere mmasị na nchọta zuru ezu - na-enweghị ụdị ọhụhụ New Relic gluing nke oku n'ime ngọngọ ncheta:

Ọ bụghị New Relic naanị: lelee Datadog na Atatus
Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Agbanyeghị, ọ nweghị nzacha nke (dị ka New Relic) ga-ebipụ arịrịọ ngwa ngwa (<5ms). N'aka nke ọzọ, enwere m mmasị na ngosipụta nke nzaghachi azụmahịa ikpeazụ (ihe ịga nke ọma ma ọ bụ njehie).

Ogwe Databases ga-enyere gị aka ịmụ arịrịọ na ọdụ data mpụga nke ngwa ahụ na-eme. Ka m chetara gị na Atatus hụrụ naanị PostgreSQL na MySQL, n'agbanyeghị na Redis na memcached sokwa na ọrụ ahụ.

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

A na-ahazi arịrịọ dịka njirisi a na-emebu: ugboro nzaghachi, nkezi oge nzaghachi, na ihe ndị ọzọ. Ọ ga-amasị m iji ajụjụ ndị dị nwayọ kwuo taabụ - ọ dabara nke ọma. Ọzọkwa, data dị na taabụ a maka PostgreSQL dabara na data sitere na ndọtị ahụ pg_stat_nkwupụta - ezigbo nsonaazụ!

Ọ bụghị New Relic naanị: lelee Datadog na Atatus

Taabụ Arịrịọ mpụga kpamkpam yiri Databases.

Nchoputa

Ngwa abụọ ewepụtara rụpụtara nke ọma na ọrụ APM. Nke ọ bụla n'ime ha nwere ike ịnye opekempe achọrọ. Enwere ike ichikota echiche anyị nkenke dị ka ndị a:

Atlọ data

Ihe:

  • oge tarifu dabara adaba (APM na-efu 31 USD kwa onye ọbịa);
  • na-arụ ọrụ nke ọma na Python;
  • Enwere ike ijikọ na OpenTracing
  • njikọ na Kubernetes;
  • mwekota na NGINX Ingress.

Cons:

  • naanị APM nke mere ka ngwa ahụ ghara ịdị n'ihi njehie modul (predis);
  • Ngwa ngwa PHP na-adịghị ike;
  • nwere obere iju nkọwa nke ọrụ na nzube ha.

Atatus

Ihe:

  • ngwa ngwa PHP miri emi;
  • interface onye ọrụ yiri New Relic.

Cons:

  • anaghị arụ ọrụ na sistemụ arụmọrụ ochie (Ubuntu 12.05, CentOS 5);
  • akụrụngwa akpaaka adịghị ike;
  • nkwado maka naanị asụsụ abụọ (Node.js na PHP);
  • Ngwa ngwa interface.

N'ịtụle ọnụahịa Atatus nke 69 USD kwa ọnwa kwa nkesa, anyị ga-ahọrọ iji Datadog, nke na-ejikọta nke ọma na mkpa anyị (ngwa weebụ na K8s) ma nwee ọtụtụ atụmatụ bara uru.

PS

Gụọkwa na blọọgụ anyị:

isi: www.habr.com

Tinye a comment