{"id":79153,"date":"2020-04-24T19:42:43","date_gmt":"2020-04-24T17:42:43","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/istoriya-sozdaniya-oblachnogo-servisa-pripravlennaya-kiberpankom"},"modified":"2020-04-24T19:42:43","modified_gmt":"2020-04-24T17:42:43","slug":"istoriya-sozdaniya-oblachnogo-servisa-pripravlennaya-kiberpankom","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/istoriya-sozdaniya-oblachnogo-servisa-pripravlennaya-kiberpankom","title":{"rendered":"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/d1cad1dfa3513b5794c7be916a9dbb4b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Me rritjen e eksperienc\u00ebs n\u00eb IT, fillon t\u00eb kuptosh se sistemet kan\u00eb karakterin e tyre. Ato mund t\u00eb jen\u00eb t\u00eb bindura, t\u00eb heshtura, kapri\u00e7ioze, t\u00eb ashpra. Mund t\u00eb t\u00eb t\u00ebrheqin apo t\u00eb t\u00eb pengojn\u00eb. Pavar\u00ebsisht k\u00ebsaj, duhet t\u00eb \"bisedosh\" me to, t\u00eb manovrosh midis \"peshqve n\u00ebn uj\u00eb\" dhe t\u00eb nd\u00ebrtosh zinxhir\u00ebt e bashk\u00ebveprimit t\u00eb tyre.<\/p>\n<p><\/p>\n<p>Pra, na u dha nderi t\u00eb krijojm\u00eb nj\u00eb platform\u00eb cloud, dhe p\u00ebr k\u00ebt\u00eb ishte e nevojshme t\u00eb \"bisedonim\" me disa n\u00ebn-sisteme q\u00eb t\u00eb punonin me ne. Fatmir\u00ebsisht, kemi \"gjuha API\", duar t\u00eb drejta dhe shum\u00eb entuziaz\u00ebm. <\/p>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb artikull nuk do t\u00eb ket\u00eb hardkor teknik, por do t\u00eb p\u00ebrshkruhen problemet me t\u00eb cilat u p\u00ebrball\u00ebm gjat\u00eb nd\u00ebrtimit t\u00eb cloud-it. Vendosa t\u00eb p\u00ebrshkruaj rrug\u00ebn ton\u00eb n\u00eb form\u00ebn e nj\u00eb fantazie teknike t\u00eb leht\u00eb p\u00ebr at\u00eb se si k\u00ebrkuam nj\u00eb gjuh\u00eb t\u00eb p\u00ebrbashk\u00ebt me sistemet dhe \u00e7far\u00eb doli nga kjo. <\/p>\n<p><\/p>\n<p>Mir\u00eb se vini n\u00ebn kat.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><\/p>\n<h3 id=\"nachalo-puti\">Fillimi i rrug\u00ebs<\/h3>\n<p><\/p>\n<p>Disa koh\u00eb m\u00eb par\u00eb, ekipi yn\u00eb u ngarkua me detyr\u00ebn p\u00ebr t\u00eb lan\u00e7uar nj\u00eb platform\u00eb cloud p\u00ebr klient\u00ebt tan\u00eb. Ne kishim mb\u00ebshtetje nga drejtori, burime, nj\u00eb harduer t\u00eb p\u00ebrshtatsh\u00ebm dhe liri n\u00eb zgjedhjen e teknologjive p\u00ebr realizimin e pjes\u00ebs software t\u00eb sh\u00ebrbimit.<\/p>\n<p><\/p>\n<p>Ishte gjithashtu nj\u00eb s\u00ebr\u00eb k\u00ebrkesash:<\/p>\n<p><\/p>\n<ul>\n<li>sh\u00ebrbimi ka nevoj\u00eb p\u00ebr nj\u00eb panel personal t\u00eb rehatsh\u00ebm;<\/li>\n<li>platforma duhet t\u00eb jet\u00eb e integruar n\u00eb sistemin ekzistues t\u00eb faturimit;<\/li>\n<li>pjesa softuerike dhe harduerike: OpenStack + Tungsten Fabric (Open Contrail), t\u00eb cilat inxhinier\u00ebt tan\u00eb i m\u00ebsuan mir\u00eb t\u00eb \"gatuhen\".<\/li>\n<\/ul>\n<p><\/p>\n<p>Se si u formua ekipi, u zhvillua nd\u00ebrfaqja e panelit personal dhe u mor\u00ebn vendimet dizajnuese, do ta p\u00ebrshkruajm\u00eb nj\u00eb her\u00eb tjet\u00ebr, n\u00ebse komuniteti Habr do t\u00eb ket\u00eb interes.<br \/>\nInstrumentet q\u00eb vendos\u00ebm t\u00eb p\u00ebrdorim:<\/p>\n<p><\/p>\n<ul>\n<li>Python + Flask + Swagger + SQLAlchemy \u2014 nj\u00eb grup relativisht standard Python;<\/li>\n<li>Vue.js p\u00ebr front-end;<\/li>\n<li>bashk\u00ebveprimi midis komponent\u00ebve dhe sh\u00ebrbimeve u vendos t\u00eb b\u00ebhej me ndihm\u00ebn e Celery mbi AMQP.<\/li>\n<\/ul>\n<p><\/p>\n<p>Duke parashikuar pyetje mbi zgjedhjen p\u00ebr Python, do t\u00eb sqaroj. Gjuha ka marr\u00eb nj\u00eb vend t\u00eb caktuar n\u00eb kompanin\u00eb ton\u00eb dhe rreth saj \u00ebsht\u00eb nd\u00ebrtuar nj\u00eb kultur\u00eb e vog\u00ebl, por e r\u00ebnd\u00ebsishme. Prandaj, u vendos t\u00eb fillonim nd\u00ebrtimin e sh\u00ebrbimit sakt\u00ebsisht n\u00eb t\u00eb. Sidomos duke pasur parasysh se shpejt\u00ebsia e zhvillimit shpesh e luan rolin kryesor n\u00eb k\u00ebto detyra. <\/p>\n<p><\/p>\n<p>Pra, le t\u00eb fillojm\u00eb njohjen ton\u00eb.<\/p>\n<p><\/p>\n<h3 id=\"molchalivyy-bill--billing\">Bill-i i heshtur \u2014 faturimi<\/h3>\n<p><\/p>\n<p><em>Me dhe k\u00ebt\u00eb djal\u00eb ishim njohur prej koh\u00ebsh. Ai gjithmon\u00eb kishte ulur dhe num\u00ebronte di\u00e7ka n\u00eb heshtje. Disa her\u00eb na d\u00ebrgonte k\u00ebrkesat e p\u00ebrdoruesve, p\u00ebrgatiste faturat p\u00ebr klient\u00ebt, menaxhonte sh\u00ebrbimet. Nj\u00eb djal\u00eb i zakonsh\u00ebm pun\u00ebtor. Megjithat\u00eb, kishte v\u00ebshtir\u00ebsi. Ai ishte i heshtur, ndonj\u00ebher\u00eb mendues dhe shpesh \u2014 thjesht me mendimet e tij.<\/em><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/262bb5c9d6234041d264f8e041e647fe.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Bllokimi \u00ebsht\u00eb sistemi i par\u00eb me t\u00eb cilin p\u00ebrpiqeshim t\u00eb krijonim nj\u00eb marr\u00ebdh\u00ebnie. Dhe v\u00ebshtir\u00ebsia e par\u00eb na u paraqit gjat\u00eb p\u00ebrpunimit t\u00eb sh\u00ebrbimeve.<\/p>\n<p><\/p>\n<p>P\u00ebr shembull, kur krijohet ose fshihet nj\u00eb sh\u00ebrbim, detyra kalon n\u00eb list\u00ebn e brendshme t\u00eb bllokimit. K\u00ebshtu \u00ebsht\u00eb realizuar nj\u00eb sistem i pun\u00ebs asinkrone me sh\u00ebrbimet. P\u00ebr t\u00eb p\u00ebrpunuar tipet e veta t\u00eb sh\u00ebrbimeve, na duhej t\u00eb 'vendosnim' detyrat tona n\u00eb k\u00ebt\u00eb list\u00eb. Dhe k\u00ebtu u p\u00ebrball\u00ebm me nj\u00eb problem: mungesa e dokumentacionit. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/4d96251df014e315308c94f848bc6cd0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sipas p\u00ebrshkrimit t\u00eb API-s\u00eb programore, t\u00eb zgjidhim k\u00ebt\u00eb detyr\u00eb duhej t\u00eb ishte e mundur, por nuk kishim koh\u00eb p\u00ebr t\u00eb punuar n\u00eb inxhinierin\u00eb e kund\u00ebrt, prandaj e zgjidh\u00ebm logjik\u00ebn nga jasht\u00eb dhe organizuam list\u00ebn e detyrave mbi RabbitMQ. Operacioni mbi sh\u00ebrbimin iniciohet nga klienti nga paneli i tij, rrethoj\u00eb n\u00eb nj\u00eb 'detyr\u00eb' Celery n\u00eb backend dhe ekzekutohet n\u00eb an\u00ebn e bllokimit dhe OpenStack. Celery lejon menaxhimin mjaft t\u00eb leht\u00eb t\u00eb detyrave, organizimin e p\u00ebrs\u00ebritjeve dhe ndjekjen e gjendjes. M\u00eb shum\u00eb rreth 'seleris\u00eb' mund t\u00eb lexoni, p\u00ebr shembull, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/433476\/\">k\u00ebtu<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Gjithashtu, bllokimi nuk pezullonte projektin kur mbaronin parat\u00eb. Duke komunikuar me zhvilluesit, zbuluam se gjat\u00eb llogaritjes sipas statistikave (dhe na duhej t\u00eb realizonim pik\u00ebrisht nj\u00eb logjik\u00eb t\u00eb till\u00eb) kishte nj\u00eb lidhje t\u00eb nd\u00ebrlikuar t\u00eb rregullave t\u00eb pezullimit. Por k\u00ebto modele nuk ishin t\u00eb p\u00ebrshtatshme p\u00ebr realitetin ton\u00eb. E zgjidh\u00ebm gjithashtu n\u00ebp\u00ebrmjet detyrave n\u00eb Celery, duke marr\u00eb logjik\u00ebn e menaxhimit t\u00eb sh\u00ebrbimeve n\u00eb an\u00ebn e backend-it. <\/p>\n<p><\/p>\n<p>T\u00eb dy problemet e m\u00ebsip\u00ebrme \u00e7uan n\u00eb at\u00eb q\u00eb kodi u frym\u00ebzua pak dhe n\u00eb t\u00eb ardhmen na duhej t\u00eb merreshim me rifreskimin e tij, p\u00ebr t\u00eb nxjerr\u00eb n\u00eb nj\u00eb sh\u00ebrbim t\u00eb ve\u00e7ant\u00eb logjik\u00ebn e pun\u00ebs me detyrat. Ne gjithashtu duhej t\u00eb ruanim nj\u00eb pjes\u00eb t\u00eb informacionit rreth p\u00ebrdoruesve dhe sh\u00ebrbimeve t\u00eb tyre n\u00eb tabelat tona, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb mb\u00ebshtesim k\u00ebt\u00eb logjik\u00eb.<\/p>\n<p><\/p>\n<p>Nj\u00eb problem tjet\u00ebr \u2014 heshtja.<\/p>\n<p><\/p>\n<p>P\u00ebr nj\u00eb pjes\u00eb t\u00eb k\u00ebrkesave ndaj API-s\u00eb, Billi p\u00ebrgjigjej n\u00eb heshtje me 'Ok'. K\u00ebshtu ndodhi, kur b\u00ebnim kreditimin e pagesave t\u00eb premtuara gjat\u00eb periudh\u00ebs s\u00eb prov\u00ebs (p\u00ebr t\u00eb cil\u00ebn do flasim m\u00eb von\u00eb). K\u00ebrkesat u realizuan si\u00e7 duhej dhe ne nuk pam\u00eb gabime. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/d03f2c381fd39dbf33f2a0c3eeb1294d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Duhet t\u00eb studioja log-et duke punuar me sistemin p\u00ebrmes UI. Doli se vet\u00eb faturimi kryen k\u00ebrkesa t\u00eb tilla, duke ndryshuar skopin p\u00ebr p\u00ebrdoruesin specifik, p\u00ebr shembull, admin, duke e kaluar at\u00eb si parametrin su.<\/p>\n<p><\/p>\n<p>N\u00eb p\u00ebrgjith\u00ebsi, pavar\u00ebsisht nga boshll\u00ebqet n\u00eb dokumentacion dhe disa ndjesi t\u00eb vogla API, gjith\u00e7ka kaloi mjaft mir\u00eb. Log-et \u00ebsht\u00eb e qart\u00eb t\u00eb lexohen edhe me nj\u00eb ngarkes\u00eb t\u00eb madhe, n\u00ebse kupton se si jan\u00eb nd\u00ebrtuar dhe \u00e7far\u00eb duhet t\u00eb k\u00ebrkosh. Struktura e baz\u00ebs s\u00eb t\u00eb dh\u00ebnave \u00ebsht\u00eb komplekse, por mjaft logjike dhe n\u00eb disa aspekte edhe t\u00ebrheq\u00ebse.<\/p>\n<p><\/p>\n<p>Pra, duke p\u00ebrmbledhur, problemet kryesore q\u00eb p\u00ebrjetuam gjat\u00eb nd\u00ebrveprimit lidhen me ve\u00e7orit\u00eb e implementimit t\u00eb sistemit t\u00eb caktuar: <\/p>\n<p><\/p>\n<ul>\n<li>karakteristika t\u00eb pa dokumentuara, t\u00eb cilat na preknin nga \u00e7do an\u00eb;<\/li>\n<li>kodet e mbyllura (faturimi \u00ebsht\u00eb shkruar n\u00eb C++), si pasoj\u00eb \u2014 pamund\u00ebsia p\u00ebr t\u00eb zgjidhur problemin 1 n\u00eb asnj\u00eb m\u00ebnyr\u00eb tjet\u00ebr ve\u00e7 \"metod\u00ebs s\u00eb provave dhe gabimeve\".<\/li>\n<\/ul>\n<p><\/p>\n<p>Fatmir\u00ebsisht, produkti ka nj\u00eb API t\u00eb avancuar dhe ne e integrojm\u00eb n\u00eb kabinetin ton\u00eb t\u00eb personalizuar sistemet e m\u00ebposhtme:<\/p>\n<p><\/p>\n<ul>\n<li>moduli i mb\u00ebshtetjes teknike \u2014 k\u00ebrkesat nga kabineti personal \"proksyohen\" n\u00eb faturim n\u00eb m\u00ebnyr\u00eb t\u00eb qart\u00eb p\u00ebr klient\u00ebt e sh\u00ebrbimit;<\/li>\n<li>moduli financiar \u2014 lejon q\u00eb t\u00eb l\u00ebshohen faturat p\u00ebr klient\u00ebt aktual\u00eb, t\u00eb p\u00ebrfundojn\u00eb pagesat dhe t\u00eb formojn\u00eb dokumentet e pages\u00ebs;<\/li>\n<li>moduli i menaxhimit t\u00eb sh\u00ebrbimeve \u2014 p\u00ebr t\u00eb ne duhej t\u00eb realizonim trajtuesin ton\u00eb. Zgjerueshm\u00ebria e sistemit na ndihmoi dhe ne \"m\u00ebsuam\" Billi p\u00ebr nj\u00eb lloj t\u00eb ri sh\u00ebrbimesh.<br \/>\nDuhet t\u00eb merremi me k\u00ebt\u00eb, por megjithat\u00eb, mendoj se me Billi do t\u00eb kemi nj\u00eb marr\u00ebveshje.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"progulki-po-volframovym-polyam--tungsten-fabric\">Sh\u00ebtitje n\u00eb fushat tungsten \u2014 Tungsten Fabric<\/h3>\n<p><\/p>\n<p><em>Fushat tungsten jan\u00eb t\u00eb mbushura me qindra kabllosh q\u00eb kalojn\u00eb mij\u00ebra bita informacioni. Informacioni mblidhet n\u00eb \"paketa\", dekodohet, duke nd\u00ebrtuar rrug\u00eb komplekse, ashtu si me magji.<\/em><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/9b6dd46d9f15e0e3393a8c1222abbf2f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ky \u00ebsht\u00eb domeni i sistemit t\u00eb dyt\u00eb, me t\u00eb cilin na duhej t\u00eb b\u00ebjm\u00eb miq\u00ebsi \u2014 Tungsten Fabric (TF), dikur OpenContrail. Detyra e saj \u00ebsht\u00eb t\u00eb menaxhoj\u00eb pajisjet rrjet, duke ofruar nj\u00eb abstraksion programor p\u00ebr ne si p\u00ebrdorues. TF \u2014 SDN, p\u00ebrmbledh logjik\u00ebn komplekse t\u00eb pun\u00ebs me pajisjet rrjet. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/muk\/blog\/251959\/\">k\u00ebtu<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Sistemi \u00ebsht\u00eb i integruar me OpenStack (p\u00ebr t\u00eb cilin do t\u00eb flasim m\u00eb posht\u00eb) p\u00ebrmes plugin-it Neutron. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/5abe3992efaab3e016a0c51dc0070a94.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Nd\u00ebrveprimi i sh\u00ebrbimeve OpenStack.<\/em><\/p>\n<p><\/p>\n<p>Ne kemi njohur k\u00ebt\u00eb sistem fal\u00eb djemve nga departamenti i shfryt\u00ebzimit. Ne p\u00ebrdorim API-n\u00eb e sistemit p\u00ebr t\u00eb menaxhuar rrjetin e sh\u00ebrbimeve tona. Deri tani nuk na ka shkaktuar probleme serioze apo shqet\u00ebsime (nuk do ta marr\u00eb p\u00ebrsip\u00ebr t\u00eb flas p\u00ebr djemt\u00eb e O.E.), megjithat\u00eb ka pasur disa situata qesharake gjat\u00eb bashk\u00ebpunimit.<\/p>\n<p><\/p>\n<p>I pari dukej k\u00ebshtu: komandat q\u00eb k\u00ebrkonin t\u00eb nxirrnin nj\u00eb sasi t\u00eb madhe t\u00eb dh\u00ebnash n\u00eb konsol\u00ebn e instanc\u00ebs, kur lidhen me SSH, thjesht \"ngarkonin\" lidhjen, nd\u00ebrsa p\u00ebrmes VNC gjith\u00e7ka funksiononte si\u00e7 duhet.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/02bc97d63a1299e1dda08fce0f10fb97.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u00ebr ata q\u00eb nuk jan\u00eb t\u00eb njohur me problemin, kjo duket mjaft qesharake: ls \/root punon pa probleme, nd\u00ebrsa, p\u00ebr shembull, top \"ngarkon\" krejt\u00ebsisht. Fatmir\u00ebsisht, ne tashm\u00eb ishim p\u00ebrballur me probleme t\u00eb tilla. E zgjidh\u00ebm duke rregulluar MTU-n\u00eb n\u00eb rrug\u00ebn nga nodet e compute deri te ruter\u00ebt. P\u00ebr t'u th\u00ebn\u00eb t\u00eb v\u00ebrtet\u00ebn, kjo nuk ishte nj\u00eb problem p\u00ebr TF.<\/p>\n<p><\/p>\n<p>Problemi tjet\u00ebr na priste pas kthes\u00ebs. N\u00eb nj\u00eb \"moment t\u00eb mrekulluesh\u00ebm\", magia e routing-ut zhduku, k\u00ebshtu thjesht. TF ndaloi s\u00eb menaxhuari routing-un n\u00eb pajisjet.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/db2a75ffdf2940b2ca90f73835f7a321.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ne punonim me OpenStack nga niveli admin dhe m\u00eb pas kalonim n\u00eb nivelin e p\u00ebrdoruesit t\u00eb nevojsh\u00ebm. SDN, duket se \"kap\" skopin e p\u00ebrdoruesit me t\u00eb cilin kryhen veprimet. Problemi \u00ebsht\u00eb se ky llogari admini p\u00ebrdoret p\u00ebr t\u00eb lidhur TF dhe OpenStack. N\u00eb hapin e kalimit te p\u00ebrdoruesi, \"magjia\" zhdukej. E zgjidh\u00ebm duke hapur nj\u00eb llogari t\u00eb ve\u00e7ant\u00eb p\u00ebr t\u00eb punuar me sistemin. Kjo e b\u00ebri t\u00eb mundur punimin pa prishur funksionalitetin e integrimit.<\/p>\n<p><\/p>\n<h3 id=\"silikonovye-formy-zhizni--openstack\">Forma t\u00eb jet\u00ebs silikoni \u2014 OpenStack<\/h3>\n<p><\/p>\n<p><em>Nj\u00eb krijes\u00eb silikoni me forma t\u00eb \u00e7uditshme jeton pran\u00eb fushave t\u00eb tungstenit. Ajo m\u00eb shum\u00eb i ngjan nj\u00eb f\u00ebmije mbi t\u00eb rritur, i cili me nj\u00eb goditje mund t\u00eb na shkel\u00eb, por nuk shfaq agresion t\u00eb qart\u00eb. Nuk ngjall frik\u00eb, por p\u00ebrmasat e saj japin nj\u00eb ndjenj\u00eb shqet\u00ebsimi. Po ashtu, edhe kompleksiteti i asaj q\u00eb ndodh p\u00ebrreth.<\/em><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/8622d43e0cb963bc9ef2a2ce59a32499.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>OpenStack \u00ebsht\u00eb thelbi i platform\u00ebs son\u00eb.<\/p>\n<p><\/p>\n<p>OpenStack ka disa n\u00ebn-sisteme, nga t\u00eb cilat deri tani kemi p\u00ebrdorur m\u00eb aktivisht Nova, Glance dhe Cinder. \u00c7do nj\u00ebra ka API-n\u00eb e vet. Nova \u00ebsht\u00eb p\u00ebrgjegj\u00ebse p\u00ebr burimet compute dhe krijimin e instancave, Cinder p\u00ebr menaxhimin e volume-ve dhe snapshot-eve t\u00eb tyre, Glance \u00ebsht\u00eb sh\u00ebrbimi i imazhit q\u00eb menaxhon shabllonet e OS-s\u00eb dhe metainformacionin mbi to.<\/p>\n<p><\/p>\n<p>\u00c7do sh\u00ebrbim starton n\u00eb nj\u00eb konteiner, nd\u00ebrsa \"t\u00eb bardhi\" \u00ebsht\u00eb brokeri i mesazheve \u2014 RabbitMQ.<\/p>\n<p><\/p>\n<p>Ky sistem na ka sjell\u00eb m\u00eb shum\u00eb shqet\u00ebsime t\u00eb papritura.<\/p>\n<p><\/p>\n<p>Problemi i par\u00eb nuk vonoi shum\u00eb, kur p\u00ebrpiqeshim t\u00eb lidhim nj\u00eb volum shtes\u00eb me serverin. API Cinder refuzonte kategorikisht t\u00eb kryente k\u00ebt\u00eb detyr\u00eb. M\u00eb sakt\u00eb, n\u00ebse i besojm\u00eb OpenStack-it, lidhja vendoset, por brenda serverit virtual, disku mungon.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/b4755d893f3f8ad7d7aeab3af69f35cf.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ne vendos\u00ebm t\u00eb \"anashkalojm\u00eb\" k\u00ebt\u00eb problem dhe k\u00ebrkuam t\u00eb nj\u00ebjtin veprim nga API Nova. Rezultati \u2013 pajisja lidhet si\u00e7 duhet dhe \u00ebsht\u00eb e disponueshme brenda serverit. Duket se problemi ndodh kur ruajtja e bllokut nuk i p\u00ebrgjigjet Cinder-it.<\/p>\n<p><\/p>\n<p>Nj\u00eb v\u00ebshtir\u00ebsi tjet\u00ebr na priste gjat\u00eb pun\u00ebs me disqet. Volumi sistemor nuk mund t\u00eb shk\u00ebputej nga serveri.<\/p>\n<p><\/p>\n<p>S\u00ebrish, vet\u00eb OpenStack \"premton\" se lidhja \u00ebsht\u00eb shkat\u00ebrruar dhe tani mund t\u00eb punojm\u00eb si\u00e7 duhet me volumet ve\u00e7mas. Por API refuzonte kategorikisht t\u00eb kryente operacione mbi disk. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/952fd7cd11181605c52a7df71cd4f69f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>K\u00ebtu ne vendos\u00ebm t\u00eb mos luftojm\u00eb shum\u00eb dhe t\u00eb ndryshojm\u00eb qasjen mbi logjik\u00ebn e funksionimit t\u00eb sh\u00ebrbimit. N\u00ebse ekziston nj\u00eb instance, duhet t\u00eb ket\u00eb edhe nj\u00eb volum sistemor. Prandaj, p\u00ebrdoruesi p\u00ebr momentin nuk mund t\u00eb fshij\u00eb ose heq\u00eb qafe \"diskun\" sistemor pa fshir\u00eb \"serverin\".<\/p>\n<p><\/p>\n<p>OpenStack \u00ebsht\u00eb nj\u00eb kompleks mjaft i nd\u00ebrlikuar sistemesh me logjik\u00ebn e vet t\u00eb nd\u00ebrveprimit dhe nj\u00eb API t\u00eb komplikuar. Na ndihmon dokumentacioni mjaft i detajuar dhe, natyrisht, metoda e provave dhe gabimeve (ku do pa t\u00eb).<\/p>\n<p><\/p>\n<h3 id=\"testovyy-zapusk\">Testimi fillestar<\/h3>\n<p><\/p>\n<p>Testimi fillestar u zhvillua n\u00eb dhjetor t\u00eb vitit t\u00eb kaluar. Objektivi kryesor ishte t\u00eb verifikohej n\u00eb m\u00ebnyr\u00eb praktike projekti yn\u00eb nga ana teknike dhe nga perspektiva e UX. Audienca u ftuar n\u00eb m\u00ebnyr\u00eb selektive dhe testi ishte i mbyllur. Megjithat\u00eb, ne gjithashtu lan\u00eb mund\u00ebsin\u00eb p\u00ebr t\u00eb k\u00ebrkuar akses n\u00eb testim n\u00eb faqen ton\u00eb.<\/p>\n<p><\/p>\n<p>Sigurisht, testi nuk kaloi pa momente kurioze, sepse k\u00ebtu aventurat tona sapo kan\u00eb filluar. <\/p>\n<p><\/p>\n<p>S\u00eb pari, ne vler\u00ebsuam disi paqart\u00eb interesin p\u00ebr projektin dhe na u desh t\u00eb shtonim node compute pik\u00ebrisht gjat\u00eb testit. Nj\u00eb rast i zakonsh\u00ebm p\u00ebr nj\u00eb grup, megjithat\u00eb dhe k\u00ebtu pati nuanca. N\u00eb dokumentacionin p\u00ebr versionin p\u00ebrkat\u00ebs t\u00eb TF, ishte e specifikuar nj\u00eb version i caktuar i b\u00ebrtham\u00ebs, mbi t\u00eb cilin ishte testuar funksionimi me vRouter. Ne vendos\u00ebm t\u00eb nisim node me b\u00ebrthama m\u00eb t\u00eb reja. Si pasoj\u00eb \u2013 TF nuk mori rute nga node. Na duhej t\u00eb riktheheshim urgjentisht n\u00eb b\u00ebrthamat m\u00eb t\u00eb vjetra.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/377208246d5e396317fb934a35ed1227.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nj\u00eb moment tjet\u00ebr kurioz lidhet me funksionalitetin e butonit \"ndrysho fjal\u00ebkalimin\" n\u00eb panelin personal. <\/p>\n<p><\/p>\n<p>Vendos\u00ebm t\u00eb p\u00ebrdorim JWT p\u00ebr t\u00eb organizuar qasjen n\u00eb llogarin\u00eb personale, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb mos punojm\u00eb me seancat. Duke qen\u00eb se sistemet jan\u00eb t\u00eb p\u00ebrhapura dhe t\u00eb ndryshme, ne menaxhojm\u00eb tokenin ton\u00eb, n\u00eb t\u00eb cilin 'mb\u00ebshtesim' sesionet nga faturimi dhe tokenin nga OpenStack. Kur ndryshohet fjal\u00ebkalimi, tokeni, natyrisht, 'skadon', pasi t\u00eb dh\u00ebnat e p\u00ebrdoruesit nuk jan\u00eb m\u00eb t\u00eb vlefshme dhe ai duhet t\u00eb rilidhet. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/daa27256d0b888b2c59d4bc6129f600d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Na iku ky moment nga v\u00ebshtrimi, dhe burimet p\u00ebr t\u00eb shkruar k\u00ebt\u00eb pjes\u00eb shpejt thjesht na mungonin. Na duhej t\u00eb hiqnim funksionalitetin para lan\u00e7imit n\u00eb prov\u00eb.<br \/>\nAktualisht, ne kryejm\u00eb logout t\u00eb p\u00ebrdoruesit n\u00ebse \u00ebsht\u00eb ndryshuar fjal\u00ebkalimi.<\/p>\n<p><\/p>\n<p>Pavar\u00ebsisht k\u00ebtyre nuancave, testi kaloi mir\u00eb. Gjat\u00eb disa jav\u00ebve, rreth 300 persona na vizituan. Na u dha mund\u00ebsia t\u00eb shihnim produktin nga syt\u00eb e p\u00ebrdoruesve, ta testonim n\u00eb terren dhe t\u00eb grumbullojm\u00eb feedback cil\u00ebsor. <\/p>\n<p><\/p>\n<h3 id=\"prodolzhenie-sleduet\">Vazhdon<\/h3>\n<p><\/p>\n<p>P\u00ebr shum\u00eb nga ne, ky \u00ebsht\u00eb projekti i par\u00eb i k\u00ebtij \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430. Ne nxorr\u00ebm disa m\u00ebsime t\u00eb \u00e7muara p\u00ebr m\u00ebnyr\u00ebn se si t\u00eb punojm\u00eb n\u00eb ekip, t\u00eb marrim vendime arkitekturore dhe dizajnuese. Si t\u00eb integrojm\u00eb sisteme t\u00eb komplikuara me resurse t\u00eb pakta dhe t'i lan\u00e7ojm\u00eb ato n\u00eb prodhim. <\/p>\n<p><\/p>\n<p>Natyrisht, ka ende p\u00ebr t\u00eb punuar n\u00eb kod dhe n\u00eb lidhjet nd\u00ebrkomb\u00ebtare t\u00eb sistemeve. Projekti \u00ebsht\u00eb mjaft i ri, por ne jemi plot ambicie p\u00ebr ta rritur n\u00eb nj\u00eb sh\u00ebrbim t\u00eb besuesh\u00ebm dhe t\u00eb p\u00ebrdorsh\u00ebm.<\/p>\n<p><\/p>\n<p>Sistemat e kemi arritur t'i bindim. Billi po punon me p\u00ebrllogaritjet, faturat dhe k\u00ebrkesat e p\u00ebrdoruesve n\u00eb dhom\u00ebn e tij. \"Magjia\" e fushave t\u00eb tungstenit na ofron nj\u00eb lidhje t\u00eb q\u00ebndrueshme. Dhe vet\u00ebm OpenStack ndonj\u00ebher\u00eb b\u00ebn kapri\u00e7io, duke th\u00ebn\u00eb di\u00e7ka si \"WSREP nuk e ka p\u00ebrgatitur akoma nodin p\u00ebr p\u00ebrdorim nga aplikacioni\". Por kjo \u00ebsht\u00eb nj\u00eb histori krejt tjet\u00ebr...<\/p>\n<p><\/p>\n<p>Pak koh\u00eb m\u00eb par\u00eb ne lan\u00e7uam sh\u00ebrbimin.<br \/>\nT\u00eb gjitha detajet mund t'i m\u00ebsoni n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/clo.ru?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=product&amp;utm_term=first_clo\">website<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Historia e krijimit t\u00eb sh\u00ebrbimit n\u00eb cloud, e p\u00ebrzier me cyberpunk\" src=\"\/wp-content\/uploads\/2020\/04\/32550980b529a5d7b395b3962218e53e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Ekipi i zhvillimit CLO<\/em><\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">Useful links<\/b><\/p>\n<p><strong>steal time<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.openstack.org\/nova\/latest\/\">https:\/\/docs.openstack.org\/nova\/latest\/<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.openstack.org\/keystone\/latest\/\">https:\/\/docs.openstack.org\/keystone\/latest\/<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.openstack.org\/cinder\/latest\/\">https:\/\/docs.openstack.org\/cinder\/latest\/<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.openstack.org\/glance\/latest\/\">https:\/\/docs.openstack.org\/glance\/latest\/<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Tungsten Fabric<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/docs.tungsten.io\/en\/latest\/user\/getting-started\/index.html\">http:\/\/docs.tungsten.io\/en\/latest\/user\/getting-started\/index.html<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.juniper.net\/documentation\/en_US\/contrail-cloud10.0\/topics\/concept\/contrail-cloud-openstack-integration-overview.html\">https:\/\/www.juniper.net\/documentation\/en_US\/contrail-cloud10.0\/topics\/concept\/contrail-cloud-openstack-integration-overview.html<\/a><\/noindex><\/li>\n<\/ul>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/first\/blog\/493606\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421 \u0440\u043e\u0441\u0442\u043e\u043c \u0441\u0442\u0430\u0436\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 IT \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0448\u044c \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u044c, \u0447\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440. \u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043a\u043b\u0430\u0434\u0438\u0441\u0442\u044b\u043c\u0438, \u043c\u043e\u043b\u0447\u0430\u043b\u0438\u0432\u044b\u043c\u0438, \u0432\u0437\u0431\u0430\u043b\u043c\u043e\u0448\u043d\u044b\u043c\u0438, \u0441\u0443\u0440\u043e\u0432\u044b\u043c\u0438. \u041c\u043e\u0433\u0443\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c \u043a \u0441\u0435\u0431\u0435 \u0438\u043b\u0438 \u043e\u0442\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c. \u0422\u0430\u043a \u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u00ab\u0434\u043e\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u0442\u044c\u0441\u044f\u00bb \u0441 \u043d\u0438\u043c\u0438, \u043b\u0430\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u00ab\u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u043c\u0438 \u043a\u0430\u043c\u043d\u044f\u043c\u0438\u00bb \u0438 \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u0438\u0445 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u0412\u043e\u0442 \u0438 \u043d\u0430\u043c \u0432\u044b\u043f\u0430\u043b\u0430 \u0447\u0435\u0441\u0442\u044c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u00ab\u0443\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u00bb [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":79154,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-79153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421 \u0440\u043e\u0441\u0442\u043e\u043c \u0441\u0442\u0430\u0436\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/istoriya-sozdaniya-oblachnogo-servisa-pripravlennaya-kiberpankom\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430, \u043f\u0440\u0438\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u043a\u0438\u0431\u0435\u0440\u043f\u0430\u043d\u043a\u043e\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421 \u0440\u043e\u0441\u0442\u043e\u043c \u0441\u0442\u0430\u0436\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/istoriya-sozdaniya-oblachnogo-servisa-pripravlennaya-kiberpankom\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-24T17:42:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-24T17:42:43+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Historia e krijimit t\u00eb sh\u00ebrbimit cloud, e p\u00ebrzier\u00eb me cyberpunk | ProHoster","description":"Me rritjen e p\u00ebrvoj\u00ebs.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/istoriya-sozdaniya-oblachnogo-servisa-pripravlennaya-kiberpankom","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430, \u043f\u0440\u0438\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u043a\u0438\u0431\u0435\u0440\u043f\u0430\u043d\u043a\u043e\u043c | ProHoster","og:description":"\u0421 \u0440\u043e\u0441\u0442\u043e\u043c \u0441\u0442\u0430\u0436\u0430.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/istoriya-sozdaniya-oblachnogo-servisa-pripravlennaya-kiberpankom","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-24T17:42:43+00:00","article:modified_time":"2020-04-24T17:42:43+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"79153","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:43:24","updated":"2022-10-02 03:25:48","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/79153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=79153"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/79153\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/79154"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=79153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=79153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=79153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}