[MyDevil.net] Niebo dla Webdewelopera
29.06.2012 | aktual.: 01.07.2012 19:57
Nikomu nie trzeba chyba mówić, że konkurencja w sieci jest ogromna. Chcąc wpasować się we współczesne realia, moim zdaniem nie wystarcza dobre pozycjonowanie, wypasiony graficznie layout, stosowanie bieżących technologii, takich jak html5 i css3, czy użytkowanie zewnętrznych API niezależnych dostawców usług.
W mojej opinii tak naprawdę, aby się wyróżnić, należy wzmagać interakcję z użytkownikiem oraz zadbać o unikalną funkcjonalność naszej witryny. W erze smartfonów i tabletów myślę, że o to nietrudno, bo można tworzyć dodatkowe aplikacje opierające się na usługach, jakie świadczy nasza witryna. Oczywiście jest to tylko jeden przykład, a mobilnych systemów operacyjnych jest coraz więcej.
Rozwiń skrzydła, pokaż rogi
W dobie takich cudeniek, jak Raspberry Pi, Arduino i różniastych modułów elektronicznych pod wszelkie dostępne interfejsy, może najść nas myśl, że trafionym pomysłem byłaby integracja naszego domowego laba z serwerem produkcyjnym. Mając umiarkowany ruch na stronie, możemy zechcieć przetestować skuteczność nowych możliwości naszych aplikacji pod względem ich powodzenia, prawda?
Technik na pomysłowe aplikacje wspierające nasze witryny jest wiele. Pytanie, jak to wszystko spiąć w całość? W jaki sposób, dysponując niewielkim budżetem i zapleczem kadrowym, rozwinąć skrzydła? I w końcu: czy decydując się na środowisko produkcyjne, musimy rezygnować z możliwości dostarczanych przez domowego laba?
Uważam, że wachlarz ofertowy większych dostawców często jest niedopasowany do potrzeb przeciętnego webdewelopera czy sektora MŚP. Najwięksi dostawcy częstokroć oferują zaledwie gołe konta na potrzeby współdzielonego hostingu wirtualnego bądź dostęp do VPS. Wobec powyższego zatem, w przypadku dzierżawy konta u dużego dostawcy, z perspektywy małej firmy czy niezamożnego webdewelopera, mamy do wyboru: armatę na muchę lub wodny pistolet na słonia.
Wertowałem wiele ofert i korzystałem już z wielu usług. Powiem jedno - dla mnie, po tylu latach, dopiero wybór konta shell w MyDevil.net był trafieniem w sedno. Jako powszedni użytkownik systemów z rodziny GNU/Linux długo zwlekałem z zakładaniem konta w MyDevil.net z powodu specyfiki platformy BSD. Teraz tego żałuję - moje obawy co do trudności czy komplikacji w obsłudze okazały się kompletnie nieuzasadnione. Poniżej możecie przeczytać namiastkę moich argumentów, które zdecydowały o moim wyborze.
Bez oversellingu
Nie ma nic gorszego niż dzierżawa kont z parametrami, które okazują się być reklamowym picem na wodę. Do oversellingu najczęściej dochodzi, gdy wybiera się ofertę (o zgrozo!) z aukcji. Dość, że częstokroć taki serwer tak naprawdę ma inne zadanie, to i jeszcze jego właściciel/dzierżawca VPS‑u chce na tym zarobić. No, efektów takiej współpracy można się spodziewać - częste „pady” i spadki wydajności to chleb powszedni w takich przypadkach. Oversellingu dopuszczają się nie tylko handlarze aukcyjni, ale także niektóre nawet duże firmy hostingowe.
MyDevil.net istnieje od 2008 roku, a doświadczenie administratorów sięga wielu lat wstecz. Przez ten cały czas administratorzy dbali i dbają o bezpieczeństwo, stabilność i rozwój oferowanych przez siebie usług, co widać choćby po ofercie w MyDevil.net. Moją uwagę przykuł nieograniczony transfer miesięczny dla każdego z kont, wpis o koszulkach i uptime'ie serwera. Zaraz po opłaceniu postanowiłem przekonać się na własnej skórze, czy przypadkiem nadwyżka parametrów tych kont nie jest marketingową ściemą. Uważam, że absolutnie nie jest.
Bezpieczny dostęp do usług
Bezpieczeństwo jest podstawą oferowanych kont shell w MyDevil. Świadczy o tym przykładny wachlarz wszelkiego rodzaju zabezpieczeń. Po pierwsze - dostajemy dostęp do różnych paneli po bezpiecznej, szyfrowanej transmisji https. Wśród tychże paneli znajdują się: webmail (Roundcube, Atmail, SOGo), dostęp do phpMyAdmin, phpPgAdmin oraz panel z naszymi statystykami. Poczta jest chroniona oprogramowaniem antywirusowym i szeregiem filtrów antyspamowych, w tym także graylistingiem.
Mało tego, nasza domyślna subdomena, która rozpoczyna się naszym loginem do konta w domenie mydevil.net, również jest w taki sposób zabezpieczona. Do szeregu zabezpieczeń należy również dodać niebagatelną kwestię - pełną izolację plików użytkowników. Taka izolacja daje nam pewność tego, że nawet jeśli z pewnych przyczyn będziemy musieli ustawić pełne uprawnienia dla jakiegoś pliku czy katalogu, to w efekcie i tak nikt spośród użytkowników nie będzie w stanie nawet odczytać pliku/folderu z takimi uprawnieniami.
Backup jest sporządzany codziennie w godzinach 1.00 - 3.00 na oddzielnym serwerze kopii danych. W tym przedziale czasowym zabezpieczane są bazy danych, folder /home oraz katalogi domowe na pozostałych serwerach, repozytoria, konta pocztowe itp. Ogólnie rzecz ujmując kopia bezpieczeństwa obejmuje praktycznie wszystkie usługi za wyjątkiem serwera torrentowego.
Dla wygody użytkowników są tworzone również snapshoty. Nie można ich traktować jako backupu gdyż nie są przechowywane na zewnętrznym serwerze. Takie zabezpieczenie przydaje się w wypadku gdy dojdziemy do wniosku, że z naszej winy dokonaliśmy fatalnej pomyłki na „żywym ciele”. Oczywiście snapshoty możemy sami przywracać bez uprawnień roota.
Dane (backup i snapshot) możemy przywrócić do stanu sprzed dwóch tygodni. Jest to okres gwarantowany, niemniej ze swoich obserwacji mogę potwierdzić, że okres ten jest zazwyczaj dłuższy na korzyść użytkownika.
Autorskie narzędzie Devil
Jak dotąd w środowisku produkcyjnym CPanel czy DirectAdmin uważałem za wygodne panele do zarządzania stronami. Wiersz poleceń jest dla mnie również wygodny i przystępny, jednak w żadnej z napotkanych ofert (wyłączając VPS) nie miałem tego szczęścia, by móc stawiać czy konfigurować witryny z pomocą wspomnianego wiersza. Rozłożyłem się kompletnie na łopatki po tym, jak zobaczyłem, co zrobili Panowie z MyDevil.
Otóż stworzono autorskie narzędzie devil. Jest ono dobrze przemyślane, gdyż po pierwsze - polecenia są bardzo krótkie. Po drugie - narzędzie to wspiera autouzupełnianie basha. Pięcioma poleceniami jesteśmy w stanie przygotować konto na naszą stronę. Nie mogę pominąć również faktu, że każde z kont w domyślnej konfiguracji ma dostęp do ogromu niezbędnych aplikacji. Zatem po niespełna kilku poleceniach wystarczy pobrać wget-em CMS, który chcemy postawić, rozpakować go, zainstalować i... cześć pracy.
Moim zdaniem panele takie jak CPanel czy DirectAdmin blado wyglądają w tym świetle. Zaiste - narzędzia te może są wspaniałe, a nawet idealne dla webmasterów. Niemniej uważam, że ceną za przystępność, jaką oferują CPanel czy DirectAdmin oraz tym podobne rozwiązania, jest nasz czas. Uważam zatem, że nie tylko webdeweloperzy powinni wziąć ten czynnik pod uwagę.
Autorskie narzędzie devil jest cały czas rozwijane za sprawą wdrażania coraz to nowych możliwości do kont shell w MyDevil.net. O planach związanych z narzędziem devil napisałem w akapicie z nagłówkiem „Devil Web UI”.
Szybki Nginx z obsługą .htaccess
Podstawą webserwera w MyDevil.net jest szybki Nginx. O jego zaletach nie będę się rozpisywał, gdyż w sieci krąży pełno testów wydajnościowych w zestawieniu Nginx/Apache/LightHTTPd. Devilowe wdrożenie Nginx w stosunku do konkurencji nie byłoby specjalnie zaskakującą implementacją, gdyby nie jeden istotny szczegół. Na chwilę obecną Nginx oficjalnie nie ma żadnego modułu czy wtyczki, która pozwalałby na konfigurację witryn plikiem .htaccess. W MyDevil.net mamy pełną obsługę .htaccess i - co ważne - na rozproszenie konfiguracji nie trzeba długo czekać.
Nginx w MyDevil.net pracuje w wysoko wydajnej konfiguracji za sprawą systemu plików ZFS. W tym przypadku pliki .htaccess niemal w całości odczytywane są z pamięci RAM, tylko niewielki odsetek odczytów pochodzi z dysku SSD. Jest to istotna informacja, ponieważ dzięki temu wydajność Nginxa zostaje zachowana mimo obsługi znanego z Apache .htaccess.
Bazy danych
Baza danych to kręgosłup każdej współczesnej witryny. W różnych ofertach wielu dostawców nie można się za bardzo spodziewać różnic ofertowych, które zazwyczaj ograniczają się do MySQL i phpMyAdmin. W ofercie MyDevil.net na tym polu mamy pełną swobodę. Otóż mamy dostęp do: MySQL, SQLite, PostgreSQL i MongoDB. Poza najczęściej wykorzystywanymi bazami istnieje dostęp do paneli, takich jak phpMyAdmin i phpPgAdmin.
Oczywiście nie ma żadnych przeciwwskazań aby instalować własne oprogramowanie bazodanowe. Do tego wymagane jest odpowiednie konto shell, o czym można przeczytać poniżej. Uwzględnić jednak należy techniczne możliwości konta oraz konieczność utrzymywania takiej bazy we własnym zakresie.
Uruchamianie własnego oprogramowania
Jak dotąd nie miałem potrzeby instalacji własnego oprogramowania, niemniej warto wiedzieć, że taka możliwość jak najbardziej istnieje dla kont IRC2 i wyższych po uprzednim kontakcie z administratorem. Zanim zainstalujemy własne oprogramowanie warto wpisać początkową frazę polecenia i wcisnąć dwukrotnie klawisz tab. Ja pykłem tab dwukrotnie na czysto i zostałem mile zaskoczony takim oto widokiem:
Uruchamianie aplikacji serwerowych
Możemy również uruchamiać aplikacje serwerowe, nasłuchujące na konkretnym porcie. Zanim jednak tego dokonamy należy zarezerwować sobie taki port, aby nikt inny z użytkowników nie miał do niego dostępu. Jeśli port jest już zarezerwowany, system odrzuci bindowanie.
Sieve
Jest skryptowym językiem do zarządzania korespondencją mailową. Uważam, że jest bardzo potężnym narzędziem, bo oferuje ono znacznie więcej w odróżnieniu od standardowych możliwości konta pocztowego, takich jak Catch-All czy systemu wiadomości urlopowych. Przykładowo za pomocą Sieve możemy określić wielkość załącznika w mailu, a wiadomości o niepożądanej wielkości możemy odrzucać. Oczywiście jest to tylko przykład; zainteresowanych odsyłam po więcej do wiki MyDevil.
Jabber z transportem gadu-gadu
Na kolejny duży plus moim zdaniem zasługuje obsługa XMPP wspieranego serwerem Prosody. Myślę, że na dzisiaj nie należy ignorować tego rodzaju protokołu, tym bardziej że za sprawą transportów mamy zwiększoną szansę na komunikację z konsumentem za pośrednictwem różnego rodzaju komunikatorów. Jako że korzystam od dłuższego czasu z tego rozwiązania, przyznam, że na dzisiaj należy się nieźle postarać, aby natrafić na stabilny serwer.
Przykładowo, korzystając z tej usługi dostarczanej w ramach Google Apps, natrafiamy na nieznośne ograniczenie - nikt spoza listy znajomych do nas nie napisze przed uprzednią autoryzacją z naszej strony. Pozostali oferenci utrzymują niechlubny trend. Niektórzy zrezygnowali z dostarczania bezpłatnej obsługi na rzecz pobierania dość wysokich opłat, reszta konkurencji zaś boryka się z utrzymaniem stabilności.
Nowości
Oczywiście Administratorzy MyDevil.net nie próżnują. Poza zabiegami związanymi z bezpieczeństwem i stabilnością naszych kont, prowadzona jest także lista TODO. Jako że już jakiś czas dzierżawię konto w MyDevil.net, mam ten przywilej, że mogę się pochwalić dwiema przykładowymi nowościami, które zostaną wdrożone za pewien czas.
Kaskadowe rozpraszanie konfiguracji php
Jest to nowość, którą sam zaproponowałem i Panowie z MyDevil pozytywnie przychylili się do jej wdrożenia. Otóż, zakładając, że zechcemy kilka różnych instalacji z systemami CMS w konfiguracji multisite, możemy natrafić na sporą niedogodność w konfigurowaniu każdej z witryn plikiem php.ini.
Czy przyjemnym byłoby ręczne nadpisywanie konfiguracji php dla każdej z podstron, zakładając, że główna instalacja naszego CMS będzie miała odrębne wymagania lub parametry dla pliku php.ini w stosunku do podstron w tym systemie? Do czasu, gdy mamy „luz” w takiej instalacji i nie mamy zbyt wielu stron - jest ok. Ale co w przypadku, gdy utworzymy np. 1000 takich podstron, a zmiana w konfiguracji okaże się konieczna?
Przyszło mi na myśl, że w takich wypadkach konfiguracja w php.ini powinna się rozpraszać analogicznie do metody rozpraszania ustawień .htaccess - kaskadowo. Wątpię w to, aby masowi usługodawcy wdrażali taką funkcjonalność, niemniej w MyDevil.net taka możliwość naprawdę umili i uprości nam życie.
Devil Web UI
Pisałem już o wspaniałym i unikalnym narzędziu devil. Z racji faktu, że wspomniane narzędzie jest rozwijane cały czas, przewidywana jest implementacja webowego odpowiednika tego narzędzia w nieco dalszym terminie. W pewnych warunkach na pewno okaże się ono przydatne. Kto wie, czy to nie będzie podstawowe narzędzie dla nowych/początkujących użytkowników? Wiem jedno - można liczyć w końcu na panel, który będzie nie mniej przemyślany od samego narzędzia devil.
Zakończenie
Uważam, że konta oferowane w MyDevil.net stanowią kawał solidnego, administracyjno-programistycznego majstersztyku. Widać to choćby po błyskawicznej reakcji Administratorów na nieprzewidziane zdarzenia czy po ofercie i tym, że funkcjonalność kont cały czas jest wzbogacana. Mój wybór padł na MyDevil.net przede wszystkim ze względu na nieograniczony transfer miesięczny, świetne wsparcie techniczne i bogate możliwości. Dzierżawiąc takie konto shell, mam tę świadomość, że naprawdę jestem w stanie tworzyć witryny, na widok których konkurencja po prostu zzielenieje z zazdrości albo naciągnie się na astronomiczne koszta.