Raz do doku przychodzi mi przypomnienie, żeby opłacić VPS, na którym siedzi ten blog.
Dla niezorientowanych: VPS czyli Virtual Private Server to złoty środek między hostingiem współdzielonym, który jest tani jak barszcz (€2-3 miesięcznie), ale bez większych gwarancji przyzwoitego działania, a hostingiem na wynajętym serwerze fizycznym, który będzie zapierdzielał jak rakieta, ale walnie nas po kieszeni na parę stówek miesięcznie. VPS to maszyna wirtualna, ale z gwarantowanymi, niewspółdzielonymi zasobami. Koszt - niecałe €90 rocznie.
Dziewięć dyszek raz do roku to kwota, którą jestem w stanie przełknąć. Mam w ramach tego jednoprocesorowy VPS z 3GB pamięci operacyjnej, 50GB przestrzeni dyskowej SSD oraz stumegabitowym nielimitowanym symetrycznym łączem w świat. Szału nie ma, ale do prowadzenia blogu spokojnie wystarczy.
Niedawno jednak zmieniłem dostawcę domowego internetu i moje łącze domowe jest teraz o rząd wielkości szybsze od tego, na którym gania blog. Dlatego też zaczynam całkiem na serio rozważać przesiadkę z VPS na lokalny serwerek, który stałby sobie nie wadząc nikomu w jakimś zakurzonym kącie (najlepiej jak najbliżej rutera mojego ISP) i serwował blog stąd a nie z serwerów OVH.pl.
Zalety?
- Silniejsza maszyna: szybszy procesor, więcej pamięci, więcej miejsca na dyskach.
- Szybsze łącze (ale asymetryczne: 1Gbps in, 300 Mbps out)
- Pełna kontrola nad serwerem, włączając w to fizyczny dostęp do maszyny gdyby sprawy potoczyły się naprawdę kiepsko.
- Nie muszę płacić tych nieszczęsnych €90 co rok.
Wady?
- Dość wysoki koszt początkowy - serwer musi być cichy i szybki, te zabawki zaczynają się w okolicach €300, a te najbardziej wypasione to już kwoty czterocyfrowe. Finansowo patrząc zwróci mi się to dopiero po co najmniej 4 latach.
- Brak gwarantowanej kopii zapasowej - OVH robi pełen backup VPS-a raz na 24 godziny, w przypadku awarii z ich strony mogą odtworzyć serwer z kopii i w najgorszym razie stracę jeden dzień. Z drugiej jednak strony mam lokalnego NAS-a, na którego mogę zrzucać kopie systemu tak często jak mi się zachce.
- Brak firewalla na wypadek jakiegoś poważniejszego ataku typu DDOS. Ruter dostawcy ma wprawdzie dość zaawansowane mechanizmy obronne, ale jednak żeby porządnie się obronić przed DDOS-em trzeba mieć bardziej zaawansowaną infrastrukturę sieciową, której ja nie mam. Z drugiej strony DDOS kosztuje, komu chciałoby się atakować jakiegoś zakurzonego, starego bloga?
- Mniejsza niezawodność połączenia do Sieci. Domowy internet lubi paść od czasu do czasu na kilka chwil. Co prawda niezbyt często (w ciągu ostatniego roku mieliśmy póki co dwie takie awarie, obydwie udało się "naprawić" restartem rutera) - ale jednak.
Nie chcę robić żadnych panicznych ruchów - mój obecny VPS jest opłacony na kolejny rok, więc mam kupę czasu na rozważenie takiej przeprowadzki. Zrobiłem kilka testów (z braku fizycznego serwera użyłem maszyny wirtualnej) i wszystko poszło w miarę bezboleśnie. Próbowałem też zrobić to samo na Raspberry Pi 4, który leży i się kurzy, ale okazało się, że lokalny "dysk" Malinki ma bardzo wolny transfer (czego się spodziewać po karcie pamięci?), a podłączanie zewnętrznego dysku trochę mija się z celem. Malina ma też problemy z zamapowaniem zewnętrznego zasobu sieciowego (NAS), więc odpada.
[yop_poll id="4"]
A koszt prundu bo taki serwer troche pewnie zżera.
Zasilacze do tych serwerów są na ogół 30-50 watowe. Zakładając, że maszyna nie będzie zżerać 100% dostępnej mocy, można przyjąć, że koszt będzie podobny jak przy ciągłym świeceniu energooszczędnej, 15- lub 20-watowej żarówki. Obecny koszt zużycia 4200 kWh w Irlandii to okolice €800, co po szybkim przeliczeniu daje mi koszt prądu za serwer w okolicach 25-30 € rocznie. Do wytrzymania.
Nie wiem, jaki masz ruch, ale stawiam, że zwykły współdzielony za 150 PLN by wystarczył 😉
Teoretycznie powinien. Ale w praktyce te współdzielone są naprawdę kiepskie. http://siupy.com siedzi na takim właśnie współdzielonym serwerze za niecałe €2/miesiąc i co najmniej raz w tygodniu dostaję powiadomienia, że strona niedostępna przez co najmniej kilkanaście minut. A tam mam raptem z dziesięć odsłon dziennie, przy dobrych wiatrach.
Tutaj oczywiście oprócz preferencji dochodzi charakterystyczne dla ludzi branży dogadzanie sobie gigabajtami i gigahercami. Dla mnie pewnie niezauważalne czy blog chodzi z maliny, trzy-osiem-sześcia-es-iks z przyciskiem turbo, czy lśniącej farmy biodegradowalnych maków-mini 😉
Jako leniwy człowiek bojący się DDOSów siedzę na WordPress.com i póki jest znośnie, „za darmo” to się stąd nie ruszam. Szczególnie, że ktoś musi mieć czas dziurawego WP latać.
DDoSy? Nie schlebiacie sobie zanadto przypadkiem? 😉 Poza tym, można schować się za Cloudflare, co i przyspieszy działanie, i wytnie trochę śmieci, i przed częścią DDoSów zabezpieczy.
Jeśli chodzi o aktualizacje, to WordPress potrafi to robić sam. Silnik aktualizuje się automatycznie domyślnie, dodatki trzeba ustawić w configu.
Nie zazdrość nam DDOSów 😉
Na poważnie skróciłem myśl – chodzi o wszystko to co każdy jednym klikiem może ci zepsuć, ot tak dla zabawy. Pewnie możesz to też dla zabawy wciąż zabezpieczać. Dla tych co się lubią bawić fajnie.
Skuteczny DDoS to nie jest jedno kliknięcie. Ochrona w OVH czy na wordpress.com jest pozorna, jeśli faktycznie ktoś będzie chciał zrobić kuku. Ale jaka jest realnie szansa na to?
Może mam szczęście do ludzi, po prostu, ale póki co nic się złego nie działo u mnie, przynajmniej nic, co bym zauważył/pamiętał. OK, mam dość wydajny setup, choć na słabej maszynce, w razie czego wiem co mogę zrobić w ramach zabezpieczenia i mam backup z którego mogę przywrócić bloga.
Nie żebym był jakimś wielkim zwolennikiem hostingu z domu, bo VPSy są teraz tanie jak barszcz, ale wady widziałbym gdzie indziej, nie w DDoSach. Choćby mając hosting z domu trzeba jeszcze gdzieś trzymać backup. Raczej poza domem. I raczej backup powinien być pull, nie push, bo w tym drugim przypadku atakujący po przejęciu hostingu ma dostęp także do backupu. A skoro już maszynka na zewnątrz… 😉
Proponuję rozważyć złoty środek, czyli VPS za ok. 2 euro miesięcznie. Np. arubacloud.pl czy tiktalik.com. Co prawda są to słabe maszynki (1 GB RAM, 20 GB dysku), ale na bloga powinny wystarczyć spokojnie. Mam 2 VPSy w tej pierwszej firmie, nie tylko blog na nich działa, na stabilność nie narzekam. Backupy robię sam – tzn. robią się automatycznie, muszę tylko raz na miesiąc odpalić skrypt do pobierania. Mógłbym to zautomatyzować, ale i tak robię backup domowego kompa na dysk zewnętrzny przy okazji, który muszę podpiąć…
Jeśli chodzi o malinkę – szybkość dysku nie powinna mieć większego znaczenia przy odpowiednich ustawieniach cache, bardziej martwiłbym się o żywotność przy tej ilości zapisów. No i zawsze można się wspomóc pendrive’em na USB. USB 2.0 wyciągało spokojnie 25 MB/s. Mapowanie NAS – na pewno da się zrobić. 😉
20GB mi nie starczy. Obecnie mam 50GB i zużywam 77% z tego (a więc lada miesiąc będę musiał albo coś wypiętrolić albo dokupić przestrzeni dyskowej).
1GB ram powinien styknąć. Teraz mam 3GB z czego zużywam na ogół jakieś 50%, ale jakbym REDIS-a trochę stuningował mogę spokojnie zejść poniżej 1GB.
Co do backupów to chyba nie ma idealnej metody. Używałem przez wiele lat Updraft Plus (nawet się swego czasu zaangażowałem dość mocno w tłumaczenie wtyczki na polski), a potem stwierdziłem, że są przekombinowani i zapłaciłem Automattic żeby robili mi backupy natywnymi narzędziami (Jetpack -> Vaultpress). Wiem, że można samemu, ale też mi się nie chce 😉
O Malince czytałem wczoraj, że udało się ją wystartować z zewnętrznego SSD. A więc wystarczy kupić 1TB 2.5 calowy dysk SSD, skonfigurować Malinę żeby z niego startowała i szafa gra. Ale mi się nie chce, trzeba robić jakieś kastomizacje flasz-epromu itd itd, nie mam do tego głowy chwilowo.
Ogólnie leniwy jestem.
Wow, to jestem w szoku, że aż tyle miejsca potrzebujesz na bloga. Co tyle zajmuje? Jeśli obrazki, to polecałem wtyczkę do optymalizacji. Do backupu zresztą też tam jest wtyczka, pobierać backup można automatycznie. https://zakr.es/blog/2019/03/wtyczki-do-wordpressa/
Redis? Po co redis? Przypuszczam, że do cache, ale przy tej skali ruchu, jaką przypuszczam, że masz, to raczej overkill. No i w sumie jest też wtyczka do cache. Inaczej, bo plikowo, ale działa OK.
Jest to trochę dłubania i sztuki dla sztuki, bo finansowe korzyści są… umiarkowane, ale efektem może być lżejsza architektura, co zawsze daje większe możliwości manewru.
Z malinką można prościej, jeśli chcesz SSD. Startujesz normalnie z karty microsd, a do SSD robisz symlinki na kluczowe katalogi. Czyli tak naprawdę na karcie microsd zostają /boot i ewentualnie /etc, reszta ląduje w praktyce na SSD. It’s a Linux. 😉
Przy czym nadal – szybka karta microsd powinna zrobić porównywalną robotę. Markowe 64 GB UHS-1 (nie wiem czy najodpowiedniejsze do zastosowania, ale tak orientacyjnie) to ~50 zł i bez rzeźbienia.
Przeorałem dysk (
du -a / | sort -n -r | head -n 20
– da się eleganciej?) i okazało się, że po wywaleniu śmiecia spadłem z 77% do 52%. Sukces.Bo jest, bo się go łatwo ustawia, bo jest darmowy. Bo czemu nie 😉
A no jest. Do Redis-a 🙂
Nie chce mi się grzebać. Może, kiedyś.
Ja tam bardziej du -s * | sort -n używam, i potem na kolejnych katalogach.
Czemu nie redis? Szkoda RAMu. Bo po co dodatkowy proces. Bo można prościej. 😉
Chodziło mi o tę wtyczkę, której używam. Trzyma statyczne html-e na dysku. Jakbyś się przymierzał do “przecież redis jest szybszy, bo z RAMu” to przypomnę od razu o cache’u dyskowym. W sumie wdzięczny temat na benchmark.
Grzebania na cały kwadrans. 😉
Ramu bez Redisa zużywam jakieś 700MB, z Redisem x2. VPS ma 3GB więc się nudzi tak czy siak. Nie lubię jak się zasoby marnują 🙂
A ta wtyczka ze statycznymi HTMLami to umie zrobić tak, żeby przy każdym F5 się odwieżały widżety na głównej?
Jeśli to PHPowe widgety, to może nie umieć. Nie analizowałem tego. Ale można określić maksymalny czas cache’owania strony.
OTOH jeśli masz PHPowe widgety odpalane przy każdym odświeżeniu, to jest spora szansa, że to nie jest skalowalny/wydajny setup. JSowe byłyby lepsze.
Pehapowe, tak. Zależy mi zwłaszcza na tym od cytatów, żeby się nie cache-owały cytaty tylko zawsze wyświetlały nowe.
Sprawdziłbym, ale… przypuszczam, że nie będzie to działało. 🙁