{"id":36207,"date":"2019-10-31T22:10:17","date_gmt":"2019-10-31T19:10:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\/"},"modified":"2019-10-31T22:10:17","modified_gmt":"2019-10-31T19:10:17","slug":"ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","title":{"rendered":"ISPsystem, przepraszam i \u017cegnaj! Dlaczego i jak stworzyli\u015bmy nasz\u0105 panel zarz\u0105dzania serwerami","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ISPsystem, przepraszam i \u017cegnaj! Dlaczego i jak stworzyli\u015bmy nasz\u0105 panel zarz\u0105dzania serwerami\" src=\"\/wp-content\/uploads\/2019\/07\/512df00a9ec2d8ff8e3586dd57702924.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCze\u015b\u0107! Jeste\u015bmy \u00abHosting Technologie\u00bb i 5 lat temu uruchomili\u015bmy <noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/?partner=habr1\">VDSina<\/a><\/noindex> \u2014 pierwszy hosting vds stworzony specjalnie dla programist\u00f3w. Staramy si\u0119, aby by\u0142 tak wygodny jak DigitalOcean, ale z rosyjskim wsparciem, metodami p\u0142atno\u015bci i serwerami w Rosji. Ale DigitalOcean to nie tylko niezawodno\u015b\u0107 i cena, to tak\u017ce serwis.<\/p>\n<p>Oprogramowanie od ISPsystem okaza\u0142o si\u0119 by\u0107 lin\u0105, kt\u00f3ra kr\u0119powa\u0142a nasze r\u0119ce w drodze do \u015bwietnej obs\u0142ugi. Trzy lata temu korzystali\u015bmy z systemu billingowego Billmanager i panelu zarz\u0105dzania serwerami VMmanager i szybko zrozumieli\u015bmy, \u017ce \u015bwiadczenie dobrego serwisu bez w\u0142asnego panelu jest praktycznie niemo\u017cliwe. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Jak ISPsystem psu\u0142 wygod\u0119<\/h2>\n<p>\n<b>B\u0142\u0119dy<\/b><\/p>\n<p>Nie mogli\u015bmy sami naprawi\u0107 b\u0142\u0119du \u2014 za ka\u017cdym razem musieli\u015bmy pisa\u0107 do obcej pomocy technicznej i czeka\u0107. Rozwi\u0105zanie jakiegokolwiek problemu wymaga\u0142o reakcji zewn\u0119trznej firmy. <\/p>\n<p>Wsparcie ISPsystem odpowiada\u0142o normalnie, ale poprawki przychodzi\u0142y tylko w kolejnych wydaniach, i to nie zawsze i nie wszystkie. Czasami krytyczne b\u0142\u0119dy by\u0142y naprawiane przez kilka tygodni. Musieli\u015bmy uspokaja\u0107 klient\u00f3w, przeprasza\u0107 i czeka\u0107, a\u017c ISPsystem naprawi b\u0142\u0105d.<\/p>\n<p><b>Zagro\u017cenie przestojami<\/b><\/p>\n<p>Aktualizacje mog\u0142y powodowa\u0107 nieprzewidywalne przestoje, kt\u00f3re prowokowa\u0142y nowe b\u0142\u0119dy. <\/p>\n<p>Ka\u017cda aktualizacja by\u0142a jak gra losowa: musieli\u015bmy zakrywa\u0107 billing i sk\u0142ada\u0107 ofiary bogom aktualizacji \u2014 kilka razy aktualizacja powodowa\u0142a przest\u00f3j na minut\u0119 10-15. W tym czasie nasi administratorzy siedzieli w niepewno\u015bci \u2014 nigdy nie wiedzieli\u015bmy, jak d\u0142ugo potrwa przest\u00f3j i nie mogli\u015bmy prognozowa\u0107, kiedy ISPsystem zdecyduje si\u0119 wyda\u0107 now\u0105 aktualizacj\u0119. <\/p>\n<p>W pi\u0105tej generacji Billmanager sta\u0142o si\u0119 lepiej, ale aby uzyska\u0107 dost\u0119p do potrzebnych funkcji musieli\u015bmy zainstalowa\u0107 wersj\u0119 beta, kt\u00f3ra aktualizowa\u0142a si\u0119 co tydzie\u0144. Je\u015bli co\u015b si\u0119 psu\u0142o, musieli\u015bmy da\u0107 dost\u0119p obcym programistom, aby naprawili to, co si\u0119 zepsu\u0142o. <\/p>\n<p><b>Niewygodny interfejs panelu<\/b><\/p>\n<p>Wszystko by\u0142o podzielone na r\u00f3\u017cne panele i zarz\u0105dzane z r\u00f3\u017cnych miejsc. Na przyk\u0142ad, klienci p\u0142acili przez Billmanager, a ponowne uruchomienie lub reinstalacja VDS musia\u0142a odby\u0107 si\u0119 w VMManager. Nasi pracownicy r\u00f3wnie\u017c musieli prze\u0142\u0105cza\u0107 si\u0119 mi\u0119dzy oknami, aby pom\u00f3c klientowi, sprawdzi\u0107 obci\u0105\u017cenie jego serwera lub zobaczy\u0107, jaki system operacyjny u\u017cywa.<\/p>\n<p>Taki interfejs zabiera czas \u2014 zar\u00f3wno nasz, jak i klient\u00f3w. O wygodzie, jak w DigitalOcean, w takiej sytuacji nie mo\u017ce by\u0107 mowy. <\/p>\n<p><b>Kr\u00f3tkie cykle \u017cycia z cz\u0119stymi aktualizacjami API<\/b><\/p>\n<p>Stworzyli\u015bmy w\u0142asne wtyczki \u2013 na przyk\u0142ad wtyczk\u0119 z dodatkowymi metodami p\u0142atno\u015bci, kt\u00f3rych brakuje w VMManager.<\/p>\n<p>W ostatnich latach VMManager mia\u0142 stosunkowo kr\u00f3tki cykl \u017cycia, a w nowych wersjach nazwy zmiennych lub funkcji w API mog\u0142y si\u0119 losowo zmienia\u0107 \u2013 to \u0142ama\u0142o nasze wtyczki. Wsparcie dla starych wersji szybko by\u0142o wycofywane, co zmusza\u0142o nas do aktualizacji.<\/p>\n<p><b>Nie mo\u017cna modyfikowa\u0107<\/b><\/p>\n<p>W\u0142a\u015bciwie mo\u017cna, ale to niezwykle nieefektywne. Ograniczenia licencyjne nie pozwalaj\u0105 na wprowadzanie zmian w kodzie \u017ar\u00f3d\u0142owym, mo\u017cna jedynie pisa\u0107 wtyczki. Maksimum wtyczek \u2013 to jakie\u015b elementy menu, kreator krok po kroku. ISPsystem jest zaprojektowany do uniwersalno\u015bci, a my potrzebowali\u015bmy specjalistycznych rozwi\u0105za\u0144.<\/p>\n<p>Tak zapad\u0142a decyzja, aby napisa\u0107 w\u0142asny panel. Ustawili\u015bmy cele:<\/p>\n<ul>\n<li>Szybko reagowa\u0107 na b\u0142\u0119dy, usterki i mie\u0107 mo\u017cliwo\u015b\u0107 ich samodzielnego usuwania, nie zmuszaj\u0105c klienta do czekania.<\/li>\n<li>Swobodnie modyfikowa\u0107 interfejs dostosowany do proces\u00f3w roboczych i potrzeb klienta.<\/li>\n<li>Zwi\u0119kszy\u0107 u\u017cyteczno\u015b\u0107 dzi\u0119ki czystemu i zrozumia\u0142emu designowi.<\/li>\n<\/ul>\n<p>\nI rozpocz\u0119li\u015bmy rozw\u00f3j.<\/p>\n<h2>Architektura nowego panelu<\/h2>\n<p>\nMamy samowystarczaj\u0105cy zesp\u00f3\u0142 programist\u00f3w, wi\u0119c panel napisali\u015bmy sami. <br \/>\nG\u0142\u00f3wn\u0105 prac\u0119 wykona\u0142o trzech in\u017cynier\u00f3w \u2013 dyrektor techniczny Sergey wymy\u015bli\u0142 architektur\u0119 i napisa\u0142 agenta serwerowego, Alexey zrobi\u0142 billing, a frontend zbudowa\u0142 nasz frontendowiec Artysh. <\/p>\n<h3>Krok 1. Agent serwerowy<\/h3>\n<p>Agent serwerowy to serwer WWW oparty na Pythonie, kt\u00f3ry zarz\u0105dza bibliotek\u0105 <noindex><a rel=\"nofollow\" href=\"https:\/\/libvirt.org\/\">libvirt<\/a><\/noindex>, kt\u00f3ra z kolei zarz\u0105dza <noindex><a rel=\"nofollow\" href=\"https:\/\/www.qemu.org\/\">hiperwizorem Qemu-kvm<\/a><\/noindex>. <\/p>\n<p>Agent zarz\u0105dza wszystkimi us\u0142ugami na serwerze: tworzenie, zatrzymywanie, usuwanie vds, instalacja system\u00f3w operacyjnych, zmiana parametr\u00f3w itd. za po\u015brednictwem biblioteki libvirt. W momencie publikacji artyku\u0142u jest to ponad czterdzie\u015bci r\u00f3\u017cnych funkcji, kt\u00f3re dopasowujemy w zale\u017cno\u015bci od zada\u0144 i potrzeb klienta.<\/p>\n<p>Teoretycznie libvirt mo\u017cna by\u0142o zarz\u0105dza\u0107 bezpo\u015brednio z billingiem, ale to wymaga\u0142o zbyt wielu dodatkowych kod\u00f3w, dlatego postanowili\u015bmy rozdzieli\u0107 te funkcje pomi\u0119dzy agentem a billingiem \u2013 billing po prostu wysy\u0142a \u017c\u0105dania do agenta przez JSON API.<\/p>\n<p>Agent to pierwsze, co zrobili\u015bmy, poniewa\u017c nie wymaga\u0142 \u017cadnego interfejsu i mo\u017cna go by\u0142o testowa\u0107 bezpo\u015brednio z konsoli serwera. <\/p>\n<p><b>Co da\u0142 nam agent serwerowy:<\/b> Pojawi\u0142a si\u0119 warstwa, kt\u00f3ra u\u0142atwia \u017cycie wszystkim \u2014 billing nie musi przekazywa\u0107 setek komend, a jedynie wys\u0142a\u0107 zapytanie. A agent zrobi wszystko, co nale\u017cy: na przyk\u0142ad przydzieli miejsce na dysku i pami\u0119\u0107 operacyjn\u0105. <\/p>\n<h3>Krok 2. Billing<\/h3>\n<p>\nDla naszego dewelopera Alexa to nie by\u0142a pierwsza panel zarz\u0105dzania \u2014 Alex jest w hosting od dawna, wi\u0119c w zasadzie rozumia\u0142, co jest potrzebne klientowi, a co dostawcy.<\/p>\n<p>Billing nazywamy mi\u0119dzy sob\u0105 \u00abpanelem zarz\u0105dzania\u00bb: zawiera nie tylko pieni\u0105dze i us\u0142ugi, ale tak\u017ce zarz\u0105dzanie nimi, wsparcie klient\u00f3w i wiele wi\u0119cej.<\/p>\n<p>Aby przej\u015b\u0107 z oprogramowania ISPSystem, nale\u017ca\u0142o w pe\u0142ni zachowa\u0107 poprzedni\u0105 funkcjonalno\u015b\u0107 klient\u00f3w, przenie\u015b\u0107 wszystkie finansowe dzia\u0142ania u\u017cytkownik\u00f3w z starego systemu billingowego do nowego, a tak\u017ce wszystkie us\u0142ugi i powi\u0105zania mi\u0119dzy nimi. Zbadali\u015bmy, co jest w obecnym produkcie, p\u00f3\u017aniej rozwi\u0105zania konkurencji, g\u0142\u00f3wnie DO i Vultr. Przyjrzeli\u015bmy si\u0119 wadom i zaletom, zebrali\u015bmy opinie ludzi, kt\u00f3rzy pracowali z starymi produktami od ISPsystem. <\/p>\n<p>W nowym billing u\u017cyto dw\u00f3ch stos\u00f3w: klasyczny PHP, MySQL (a w przysz\u0142o\u015bci planujemy przej\u015b\u0107 na PostgreSQL), Yii2 jako frameworka na backendzie oraz VueJS na frontendzie. Stosy pracuj\u0105 niezale\u017cnie od siebie, s\u0105 rozwijane przez r\u00f3\u017cnych ludzi, a komunikuj\u0105 si\u0119 za pomoc\u0105 JSON API. Do rozwoju wtedy i dzisiaj u\u017cywamy <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jetbrains.com\/phpstorm\/\">PHPStorm<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jetbrains.com\/webstorm\/\">WebStorm<\/a><\/noindex> od JetBrains i szczerze je kochamy (hej, ch\u0142opaki!)<\/p>\n<p>Panel zaprojektowano w spos\u00f3b modu\u0142owy: modu\u0142y system\u00f3w p\u0142atno\u015bci, modu\u0142 rejestrator\u00f3w domen lub na przyk\u0142ad modu\u0142 certyfikat\u00f3w SSL. Mo\u017cna \u0142atwo doda\u0107 now\u0105 funkcj\u0119 lub usun\u0105\u0107 star\u0105. Architektura uwzgl\u0119dnia mo\u017cliwo\u015b\u0107 rozszerzenia, w tym w stron\u0119 \u00abhardware\u00bb.<br \/>\n<img decoding=\"async\" alt=\"ISPsystem, przepraszam i \u017cegnaj! Dlaczego i jak stworzyli\u015bmy nasz\u0105 panel zarz\u0105dzania serwerami\" src=\"\/wp-content\/uploads\/2019\/07\/8f4b1bf9c16cc73023cacdde44cae0b3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>Co otrzymali\u015bmy<\/b>: panel zarz\u0105dzania, nad kt\u00f3rym mamy pe\u0142n\u0105 kontrol\u0119. Teraz b\u0142\u0119dy s\u0105 naprawiane w ci\u0105gu godzin, a nie tygodni, a nowe funkcje wdra\u017cane s\u0105 na pro\u015bb\u0119 klient\u00f3w, a nie z inicjatywy ISPSystem.<\/p>\n<h3>Krok 3. Interfejs<\/h3>\n<p>\n<img decoding=\"async\" alt=\"ISPsystem, przepraszam i \u017cegnaj! Dlaczego i jak stworzyli\u015bmy nasz\u0105 panel zarz\u0105dzania serwerami\" src=\"\/wp-content\/uploads\/2019\/07\/48be006688e2246f9a416d2d6a717a82.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nInterfejs \u2014 nasze wsp\u00f3lne dzie\u0142o. <\/p>\n<p>Najpierw zastanawiali\u015bmy si\u0119, co si\u0119 stanie, je\u015bli zrobimy nadbudow\u0119 nad API ISPsystem, nic radykalnie nie zmieniaj\u0105c w interfejsie. Wysz\u0142o \u015brednio i postanowili\u015bmy wszystko zrobi\u0107 od zera.<\/p>\n<p>Wierzyli\u015bmy, \u017ce najwa\u017cniejsze jest stworzenie logicznego interfejsu z czystym i minimalistycznym designem, co pozwoli uzyska\u0107 \u0142adny panel. Rozmieszczenie element\u00f3w omawiali\u015bmy w Megaplanie i stopniowo powsta\u0142 ten interfejs, kt\u00f3ry u\u017cytkownicy widz\u0105 teraz w panelu sterowania. <\/p>\n<p>Jako pierwszy powsta\u0142 projekt strony rozliczeniowej, poniewa\u017c ju\u017c wcze\u015bniej tworzyli\u015bmy wtyczki p\u0142atno\u015bci dla ISPsystem. <\/p>\n<p><b>Frontend<\/b><\/p>\n<p>Panel postanowiono stworzy\u0107 jako aplikacj\u0119 SPA \u2014 niewymagaj\u0105c\u0105 zasob\u00f3w i z szybkim \u0142adowaniem danych. Nasz frontendowiec Artysz zdecydowa\u0142 si\u0119 napisa\u0107 go w Vue \u2014 w tamtym czasie Vue w\u0142a\u015bnie si\u0119 pojawi\u0142. Za\u0142o\u017cyli\u015bmy, \u017ce framework b\u0119dzie si\u0119 dynamicznie rozwija\u0142, tak jak React, \u017ce spo\u015br\u00f3d spo\u0142eczno\u015bci Vue wkr\u00f3tce powstanie wiele bibliotek. Postawili\u015bmy na Vue i nie \u017ca\u0142owali\u015bmy \u2014 teraz dodanie nowych funkcji na frontalnej cz\u0119\u015bci, kt\u00f3re ju\u017c zaprogramowano po stronie backendu, zajmuje ma\u0142o czasu. Szczeg\u00f3\u0142y dotycz\u0105ce frontendu panelu przedstawimy w osobnym artykule.<\/p>\n<p><b>Po\u0142\u0105czenie frontendu z backendem<\/b><\/p>\n<p>Frontend po\u0142\u0105czono z backendem za pomoc\u0105 push. Musieli\u015bmy si\u0119 wysili\u0107 i napisa\u0107 w\u0142asny handler, ale teraz aktualizacja informacji na stronie odbywa si\u0119 prawie natychmiastowo.<\/p>\n<p><b>Co uzyskali\u015bmy:<\/b> Interfejs panelu sta\u0142 si\u0119 prostszy. Uczynili\u015bmy go responsywnym, a szybkie \u0142adowanie pozwala korzysta\u0107 z niego nawet z urz\u0105dze\u0144 mobilnych w ostatnich minutach przed startem, bez konieczno\u015bci instalowania oddzielnej aplikacji do obs\u0142ugi panelu.<\/p>\n<h3>Krok 4. Testowanie i schemat migracji <\/h3>\n<p>\nKiedy wszystko ruszy\u0142o i przeszli\u015bmy pierwsze testy, pojawi\u0142o si\u0119 pytanie o migracj\u0119. Na pocz\u0105tku zainstalowali\u015bmy billing i zacz\u0119li\u015bmy testowa\u0107 jego wsp\u00f3\u0142prac\u0119 z agentem serwerowym.<\/p>\n<p>Nast\u0119pnie napisali\u015bmy prosty skrypt, kt\u00f3ry przenosi baz\u0119 danych ze starego systemu billingowego do nowego.<\/p>\n<p>Musieli\u015bmy testowa\u0107 i weryfikowa\u0107 dos\u0142ownie wszystko, poniewa\u017c dane by\u0142y \u0142\u0105czone w now\u0105 baz\u0119 z trzech starych: Billmanager, VMmanager i IPmanager. Chyba testowe migracje by\u0142y najtrudniejszym zadaniem, z kt\u00f3rym si\u0119 spotkali\u015bmy w trakcie tworzenia nowego panelu.<\/p>\n<p>Po weryfikacjach zamkn\u0119li\u015bmy stary billing. Finalna migracja danych by\u0142a bardzo stresuj\u0105cym momentem, ale, na szcz\u0119\u015bcie, odby\u0142a si\u0119 w kilka minut i bez zauwa\u017calnych problem\u00f3w. By\u0142y drobne b\u0142\u0119dy, kt\u00f3re naprawiali\u015bmy przez tydzie\u0144. Najwi\u0119cej czasu zaj\u0119\u0142o testowanie tego, co uda\u0142o si\u0119 osi\u0105gn\u0105\u0107.<\/p>\n<p>Nast\u0119pnie wys\u0142ali\u015bmy wiadomo\u015bci e-mail do klient\u00f3w z adresem nowego panelu i systemu billingowego oraz ustawili\u015bmy przekierowanie. <\/p>\n<p><b>W rezultacie:<\/b> <b>TO \u017bYJE!<\/b><\/p>\n<h2>Szcz\u0119\u015bliwe zako\u0144czenie<\/h2>\n<p>\nOd pierwszych godzin pracy naszego oprogramowania odczuli\u015bmy wszystkie korzy\u015bci p\u0142yn\u0105ce z migracji. Kod by\u0142 w pe\u0142ni nasz, z wygodn\u0105 architektur\u0105, a interfejs \u2014 czysty i logiczny.<br \/>\n<img decoding=\"async\" alt=\"ISPsystem, przepraszam i \u017cegnaj! Dlaczego i jak stworzyli\u015bmy nasz\u0105 panel zarz\u0105dzania serwerami\" src=\"\/wp-content\/uploads\/2019\/07\/c673e49afb4bf25c8922161a8bb927a2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Pierwsza opinia po uruchomieniu nowego panelu<\/i><\/p>\n<p>Rozpocz\u0119li\u015bmy proces migracji w grudniu, tu\u017c przed Nowym Rokiem 2017, \u043a\u043e\u0433\u0434\u0430 obci\u0105\u017cenie by\u0142o najmniejsze, aby u\u0142atwi\u0107 przej\u015bcie klientom \u2014 prawie nikt nie pracuje przed \u015bwi\u0119tami.<\/p>\n<p>Najwa\u017cniejsze, co zyskali\u015bmy przy przej\u015bciu na nasz system (opr\u00f3cz og\u00f3lnej niezawodno\u015bci i wygody) \u2014 mo\u017cliwo\u015b\u0107 szybkiego dodawania funkcjonalno\u015bci na potrzeby kluczowych klient\u00f3w \u2014 by\u0107 dla nich twarz\u0105, a nie ty\u0142em.<\/p>\n<h3>Co dalej?<\/h3>\n<p>\nRo\u015bniemy, ro\u015bnie liczba danych, klient\u00f3w i danych klient\u00f3w. Na backendzie pojawi\u0142 si\u0119 serwer Memcached oraz dw\u00f3ch mened\u017cer\u00f3w kolejek z r\u00f3\u017cnymi zadaniami. Na frontendzie mamy buforowanie i w\u0142asne kolejki. <\/p>\n<p>Oczywi\u015bcie, mieli\u015bmy te\u017c przygody podczas rozwoju i komplikacji produktu, na przyk\u0142ad, gdy dodawali\u015bmy HighLoad. <\/p>\n<p>W nast\u0119pnym artykule opowiemy, jak uruchomili\u015bmy taryf\u0119 Hi-CPU: o sprz\u0119cie, oprogramowaniu, jakie zadania realizowali\u015bmy i co nam si\u0119 uda\u0142o.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/460107\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u044b \u00ab\u0425\u043e\u0441\u0442\u0438\u043d\u0433 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438\u00bb \u0438 5 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 VDSina \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 vds \u0445\u043e\u0441\u0442\u0438\u043d\u0433, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041c\u044b \u0441\u0442\u0440\u0435\u043c\u0438\u043c\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0433\u043e \u0443\u0434\u043e\u0431\u043d\u044b\u043c, \u043a\u0430\u043a DigitalOcean, \u043d\u043e \u0441 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438 \u043e\u043f\u043b\u0430\u0442\u044b \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438. \u041d\u043e DigitalOcean \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0446\u0435\u043d\u0430, \u044d\u0442\u043e \u0435\u0449\u0435 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441. \u0421\u043e\u0444\u0442 \u043e\u0442 ISPsystem \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0432\u0435\u0440\u0435\u0432\u043a\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043b\u0430 \u043d\u0430\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36207","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.1.1 - aioseo.com -->\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\/pl\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\udd47ISPsystem, \u043f\u0440\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0449\u0430\u0439! \u041f\u043e\u0447\u0435\u043c\u0443 \u0438 \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0432\u043e\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\" \/>\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=\"2019-10-31T19:10:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:10:17+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\udd47ISPsystem, przepraszam i \u017cegnam! Dlaczego i jak stworzyli\u015bmy nasz panel zarz\u0105dzania serwerami | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\udd47ISPsystem, \u043f\u0440\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0449\u0430\u0439! \u041f\u043e\u0447\u0435\u043c\u0443 \u0438 \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0432\u043e\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 | ProHoster","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","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":"2019-10-31T19:10:17+00:00","article:modified_time":"2019-10-31T19:10:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36207","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":"2026-01-22 02:25:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:48:27","updated":"2026-01-22 02:25:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/36207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=36207"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/36207\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/27085"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=36207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=36207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=36207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}