Zwirtualizowane oferty działają znacznie gorzej (patrz moje eksperymenty z 2019 r.: httpsjan.rychter.com/enblog/cloud-server-cpu-performance i kosztują więcej. Różnica polega na tym, że można „skalować na żądanie”, co moim zdaniem nie jest konieczne, przynajmniej w moim przypadku. A jeśli muszę skalować, nadal mogę to zrobić, tyle że zdobycie nowych serwerów zajmuje godziny zamiast sekund. Cóż, nie muszę skalować w kilka sekund W moim przypadku cały mój miesięczny rachunek za pełne środowisko produkcyjne i zduplikowane środowisko pomostowe/wstrzymania jest stały, prosty, przewidywalny i bardzo niski w porównaniu z tym, co musiałbym zapłacić AWS, i wciąż mam dużo miejsca na wydajność Warto zauważyć, że traktuję serwery fizyczne jak wirtualne: wszystko jest zarządzane przez ansible i mogę wszystko odtworzyć od podstaw. W rzeczywistości używam innego środowiska „devcloud” w Digital Ocean, które jest uruchamiane za pomocą terraform, zanim zostanie przekazane do ansible, który zajmuje się resztą konfiguracji Podejrzewam, że VendorOps i złożone narzędzia, takie jak kubernetes, są preferowane przez sprzedawców złożoności, którzy powstali w ostatniej dekadzie. Wygląda świetnie w CV i daje liderom technologii fałszywe poczucie osiągnięcia Tymczasem Stackoverflow, który jest prawdopodobnie ważniejszy niż większość startupów, śmiga na dedykowanych maszynach 1: httpsstackoverflow.blog/2016/02/17/stack-overflow-the-arc.. Wydaje się, że trendem w tej przestrzeni jest przeskakiwanie bezpośrednio do najwyższej warstwy abstrakcji. Pomiń podstawy i wskaż narzędzia, biblioteki i produkty $buzzword Widzisz przebłyski tego w różnych formach. Jednym z nich są wątki w mediach społecznościowych, które pytają, jak wiele z X muszę wiedzieć, aby nauczyć się Y, gdzie X to podstawowa, prawdopodobnie bardzo stabilna technologia lub dziedzina, a Y to jakieś narzędzie do pracy lub prosty produkt lub usługa CORBA tam należy. A może nawet semantyczne rzeczy z sieci. Zdecydowanie XML! XML jest świetny - jeśli w to nie wierzysz, być może zainteresuje Cię problem parsowania JSON: httpseriot.ch/projects/parsing_json.html I nie każ mi zaczynać od YAML .. Przyrostowy koszt bycia w chmurze jest dla mnie całkowicie wart posiadania zarządzanych baz danych, automatycznych migawek, hostowanych systemów równoważenia obciążenia, blokowej pamięci masowej plug and play itp. Chcę się martwić o to, czy nasz produkt jest dobry, a nie o awarie sprzętu w środku nocy, uruchamianie nowego serwera i to, że nie działa poprawnie, ponieważ nie było zachęty do korzystania z zarządzania konfiguracją na jednym urządzeniu, mając jedno niekontrolowane zadanie spowodować OOM lub pełny dysk i zepsuć wszystko zamiast tylko zadań VM, strach przed ponownym uruchomieniem maszyny, która działała 1000 dni itp. Dla mnie urok chmury to nie chwilowa moda na skalowalność FAANG, gdy nie jest ona wymagana, ale automatyczne łatanie systemu operacyjnego, automatyczne równoważenie obciążenia, usługi NAT, scentralizowane dzienniki z możliwością analizy, usługi baz danych, którymi nie muszę zarządzać, poza wprowadzanie aktualizacji usług, zarządzanie kluczami kryptograficznymi i sekretami oraz oczywiście przechowywanie obiektów. (To są wszystkie rzeczy, których używamy w naszym startupie) Zaryzykowałbym i powiedziałbym, że serwery dedykowane mogą być bardzo opłacalne/oszczędne, gdy osiągniemy określoną skalę, a nie odwrotnie. W tej chwili wydatki na chmurę są tego warte dla mojego startupu Jeśli konfigurujesz środowisko jako kod, ostatecznie nie powinno mieć znaczenia, czy Twoim celem jest serwer dedykowany, maszyna wirtualna, czy jakaś konfiguracja specyficzna dla chmury skonfigurowana za pośrednictwem interfejsu API Tak naprawdę nie ma znaczenia, który, chodzi o to, że masz taki, który może zbudować nowe pudełko lub przywrócić źle zachowujące się pudełko do znanego dobrego stanu, po prostu uruchamiając polecenie Jasne, faktyczny stos Go(o), który go napędza, można ulepszyć (i rzeczywiście się poprawia) To powiedziawszy, brutalna prawda jest taka, że ​​Twoje podejście jest prawidłowe, prawie wszystkie firmy (startupy!) przebudowują się, zamiast koncentrować się na dostarczaniu wartości, identyfikowaniu faktycznej niszy itp. (Tak, istnieje również strona popytowa, ponieważ Startupy zawyżone pieniędzmi VC przebudowują się, chcą polegać na stronach trzecich, które mogą przejąć obciążenie, skalować z nimi, umowy SLA i tak dalej.) Kubernetes jest fantastyczny! Ilekroć widzę, że potencjalnie konkurencyjna firma zaczyna korzystać z Kubernetesa, od razu odczuwam ulgę, bo wiem, że nie muszę się już o nią martwić. Zaraz znikną w stosie nierozwiązywalnych problemów technicznych, próbując naprawić problemy, których nie da się wyśledzić w stosie technologii o niewiarygodnej złożoności i obejść ograniczenia narzucone przez system przeznaczony dla firm o ruchu dwukrotnie większym. Ponadto ich KOGS będzie znacznie wyższy niż mój, co oznacza, że ​​będą musieli wycenić swój produkt wyżej, chyba że po prostu przepalają pieniądze VC (w takim przypadku są to błyskawiczne informacje). Wszędzie dobre rzeczy Ansible jest koniecznością, może działać w kierunku stanu statycznego i to wszystko. Jeśli napotka problem, zrywa połączenie SSH, wyrzuca mnóstwo błędów Pythona i poddaje się na zawsze. Nawet biorąc pod uwagę jego inwentarz, jest on daleki od deklaratywnego k8s to pętle kontrolne, które próbują osiągnąć postęp w kierunku zadeklarowanego stanu. Porażka nie jest problemem, spróbuje ponownie. Będzie stale sprawdzał swój stan, ma fajne API do raportowania tego, a dzięki wielu udoskonalonym koncepcjom trudniej jest o dziwne kolizje pomiędzy wdrożonymi komponentami. (Podczas gdy integracja wielu podręczników z Ansible nie jest trywialna.) httpsgithub.com/spantaleev/matrix-docker-ansible-deploy I nawet jeśli K8s przybiera zbyt wiele dziedzictwa, nadchodzą szczuplejsze przejawy podstawowych idei. (Np. httpsgithub.com/aurae-runtime/aurae ) A teraz sugerujesz, że ludzie używają prostszej, niestandardowej implementacji? Więc oczywiście możesz wdrożyć rozwiązanie o minimalnej złożoności lub możesz użyć czegoś „z półki” k8s jest złożonością i część z nich jest zdecydowanie niepotrzebna w twojej sytuacji, ale jest też raczej ogólna, elastyczna, dobrze obsługiwana itp. >sugerujesz, że ludzie używają prostszej, niestandardowej implementacji? Zasugerowałem, że jeśli projekt/oprogramowanie k8s stanie się zbyt duże, aby upaść, ludzie mogą przejść na alternatywę. Na szczęście koncepcje i API k8s są open source, więc można je wdrożyć w innych projektach, a taki przykład podałem, aby zilustrować, że wybranie k8s nie jest blokadą dostawcy w stylu Oracle Zawsze słyszę o tych wszystkich wspaniałych rzeczach, które otrzymujesz praktycznie za darmo od dostawców usług w chmurze. Czy rzeczywiście jest to takie łatwe w konfiguracji i obsłudze? Za każdym razem, gdy próbowałem skonfigurować stos LAMP w usłudze w chmurze, był to tak zagmatwany i przerażający proces, że w końcu się poddawałem. Zastanawiam się, czy wystarczy, że przycisnę trochę mocniej i dostanę się do Cloud Heaven Możliwość powiedzenia „Chcę tutaj klastrowego MySQL z tego rodzaju specyfikacjami” jest znacznie lepsza (czasowo) niż robienie tego samodzielnie. Aktualizacje są również ładnie opakowane w system, więc mówię po prostu „zastosuj najnowszą aktualizację”, zamiast ręcznie upewniać się, że przełączanie awaryjne/ponowne uruchamianie odbywa się we właściwej kolejności Płacisz więc za uproszczenie rzeczy, ale zysk z tego uproszczenia pojawia się tylko w przypadku większych projektów. Jeśli masz coś na jednym serwerze, co możesz zrestartować, gdy użytkownicy otrzymają stronę z błędem, może nie być tego warte Chmura nie jest łatwa, ale uzyskanie chłodzenia i wydajności energetycznej małej serwerowni w dowolnym miejscu w pobliżu poziomów wydajności publikowanych w większości dużych centrów danych jest prawie niemożliwe, podobnie jak łączność internetowa wielu dostawców Wraz z chmurą wszystko to znika, ponieważ jest zarządzane przez dowolnego operatora centrum danych, na którym działa ta chmura, ale ludzie zapominają, że dotyczy to również staromodnych usług kolokacji, które często oferują lepszy koszt/wartość niż chmura I choć zdecydowanie trudniej jest zarządzać urządzeniami takimi jak AWS czy Azure, ponieważ powoduje to wyciek wielu abstrakcji, które dostawcy VPC na małą skalę ukrywają przed Tobą lub których tak naprawdę nie można uzyskać w przypadku jednego serwera domowego, nie jest to trudne w skali konieczności uruchomienia kilku szaf serwerów vmware z pamięcią masową opartą na sieci SANW przypadku rozwiązań chmurowych masz więcej do zrobienia, ponieważ chodzi o konfigurowanie serwerów wirtualnych itp.Zamiast nosić komputer w box do swojego pokoju, musisz go „skonfigurować”, aby był dostępnyBazy danych DO mają kopie zapasowe, które możesz skonfigurować według własnych upodobań, przechowuj je w DO Spaces (takich jak S3).Zarządzanie użytkownikami DB jest łatwe.Istnieją również serwery pamięci podręcznej dla RedisMożesz dodać moduł równoważenia obciążenia i podłączyć go do różnych serwerów internetowychMyślę, że zajęło mi to około 30 minut na skonfigurowanie 2 serwerów WWW, serwera DB, serwera pamięci podręcznej, modułu równoważenia obciążenia, serwera pamięci masowej i połączenie ich wszystkich w razie potrzeby za pomocą kilku prostych formularzy.Nie do przebiciaJeśli masz więcej informacji lub opinii, podziel się nimiWiele artykułów w Internecie na temat wzmacnianie serwera Linux, wykonanie tych kroków w przypadku tych, których próbowałem, zajmuje nieco ponad 30 minut, a znacznie dłużej, jeśli próbuję faktycznie nauczyć się i zrozumieć, co robi każda rzecz, dlaczego jest to ważne i jaka jest podstawowa luka w zabezpieczeniach jest i w jaki sposób mogę potrzebować dostosować niektóre ustawienia do mojego konkretnego przypadku użyciaJestem pewien, że możesz znaleźć przykładowe skrypty instalacyjne w Internecie (konfiguracja automatycznych aktualizacji, zapory ogniowej, aplikacji itp. powinna być sprawą uruchomienia „curl $URL”, a następnie „chmod +x $FILE” i „bash $FILE”.Nie potrzebowałem zarządzania konfiguracją (korzystam z usługi tworzenia kopii zapasowych mojego dostawcy, co jest ważne, jak sądzę)Coś w tym stylu: httpsraw.githubusercontent.com/potts99/Linux-Post-Install..(widziane w httpswww.reddit.com/r/selfhosted /comments/f18xi2/ubuntu_d )Oczywiście to samo można powiedzieć o długotrwałych maszynach wirtualnych i można to rozwiązać poprzez posiadanie zdyscyplinowanego zespołu, ale myślę, że jest to ogólnie bardziej prawdopodobne w środowisku z jedną długo działającą dedykowaną maszynaHetzner ma to wszystko oprócz zarządzanych baz danychhttpswww.hetzner.com/managed-serverPakiety hostingowe obejmują również 1. .nieograniczona liczba baz danych (MySQL i PostgreSQL)httpswww.hetzner.com/webhosting/czy ma automatyczne tworzenie kopii zapasowych i przełączanie awaryjne?>W przypadku zarezerwowanej codziennej kopii zapasowej lub kopii zapasowej uwzględnionej w typie serwera, kopia zapasowa wszystkich danych jest tworzona codziennie i przechowywana przez maksymalnie 14 dni.Odzyskiwanie kopii zapasowych (Restore) jest możliwe poprzez interfejs administracyjny konsoliHAle mam wrażenie, że bazy danych na zarządzanych serwerach są przeznaczone do użytku przez aplikacje działające na tym serwerze, więc tak naprawdę nie ma koncepcji przełączania awaryjnegohttpswww.hetzner.com/legal/managed-server/Awaria pojedynczego dysku na pojedynczym serwerze nigdy nie powinna powodować produkcji przestójWiele problemów z konfiguracją można przypisać niezależnym wdrożeniom.Czy ten plik czcionki lub środowisko JRE naprawdę musi być zainstalowane na całym serwerze, czy można je dołączyć do wdrożeniaNasze wdrożenia korzystają z obiektów docelowych lokalnych i EC2.Skrypt wdrażania nie jest inny, tylko adres IP hosta toTeraz powiem, czy będę mógł użyć S3 do czegoś, co zrobię na 100%.Nie ma dla niego lokalnej alternatywy z tym samym zestawem funkcjiIstotą DevOps jest „Bydło, nie zwierzęta domowe”. Raz w tygodniu umieść kulkę na swoim serwerze, aby znaleźć punkty awariiBędzie mi bardzo miło, jeśli wskoczysz na nasz Discord/Slack i poruszysz kilka problemów, które widzisz, abyśmy mogli przynajmniej polepsz doświadczenie innych korzystających z Dokku.Zapraszam do mnie tam (mój nick to `savant`)Pozwólcie, że przedmową powiem, że jestem programistą aplikacji i posiada jedynie praktyczną wiedzę o Dockerze.Nie jestem super biegły w infra, a aplikacja, z którą walczyłem, ma specyficzne parametry wdrażania: jest to aplikacja Pythona, która w czasie kompilacji analizuje kilka gigabajtów statycznego indeksowania HTML w celu wypełnienia bazy danych Postgres, która jest statyczna po zbudowaniu.Aplikacja internetowa Flask służy następnie do tej bazy danych.Analiza składni HTML ewoluuje szybko, więc wypełnione dane bazy danych powinny być spakowane jako część obrazu(ów) aplikacjiIIRC, walczyłem ze strukturą plików Docker, gdy baza danych była t uporczywa, ale zamiast tego tylko kolejna przejściowa część aplikacji, ale wydawało się to do pokonania.Większym problemem wydawało się uniknięcie wyciągania z S3 dużych ilości rzadko zmienianych danych dla każdej kompilacji, podczas gdy najlepiej byłoby je przechowywać w pamięci podręcznej, zwłaszcza w sposób, który zachowywałby się rozsądnie w całym DigitalOcean i moim lokalnym środowisku.Przypuszczam, że odpowiednie buforowanie warstwy obrazu Dockera rozwiązałoby ten problem, ale dość szybko osiągnąłem kres mojej wiedzy i cierpliwościDX Dokku wydaje się być świetny dla ludzi wykonujących normalne czynności .:)0. httpscoolify.io/Poza tym kto nie chciałby bawić się najnowszą, najfajniejszą zabawką za czyjeś pieniądze?Zdecydowanie istnieje argument za przeniesieniem (niektórych) rzeczy z chmury na późniejszym etapie podróży, kiedy elastyczność (lub radzenie sobie z przepływem/obracaniem) staje się mniej głównym czynnikiem napędzającym, a skala/koszt zaczynają dominowaćJasne, możesz mieć coś działającego na Hetznerze, ale bądź przygotowany na udzielenie odpowiedzi na dużo więcej pytańZgodziłeś się na swój ostatni punkt przedsiębiorstwa, prosząc o to, co znowu jest po prostu smutne, że te biznesy "wymagania” dyktują, jak zaprojektować i hostować oprogramowanie, podczas gdy inny sposób może być znacznie lepszyOdzyskiwanie po awarii to bardzo realny problem.Dlatego regularnie go testuję.W scenariuszu spalonej ziemi mogę uruchomić system drugorzędny (pomostowy) lub terraformowany system chmurowy w mniej niż godzinę.Dla mojej firmy to wystarczy Przeszliśmy przez boom gospodarczy i, jak wszystkie wcześniej, oznaczało to, że wielu niedoświadczonych ludzi otrzymało mnóstwo pieniędzy i pilne oczekiwania. To przepis na kult cargo i marketing wyzysku Jednak wzrost gospodarczy spowalnia, a pieniądze stają się coraz droższe, więc zwolnij i zacznij na nowo uczyć się starych lekcji, korzystając z nowych, ekscytujących odmian. (Jak tutaj: zarządzanie skalowaniem typu „bare metal” oraz za pomocą kontenerów i orkiestracji) I cały cykl powtórzy się w następnym boomie. To na razie nasza branża Solidny serwer dedykowany jest w 99% przypadków o wiele bardziej przydatny niż uszkodzony VPS na współdzielonym sprzęcie, ale oczywiście wiąże się to z większymi kosztami, jeśli nie potrzebujesz wszystkich zapewnianych przez niego zasobów Tak, ale pragnienie „robienia tego, co teraz robią wszystkie fajne dzieciaki” jest co najmniej tak samo silne u tych, których normalnie nazywa się „menedżerami”, jak i u „pracowników”. wynik A) ogromne wydatki na mikrousługi/chmurę kończą się niepowodzeniem, cóż, przynajmniej postępowałeś zgodnie z najlepszymi praktykami, takie rzeczy się zdarzają, co możesz zrobić wynik B) wybrałeś serwer Hetzner i coś poszło nie tak, cóż, tak jest i powinieneś był wybrać mikroserwisy, ciesz się szukaniem nowej pracy Zachęcając tym samym menedżerów do wyboru mikroserwisów/chmury. Może nie jest to właściwa decyzja dla firmy, ale jest to właściwa decyzja dla menedżera i to menedżer podejmuje decyzję (Podobnie jak bycie konsultantem potrzebującym rozszerzenia i napisania działającego oprogramowania, o czym przekonałem się na własnej skórze.) Istnieje rozdźwięk pomiędzy założycielami i wszystkimi innymi Założyciele uważają, że będą one przekraczać 10 razy rocznie Rzeczywistość jest taka, że ​​prawdopodobieństwo niepowodzenia wynosi 90%. W 90% przypadków nie masz nic przeciwko porażce w czymkolwiek W około % z 10% przypadków, w których odniesiesz sukces, nadal poradzisz sobie bez chmury — przynajmniej przez kilka lat sukcesów, mnóstwo czasu na zmianę, jeśli zajdzie taka potrzeba Mam tylko jedną konfigurację ansible i może ona działać zarówno na serwerach wirtualnych, jak i fizycznych. Bez różnicy. Jedyna różnica polega na tym, że na serwerach wirtualnych trzeba najpierw skonfigurować terraform, a na serwerach fizycznych najpierw zamówić i wpisać ich adresy IP do pliku konfiguracyjnego (inwentarza) Oczywiście staram się też nie uzależniać od wielu innych usług w chmurze. Na przykład używam VpnCloud (httpsgithub.com/dswd/vpncloud) do komunikacji między serwerami. Dodatkową korzyścią jest to, że mogę w dowolnym momencie przejść do dowolnego dostawcy infrastruktury Chodziło mi przede wszystkim o to, że chociaż zwirtualizowane oferty mają swoje zastosowania, istnieje (ogromna) przepaść między hobbystycznym VPS za 10 USD miesięcznie a firmą z dynamicznie rozwijającym się biznesem B2C. Większość nowych firm faktycznie wpada w tę lukę: nie oczekujesz wykładniczego wzrostu kija hokejowego w dochodowym SaaS B2B. W tym miejscu powinieneś zakwestionować zwykły domyślny wybór „użyj AWS”. Zależy mi na moim COGS i moich marżach, więc bardzo uważnie przyglądam się temu wyborowi Nie jesteś firmą programistyczną, zasadniczo produkujesz i sprzedajesz Sprockets Opiniami tutaj byłoby zatrudnienie dużego personelu inżynierskiego/IT do „kupowania i utrzymywania serwerów” (PaaS jest zły), a następnie prawdopodobnie „samego pisania kodu” (SaaS jest zły) lub cokolwiek, co jest obecnie popularne tutaj (ostatni wątek tutaj był „Pushing PHP over SFTP bez Git, a jeśli potrzebujesz więcej” lol) Uważam jednak, że firmy powinny robić jedną rzecz dobrze i unikać prób konkurowania (robienia tego ręcznie) o rzeczy wykraczające poza ich podstawowe kompetencje. W takim przypadku zdecydowanie uważam, że Sprocket Masters nie powinni próbować zarządzać własnym sprzętem i powinni polegać na dostawcy, który zajmie się skalowaniem, bezpieczeństwem, czasem pracy, zgodnością i wszystkimi drobnymi szczegółami. Uważam też, że ich oprogramowanie powinno być standardem bagiennym i zawierać jak najmniej własnych rozwiązań. Nie są sklepem z oprogramowaniem i powinni pisać jak najmniej kodu Realistycznie Widget Masters mógłby obsługiwać te strony z raczej małym personelem, chyba że zdecydowałby się zrobić to wszystko ręcznie, w którym to przypadku prawdopodobnie potrzebowaliby dużo większego personelu Jednak to, co widzę również i myślę, o czym mówił poprzedni plakat, to firmy, w których technologia jest podstawą biznesu i tam często ma mniej sensu, a zamiast oszczędzać czas, wydaje się go kosztować. Jest powód, dla którego istnieją eksperci AWS: to nie jest trywialne. „Prawdziwe” serwery również nie są trywialne, ale niekoniecznie trudniejsze niż usługi w chmurze Ale te agencje też nie chcą zatrudniać personelu do obsługi sprzętu fizycznego. Jednak Sprocket Masters nadal musi zatrudniać kosztownych konsultantów w chmurze, aby móc reagować na sytuacje awaryjne Jeśli chcesz mieć kogoś, kto zajmie się problemami z chmurą, równie dobrze możesz wynająć serwer Osobiście prowadziłem serwery dedykowane dla naszej firmy we wcześniejszych dniach, ale wraz z rozwojem i skalowaniem stało się o wiele łatwiej współpracować z dostawcami chmury w celu szybkiego świadczenia różnych usług, mimo że koszty wzrosły. Nie wspominając o tym, że o wiele łatwiej jest powiedzieć potencjalnemu klientowi, że korzystasz z „chmury takiej jak AWS” niż „Och, wynajmujemy te maszyny w centrum danych prowadzonym przez jakąś firmę” (co w rzeczywistości może być lepsze, ale klienci w większości tego nie dostaną) . Audyt, Zgodność i inne Dla wielu nawet dużo mniej. Prowadzę mały projekt poboczny [1], który kilka razy stał się wirusowy (30 000 wyświetleń w mniej więcej 24 godziny) i działa na serwerze sieciowym z jednym rdzeniem procesora i zarządzanym Postgres również na jednym rdzeniu procesora. Nie zbliżył się nawet do pełnego wykorzystania 1: httpsaihelperbot.com/ Czy mogę przełączyć niektóre z nich na funkcje lambda? Albo przejść na ECS? A może przełączyć się na inną usługę w chmurze? Może. Ale ilość czasu, którą spędziłem na pisaniu tego komentarza, to już około sześciu miesięcy oszczędności na taką zmianę. Jeśli jest to trudniejsze niż „naciśnij przycisk, otrzymaj 100% rzetelnie przetłumaczoną usługę”, trudno to uzasadnić Częściowo dzieje się tak również dlatego, że chmura zapewnia teraz inne usługi, które umożliwiają tego rodzaju rzeczy. Nie muszę uruchamiać klastra Kafka do podstawowego przesyłania wiadomości, wszystkie są wyposażone w magistralę komunikatów. używam tego. Używam opcji hostowanej bazy danych. Używam S3 lub odpowiednika itp. Uważam, że to, co zostało, prawie nie jest warte kłopotów związanych z próbą wciśnięcia się w inny paradygmat, kiedy płacę jednocyfrowe dolary miesięcznie, aby po prostu uruchomić instancję EC2 Absolutnie tak jest, że nie każdy lub każdy projekt może to zrobić. Nie trzymam się tego jako celu końcowego. Kiedy to nie działa, natychmiast podejmuję odpowiednią akcję skalowania. Nie sugeruję, abyś przebudował cokolwiek w oparciu o to. Mówię tylko, że to nie jest opcja, którą należy pogardzać. Ma dużą elastyczność, a rozliczenia są dość spójne (lub, mówiąc inaczej, fakt, że jeśli nagle mam 50-krotny ruch, mój system zaczyna się zauważalnie dusić i pryskać, zamiast po prostu obciążać mnie setkami dolarów więcej jest dla mnie cechą, a nie błędem), i generalnie nie rozciągasz się, by wykrzywić się w jakimś paradygmacie, który jest wygodny dla niektórych usług w chmurze, ale może nie być wygodny dla ciebie Czy kiedykolwiek musiałeś zarządzać jednym z tych środowisk? Chodzi o to, że jeśli chcesz uzyskać podstawową skalowalność dla więcej niż jednej osoby i odpowiednie devopy, musisz znacznie zwiększyć rezerwę (prawdopodobnie unieważniając swoje oszczędności) Nieuchronnie skończysz z rozwiązaniem szytym na miarę, co oznacza, że ​​nowi stolarze będą mieli trudności z opanowaniem systemu, a znaczące osoby opuszczające firmę przyniosą ze sobą swoją dogłębną wiedzę o Twojej infrastrukturze. Wróciłeś do zwierząt zamiast bydła. Niektóre serwery są specjalne, po pewnym czasie automatyzacja oznacza „dużo skryptów powłoki kleju tu i tam”, a aktualizacja systemu operacyjnego oznacza, że ​​albo połowa infra to KO przez jakiś czas, albo w ogóle nie aktualizujesz systemu operacyjnego A w szczęśliwym przypadku musisz zwiększyć skalę. Możesz spotkać nieprzyjemne niespodzianki I nigdy nie każ mi zaczynać od strony sieciowej. O ile nie wynajmujesz całej szafy i nie umieszczasz własnego sprzętu sieciowego, dostajesz to, co dostajesz. Co może być bardzo słabe pod względem funkcjonalności lub wydajności Zakładając, że nie robisz nic nadzwyczajnego Jeśli chcesz mieć 100,0000% bezawaryjnej pracy, to jasne. Ale zazwyczaj nie. Firmy, które chcą tego rodzaju dostępności, zwykle i tak mają dedykowane zespoły Skalowanie działa również dobrze na gołym metalu, jeśli skalujesz w pionie — czy masz pojęcie, ile mocy i przepustowości można uzyskać z jednego serwera? Niepokojące jest ciągłe słuchanie o „skalowaniu”, gdy mówca ma na myśli „skalowanie w poziomie” Jeśli wymagania są „skalowane”, to skalowanie w pionie zabierze Cię daleko Jeśli Twoimi wymaganiami są „skalowanie w poziomie na żądanie”, to na pewno dostawcy chmury Ci w tym pomogą. Jednak niewiele miejsc wymaga takiego skalowania Nie twierdzę, że 100% czasu pracy bez przestojów jest tanie, mówię, że 100% czasu pracy często nie jest potrzebne Ponieważ w branży jest pełno ludzi, którzy gonią trendy i słowa kluczowe i dla których najważniejsze jest dodanie tych słów kluczowych do CV IME dążący do skalowalności jest wyjątkowo błędny w przypadku większości usług/aplikacji/czegokolwiek. I zwykle płacisz tak dużo kosztów ogólnych za „skalowalne” rozwiązania, że ​​musisz je skalować, aby to nadrobić Naprawdę w to wątpię.Jedynym tematem, który widzisz u prawie wszystkich zwolenników AWS, jest duża ilość złudzeń na temat gwarancji, jakie faktycznie zapewnia AWSTak, jasne.Nikt nie zostanie zwolniony za kupowanie od IBMCóż, gdyby duże firmy miały jakiekolwiek kompetencje w podejmowaniu decyzji, byłyby nie do pobicia i beznadziejną byłaby praca nad czymkolwiek innym w Wszystko.Więc tak, to dobro publiczneŹródło: prawie trzydzieści lat działalnościPóki co nie zauważyłem, że jeśli wydaję więcej dla firmy, w której ja też zarabiam więcejuzyskanie takiej samej niezawodności przy użyciu żelazek jest o wiele droższe niż wynajęcie „dwóch serwerów dedykowanych” – teraz możesz mieć jeden serwer i rozwiązanie do tworzenia kopii zapasowych i to jest sprawiedliwe. ale system do stworzenia tego wszystkiego, nawet w ramach krótkiego kontraktu na wstępną konfigurację i bez konserwacji, znacznie przekroczy różnicę w cenie chmury, zwłaszcza jeśli w zestawie znajduje się baza danych i zależy Ci na tych danychObecnie chmura jest podobna – czas wprowadzenia produktu na rynek jest krótszy, ponieważ jest mniej ruchomych części.Kiedy gospodarka się załamuje, a wzrost spowalnia, wkraczają liczniki fasoli i robią swojeDzieje się to za każdym razemTo tylko wzbogaca AWS w firmach i zespołach zajmujących się chmurąAutomatyczne udostępnianie i anulowanie udostępniania instancji EC2 w ciągu kilku sekund jest banalne, jeśli wdrożenie wymaga skalowania w górę lub w dół.To właśnie sprawia, że ​​zasadniczo różni się od serwera typu bare metal Nie przeczę, że w porównaniu z AWS nadal bardziej opłacalne może być udostępnienie kilku serwerów dedykowanych więcej niż potrzeba, ale gdy masz naprawdę nieprzewidywalne obciążenie pracą, nie jest łatwo nadążyć jeśli uruchamiasz i zamykasz maszyny wirtualne, aby sprostać krzywej popytu - coś jest poważnie nie tak z twoją architekturą Czy kiedykolwiek przyszło ci do głowy, dlaczego Stackoverflow wykorzystuje ~8 serwerów dedykowanych do obsługi całego świata i nie musi uruchamiać i zamykać maszyn wirtualnych, aby sprostać globalnym wymaganiom klientów? -- Planując infrastrukturę obliczeniową, warto wrócić do podstaw i nie dać się nabrać na propagandę dostawców rozwiązań chmurowych Sam to powiedziałeś. Nie wszystkie aplikacje muszą obsługiwać cały świat, dlatego też zapotrzebowanie będzie mniejsze, gdy ludzie będą spać Nawet w przypadku aplikacji globalnych istnieją przepisy wymagające hostowania aplikacji i danych w określonych regionach. Wyobraźmy sobie aplikację, z której korzystają klienci w Europie, Australii i USA. Muszą być obsługiwane przez regionalne centra danych, a jeden klaster będzie przeważnie uśpiony, gdy drugi będzie uruchomiony (ze względu na strefy czasowe). Dzięki serwerom dedykowanym zmarnowałbyś 60-70% swoich zasobów, używając czegoś takiego jak EC2/Fargate, możesz skalować do prawie 0, gdy twój region śpi W tym szaleństwie jest metoda, nazywa się to „rozwojem opartym na bezpieczeństwie pracy” Ponieważ stanowi to zagrożenie dla ich miejsc pracy Istnieje cała grupa ludzi, którzy mają techniczne umiejętności, aby samodzielnie organizować lub organizować małe instancje dla swojej rodziny/przyjaciół/stowarzyszenia/klubu turystycznego. Ten niewielki margines, w przypadku którego możesz wydać trochę więcej, bo chcesz, żeby było dobrze, ale nie możesz usprawiedliwić płacenia tak dużej kwoty i spędzania czasu na ciężkiej konserwacji. W wielu przypadkach wystarczy mały VPS ze współdzielonym Nextcloud lub małą stroną internetową Do tego używam nawet małego Raspberry Pi 400 w mojej sypialni httpsjoeldare.com/private-analtyics-and-my-raspberry-pi-4.. Od blisko dekady prowadzę własne materiały. Nikt nie próbował DDoSingu na mojej konfiguracji, bo po co miałby to robić? Jakie korzyści mogliby z tego wyciągnąć? Byłbym właściwie jedyną osobą dotkniętą chorobą, a kiedy już przestaną, powrót do zdrowia nie zajmie dużo czasu Motywacja do ataków DDoS na osobiste skrzynki jest niewielka lub żadna, nie mówiąc już o losach internetowych Zdecydowanie przeceniasz możliwości nastolatka Samo pingowanie adresu IP nie wiele da. Może atak DoS, w zależności od tego, co sieć docelowa ma pod względem IPS, ale nawet wtedy jest bardziej prawdopodobne, że infekują swoje komputery wirusami, zanim będą mieli szansę cię zaatakować Osobiście spotkałem się z jedną z takich sytuacji za oszustwo w GTA 5. To zdecydowanie się zdarza i nie jest zabawne Edycja: Wygląda na to, że może to nastąpić automatycznie. To coś ciekawego, czemu powinienem się trochę przyjrzeć. Prawdopodobnie jest to po prostu dodatkowa złożoność dla mojego małego serwera, ale mam na myśli kilka zastosowań Technicznie rzecz biorąc, moje laboratorium domowe również znajduje się na statycznym publicznym adresie IP — było to bardziej ćwiczenie typu „czy mogę to zrobić” niż „faktycznie konieczne”, ale nadal jest w porządku i jestem bardzo szczęśliwy Jedynym problemem było to, że musiałem skonfigurować Wireguard, aby utrzymać tunel przy życiu, w przeciwnym razie czasami VPS odbierałby ruch przychodzący i gdyby moje laboratorium nie skontaktowało się przez jakiś czas (co, dlaczego miałoby to zrobić?), tunel byłby wyłączony, i połączenie proxy tak. Na szczęście jest to wbudowana funkcjonalność Wygląda więc na to, że dodanie kanałów RSS/Atom na stronie Jekyll lub GitHub jest całkiem proste 1. httpsgithub.com/jekyll/jekyll-feed 2. httpsdocs.github.com/en/pages/setting-up-a-github-pages-s.. 3. httpspages.github.com/versions/ atom 2c/4t, 4gb ramu, 1tb dysku, 100mbit W tym momencie kilka lat sprawności Jeśli nieprzerwanie: może być konieczna aktualizacja. Aktualizacje zabezpieczeń jądra to coś Zauważyłem, że Atoms jest nieznośnie powolny, nawet z Linuksem. Oczywiście wystarczy do obsługi witryn internetowych i tak dalej, ale zdumiewające jest to, ile energii zużywają, po prostu nie osiągając wydajności Dokładnie. Te instancje VPS w cenie poniżej 10 USD świetnie nadają się do małych projektów, w których nie chcesz zawierać długich umów ani zajmować się zarządzaniem własnymi serwerami Jeśli prowadzisz prawdziwą firmę, w której marże są minimalne i masz cały wolny czas na świecie, aby zająć się problemami z serwerem, jeśli (kiedy) się pojawią, te serwery dedykowane o wartości ~ 50 dolarów mogą być interesujące do zbadania Ale jeśli prowadzisz prawdziwą firmę, nawet rachunek za AWS w wysokości 10 000 USD miesięcznie jest tańszy niż zatrudnienie innego wykwalifikowanego programisty do pomocy w zarządzaniu serwerami dedykowanymi To jest to, czego zwykle brakuje w dyskusjach na temat kosztów chmury w miejscach takich jak HN: Tak, chmura jest droga, ale zatrudnienie nawet jednego dodatkowego administratora/programisty, który pomoże Ci zarządzać niestandardową infrastrukturą, jest niewiarygodnie drogie i znacznie mniej elastyczne. Dlatego też wydanie hipotetycznych 5000 dolarów miesięcznie na rozwiązanie hostowane w chmurze, które teoretycznie można by zbudować na zamówienie na serwerze o wartości 50 dolarów miesięcznie przy wystarczającej inwestycji czasu, może być nadal świetnym pomysłem. Inżynierowie są kosztowni, a czas jest ograniczony Uhhh, przepraszam, ale ile płacisz temu gościowi od DevOps? To wydaje się bardzo amerykańską perspektywą, nawet na obszarze doliny. W Europie zatrudnienie faceta byłoby tańsze Koszty zatrudnienia w pełni obciążonego są znacznie wyższe niż to, co zabierasz do domu z wypłaty. W Europie rzeczywiście jest gorzej. Spójrz na te wykresy: httpsaccace.com/the-true-cost-of-an-employee-in-europe/ Jeśli zapłacisz komuś w Wielkiej Brytanii 1000 EUR, firmę będzie to kosztować łącznie 1245 EUR Jeśli zapłacisz komuś w Rumunii 1000 EUR, będzie to kosztować firmę łącznie 1747 EUR Zatem w pełni obciążony koszt wynoszący 120 000 USD może wystarczyć na wynagrodzenie wynoszące 68 000 USD dla osoby zajmującej się devopsem w UE Ale nie możesz mieć tylko jednej osoby Devops. Potrzebujesz co najmniej 2, jeśli chcesz, aby jeden z nich mógł kiedyś odpocząć, pojechać na wakacje Mogę cię podłączyć za jakieś 3 godziny AWS jest bardzo opłacalny w przypadku innych usług (S3, SES, SQS itp.), ale maszyny wirtualne nie są dobrym rozwiązaniem. Dostajesz mniej pamięci RAM& CPU, z narzutem wirtualizacji i zapłać dużo więcej pieniędzy Zwłaszcza w przypadku Postgres, jeśli przeprowadzisz kilka testów za pomocą pgbench, naprawdę możesz zobaczyć karę, jaką płacisz za wirtualizację Być może umiejętność administratora systemu polegająca na budowaniu własnej infrastruktury staje się sztuką zagubioną, w przeciwnym razie nie potrafię wyjaśnić, dlaczego ludzie tak bardzo lubią płacić 5x za niższą wydajność Hetzner jest tani i niezawodny w Europie. Jeśli jesteś w Ameryce Północnej, spójrz na OVH. Zwłaszcza ich oszczędna alternatywa o nazwie SoYouStart. Możesz dostać 4/8 4,5 GHz, 64 RAM i dysk NVME za 65 USD (Nie jestem powiązany z OVH, jestem po prostu klientem posiadającym prawie 100 serwerów i dla mnie to było świetne rozwiązanie) Zaznaczę też, że jestem stary, hehe, a w jednej z moich pierwszych prac mieliśmy na miejscu przyzwoitej wielkości centrum danych. Radzenie sobie z sieciami SAN, napędami taśmowymi (automatyczne rotatory taśm w czasach serwerowni itp. to była ogromna PITA. Pakowanie taśm i wysyłanie ich do innego biura w celu zapewnienia redundancji lokalizacji zawsze było zabawne) Konkretna aplikacja, którą zarządzam, naprawdę cierpi z powodu niskiego GHz i braku wszystkich danych w pamięci. Przeprowadzałem testy porównawcze na EC2, niektóre raporty, które kończą się w ~5 sekund, mogą zająć ponad minutę na porównywalnej instancji EC2, która kosztuje około 10 razy więcej. Ta aplikacja naprawdę potrzebuje surowego procesora. i tak, mamy dość duży zespół inżynierów, który zoptymalizował wszystkie zapytania, wskaźniki itp Jeśli chodzi o replikację, kopie zapasowe itp. Wszystko to skonfigurowałem i szczerze mówiąc, nie było to nic wielkiego. W książce Postgres jest kilka krótkich rozdziałów, które wyjaśniają wszystko w bardzo prosty sposób, jak skonfigurować, stale (i automatycznie) testować itp. Zgadzam się, że sieci SAN to koszmar. Dlatego wysyłam wszystkie moje pliki WAL (pliki kopii zapasowych PG) do S3 (i ostatecznie do Glacier). Dzięki temu nie muszę myśleć o utracie plików i jest to tanie jak barszcz Myślę, że panuje błędne przekonanie, że tego rodzaju konfiguracje są zbyt skomplikowane do skonfigurowania przez jednego inżyniera i wymagają niekończącej się konserwacji. W rzeczywistości możesz to wszystko skonfigurować w mniej niż tydzień i naprawdę wymaga konserwacji tylko wtedy, gdy chcesz zaktualizować Postgres (niektóre ustawienia mogły ulec zmianie). Szacuję, że konserwacja zajmuje około 5 godzin rocznie Wydaje się, że infrastruktura samoobsługowa będzie coraz bardziej opłacalna, w miarę ciągłego ulepszania dostaw „ostatniej mili” i rozszerzania dostępu światłowodowego. Czy chmura stanie się samokanibalizująca? Na pewno może Chmura zapewnia możliwość umieszczenia danych/obciążenia w samym rdzeniu, bez konieczności zawierania specjalnych umów z lokalnym dostawcą usług internetowych, a także przy znacznie większej odporności, na jaką prawdopodobnie byś sobie pozwolił, chyba że masz przynajmniej pełny 20-stopowy kontener skali potrzeb obliczeniowych serwerów httpswww.cloudflare.com/products/tunnel/ httpsgithub.com/cloudflare/cloudflared httpsdevelopers.cloudflare.com/cloudflare-one/connections.. Edycja: Jeśli ktoś jest zainteresowany samodzielnym hostingiem, jest to proste dzięki Cloudflared. Mam Google Pixelbook 2017 z systemem Ubuntu na niestandardowym oprogramowaniu sprzętowym, który obsługuje witrynę opartą na Flask. Iton ładuje moje biurko po podłączeniu do gościnnej sieci Wi-Fi. Otrzymuje wynik 100/100 Mobile PageSpeed, a pełne załadowanie zajmuje 0,8 sekundy Od DO otrzymuję wszystkie zalety niezawodnej firmy, skalowalność, automatyczne tworzenie kopii zapasowych itp. Nie ma mowy, żebym to zmienił Chmura Hetzner ma teraz dwie lokalizacje w USA. Wciąż jednak nie ma serwerów dedykowanych w USA – to naprawdę by się przydało. Nawet jeśli ich obecna oferta chmurowa sama w sobie kosztuje już ~30% ceny głównych odpowiedników chmurowych. Podobnie jak Ty, również prowadzę swoje usługi z wynajętego serwera fizycznego. Kiedyś korzystałem z Versaweb, ale ich maszyny są za stare. Wcześniej nie lubiłem Hetznera, ponieważ słyszałem złe rzeczy o tym, że ingerują w to, co prowadzisz Przeniosłem się jednak do nich w grudniu, kiedy właśnie padła moja instancja Versaweb, prawdopodobnie ze starości SSD. Płacę teraz 50% tego, co zapłaciłem Versaweb i mogę uruchomić 6 takich instancji Postgres Następnie pojawia się pytanie, czy warto płacić 700–800 USD za usługę zarządzaną z fantazyjnym interfejsem użytkownika w chmurze, automatycznymi aktualizacjami i kopiami zapasowymi itp. Myślę, że nie w przypadku 1-osobowego programu lub małego startupu. Taniej jest skorzystać z dostępnej usługi i zrzucić kopie zapasowe na S3 lub coś tańszego Firma, w której pracowałem dla szczęśliwie opłacanej firmy A, czterokrotnie przewyższającej kwotę, jaką firma B pobierała za dokładnie tę samą usługę, tylko dlatego, że firma A była skłonna wysyłać faktury kwartalne w sposób, który pasował do naszego systemu fakturowania. W przypadku firm zaoszczędzenie kilkuset dolarów tu i tam często nie jest warte kłopotów związanych z wprowadzaniem dodatkowych tarć Jest tam ukryty koszt. Jeśli jest to tylko jedna lub dwie z tych rzeczy, po prostu skorzystaj z usług zarządzanych Jeśli zaczniesz skalować, zdobądź pracownika typu administrator, aby zaoszczędzić na tym W przeciwnym razie musiałbym zatrudnić/zlecić komuś bardzo doświadczonemu lub poświęcić solidny miesiąc lub więcej mojego czasu (który nie był dostępny), aby mieć 100% pewności, że zawsze możemy szybko przywrócić zapisane w dzienniku kopie zapasowe PITR Mogę zaoszczędzić na kosztach chmury w innych miejscach, ale wiarygodnie zarządzany PostgreSQL był dość łatwym połączeniem (nawet jeśli cena na poziomie podstawowym była wyższa niż można by się spodziewać) Wczesny start-up, który nie może sobie pozwolić na stratę godziny danych produkcyjnych, jest prawdopodobnie zbyt kruchy, aby przetrwać To wczesny start - będą większe przerwy w działaniu usługi, a klienci, którzy uciekną po godzinie utraty danych produkcyjnych, i tak nie docenili produktu wystarczająco (W konkretnym starcie, o którym myślałem, miałem już kilka fajnych, zautomatyzowanych, częstych zrzutów DB-online do S3 z wymuszonym przechowywaniem, ale nie sądziłem, że to wystarczy dla tego konkretnego scenariusza. Ale nie byłem pewien, czy możemy odzyskać z PITR/dziennikarstwo dodałoby nowy pojedynczy punkt niepowodzenia, ryzykując sukces firmy, która w przeciwnym razie mogłaby mieć 9+-cyfrowe wyjście w ciągu kilku/kilkunastu lat, tylko po to, by zaoszczędzić kilkaset.) Przypuszczam też, że niektóre z wczesnych startupów, które mają mniej wymagające potrzeby, ale niefrasobliwie podchodzą do swoich obowiązków wobec danych klientów/użytkowników, nadal zaniedbują minimalne podstawowe praktyki Może jeden intuicyjny sposób na docenienie: wyobraź sobie wiadomość biznesową o HN, o niektórych operacjach start-upowych, które porzucają piłkę, z dołączonymi nazwiskami założycieli startupów, a historia mówi i okazuje się, że nie mieli dobrych kopii zapasowych Wtedy jeden z współzałożyciele, którzy być może nie spali zbyt wiele, ponieważ ich firma się wokół nich rozbija, odpowiadają: „Dane klientów nie są tak ważne we wczesnym starcie; gdyby były, bylibyśmy zbyt wrażliwi” (napisane, zanim współzałożyciel zdążył rzucić laptop tej osoby przez pokój, aby zatrzymać ich pisanie). Nie wyglądałoby to dobrze Odniosę się do tego na końcu >Wyobraź sobie news biznesowy w HN, w którym niektóre start-upy tracą piłkę, z dołączonymi nazwiskami założycieli startupów, a historia mówi i okazuje się, że nie mieli dobrych kopii zapasowych ITYM i okazuje się, że nie mieli kopii zapasowej ostatniej godziny Mogę sobie wyobrazić wszystko w twoim scenariuszu, nawet nieobcięte bity, i wszystko wydaje się normalne, chyba że przeczytasz „Nasi klienci start-upowi, którzy korzystają z nas od miesiąca, wszyscy odeszli natychmiast, gdy straciliśmy ostatnią godzinę ich danych” Naprawdę nie wyobrażam sobie takiego scenariusza Teraz, to prawda, istnieją firmy, w których korzyścią z korzystania z niego jest to, że nie ma nawet godziny utraconych danych IOW, klienci używają go, ponieważ nie powoduje utraty żadnych danych: na przykład współpraca nad dokumentami online[1][2]. Jeśli masz awarię, która powoduje utratę godziny z ostatnio wprowadzonych danych, to z pewnością oczekuj, że wszyscy obecni użytkownicy, których to dotyczy, natychmiast uciekną [1] Chociaż osobiście ograniczyłbym ryzyko, powielając bieżący dokument w pamięci lokalnej podczas jego edycji [2] Może giełda potrzebuje też systemu do przechowywania danych z ostatniej godziny? Co jeszcze? Myślę, że nawet w przypadku większych zespołów samodzielne zarządzanie bazami danych może mieć sens, zakładając, że masz kompetencje, aby zrobić to dobrze. Jest tak wiele rzeczy, które mogą pójść nie tak z usługami zarządzanymi i nie ukrywają one podstawowej implementacji w sposób, w jaki robią to rzeczy takie jak pamięć blokowa lub pamięć obiektowa Szczytowa wydajność jest z pewnością gorsza - ale nie przejmuję się zbytnio, jeśli coś i tak trwa dłużej. Z pewnością masz rację, jeśli chodzi o automatyzację udostępniania serwera, czego nie zrobiłem z serwerem fizycznym Kiedyś miałem serwer główny dla moich domowych projektów, ale szczerze mówiąc, to nie ma sensu. Nie prowadzę dużego ruchu, intensywnie obliczam SaaS na moich komputerach. To tylko statyczna strona internetowa i kilka projektów. Miesięczne koszty wynoszą 24, co obejmuje schowek o pojemności 1 TB do przechowywania wszystkich moich danych Głównym problemem w każdym scenariuszu dotyczącym rzeczywistego sprzętu jest to, że potrzebny jest personel kompetentny zarówno w zakresie sprzętu, jak i systemów Linux/UNIX. Wielu twierdzi, że znajduje się w CV, a potem nie może ani razu wystąpić w pracy (w każdym razie z mojego doświadczenia). Moim zdaniem jednym z głównych powodów eksplozji świata chmur była właśnie trudność w budowaniu i koszt finansowy budowania takich zespołów. Ponadto istnieje dość naturalne (i konieczne) tarcie między twórcami aplikacji a ludźmi zajmującymi się systemami. Ludzie zajmujący się systemami powinni zawsze odpychać i argumentować za większym bezpieczeństwem, większą liczbą procesów i mniejszą liczbą wdrożeń. Zespół programistów powinien zawsze opowiadać się za większą elastycznością, większą liczbą wydań i mniejszą liczbą procesów. Dobre zarządzanie powinno zatem obrać środkową ścieżkę między nimi. Niestety, niekompetentni menedżerowie często po prostu decydowali się na pozbycie się ludzi systemowych i przeniesienie rzeczy na grunt AWS Na koniec chciałbym tylko zauważyć, że architektura chmury jest szkodliwa dla planety, ponieważ wymaga nadmiernej alokacji przez dostawców usług w chmurze i ogólnie wymaga większej mocy obliczeniowej komputera ze względu na wiele warstw abstrakcji. Chociaż każdy projekt jest odpowiedzialny za niewielką część tych odpadów, cała globalna chmura jako agregat jest bardzo marnotrawna. To mnie niepokoi i oczywiście prawdopodobnie jest to czynnik emocjonalny w moich poglądach (tak duże ilości soli dla wszystkich powyższych) Można postawić argument, że można opracować sposób wynajmowania serwerów fizycznych przed uzyskaniem dochodu, a następnie, jeśli ma to sens, można albo zastosować standardową amortyzację – albo – Sekcję 179 dotyczącą bezpośrednich zakupów i/lub leasingu Sekcję 179 Na przykład można wdrożyć niezwykle wydajną grupę, powiedzmy czterech całkowicie przekroczonych zasobów fizycznych maszyn 1U o wartości 100 000 USD w różnych obiektach typu colo w celu zapewnienia nadmiarowości. Jest tu mnóstwo trików pozwalających na równoważenie obciążenia i przełączanie awaryjne z usługą chmurową XYZ, DNS, anycast i czym tylko chcesz. Możesz skorzystać z różnych obiektów Colo, które obsługują centra danych na całym świecie, wysłać do nich sprzęt od dostawcy, a następnie udostępnić im Ansible lub cokolwiek innego, co Cię interesuje, bez konieczności odwiedzania obiektu lub dotykania sprzętu Zatem masz teraz nadmiarowy sprzęt fizyczny, który będzie absolutnie dostępny dla większości dostawców usług w chmurze (szczególnie w przypadku operacji we/wy), stałe koszty, takie jak przepustowość, na jaką Cię stać (która nie obejmuje 800% marży usług w chmurze itp.) — koniec z czekaniem za nieunikniony rachunek za chmurę w wysokości 50 tys. dolarów lub próbę wyśledzenia (w panice), co spowodowało przekroczenie skonfigurowanego budżetu na chmurę w ciągu jednego dnia zamiast miesiąca. Aha, przy okazji, nie zamykasz się na głupie, zastrzeżone interfejsy API, aby udostępniać, a nawet korzystać z usług innych niż maszyny wirtualne oferowane przez $BIGCLOUD Jeśli korzystasz z uczenia maszynowego, możesz trenować na własnym sprzęcie lub (lub okazjonalnie w chmurze) i przeprowadzać wnioskowanie 24 godziny na dobę, 7 dni w tygodniu, za pomocą urządzeń takich jak NVIDIA A10. Ciągły wynajem instancji GPU w chmurze jest niewiarygodnie kosztowny, a zwrot z inwestycji w zakup sprzętu zazwyczaj mieści się w przedziale kilku miesięcy (lub znacznie do przodu niemal natychmiast w przypadku sekcji 179). Jako przykład niedawno przeprowadziłem test porównawczy z Nvidią A10 dla obsługiwanego przez nas modelu i może on wykonać ponad 700 żądań wnioskowania/s w FP32 z opóźnieniem poniżej 10 ms. Z pojedynczą kartą A10 na obudowę w czterech zdrowych instancjach, co daje 2800 wymagań/s (i prawdopodobnie można je dalej dostrojić) Następnie, jeśli urosniesz NAPRAWDĘ, możesz zacząć kupować szafki i nie tylko. Jeśli chodzi o awarie sprzętu, jak już wspomniałem, wszystko, co mogę powiedzieć, to to, że podwójny port PS RAID itp. jest (z mojego doświadczenia) wyjątkowo niezawodny. Ponieważ w przeszłości miałem wiele pełnych szaf ze sprzętem, awarie sprzętu były nieliczne i zdarzały się rzadko, a sprzęt dostawcy dołączą niesamowite umowy SLA w celu wymiany. Powiadamiasz ich o awarii, wysyłają technika< osiem godzin bezpośrednio do obiektu colo i wymień dysk, PS itp. na migającą lampkę Z mojego doświadczenia wynika, że ​​jeden (dobry) pracownik FTE może z łatwością zarządzać tym systemem w skali do wielu szafek. Twoim zdaniem obecny problem polega na tym, że wiele z tych osób zostało przechwyconych przez dużych dostawców usług w chmurze i zastąpionych (na rynku) zasobami, które potrafią pokonać graniczną absurdalność, jaką jest korzystanie z dziesiątek (jeśli nie więcej) produktów/usług od $ WIELKA CHMURA Odkryłem również, że ta konfiguracja jest DUŻO bardziej niezawodna niż większość $BIGCLOUD. Koniec z zastanawianiem się, co się dzieje z awarią $BIGCLOUD, do której nawet nie chcą się przyznać (i nad którą nie masz żadnej kontroli). Ponieważ mam doświadczenie w telekomunikacji i opiece zdrowotnej, jest dla mnie całkowicie szalone, jak w przypadku dostawców usług w chmurze czas pracy w rzeczywistości uległ znacznemu pogorszeniu. Zwykle możesz po prostu powiedzieć klientom: „och, Internet ma dzisiaj problemy”, ponieważ prawdopodobnie zobaczą nagłówki na ten temat, ale w przypadku wielu aplikacji jest to po prostu całkowicie nie do przyjęcia – i powinniśmy spodziewać się czegoś lepszego [0] - httpswww.section179.org/section_179_deduction/ [1] = httpswww.section179.org/section_179_leases/ Jeśli chcę rozpocząć nowy projekt lub wypróbować hosting czegoś nowego, zajmuje to kilka minut i mam skrypty. Wdrożenia są szybkie, koszty utrzymania są niskie, a ja mam o wiele więcej za swoje pieniądze Dla każdego, kto jest zainteresowany, to jest przybliżona wersja tego, czego używam: * Ansible do zarządzania wszystkim * Mały kawałek terraformu dla niektórych wpisów DNS, które być może pewnego dnia zastąpię * restrykcyjny dla kopii zapasowych, ponownie kontrolowany przez ansible * tailscale dla VPN (mam w domu trochę pi, nic wielkiego, ale tailscale sprawia, że ​​jest to łatwe i bezpieczne) * docker-compose dla prawie wszystkiego innego Główną aplikacją jest Clojure, więc uruchamiam natywną maszynę JVM. Baza danych jest w pełni rozproszona, RethinkDB pracuje obecnie nad przejściem do FoundationDB Ważne, żeby nie zarządzać niczym ręcznie, np. traktuj serwery fizyczne tak samo jak każdy inny serwer w chmurze. Nie powinno mieć znaczenia, czy jest to fizyczne, czy zwirtualizowane Widziałem wielu mniej doświadczonych ludzi, którzy przepłacali za hetznera i podobne, gdy zadziałałby vps w wysokości 5-10 dolarów Tak, w tym momencie wspierasz swój własny sprzęt. Nie, to nie jest ogromny ból głowy Największym dodatkowym kosztem jest wynajęcie większej liczby adresów IPv4, za które Hetzner na razie hojnie pobiera, biorąc pod uwagę tak małą liczbę dostępnych adresów Cokolwiek utworzysz, zacznie się od 0 użytkowników, a cała prawdziwa maszyna będzie całkowicie przesadą w przypadku 0 ładunków, które otrzymasz. Modernizujesz swój VPS do pary prawdziwych maszyn, następnie do małego wynajmowanego klastra, a następnie do centrum danych (jeśli ktoś nie podcina tego). Wszystkie mają przewidywalne rachunki i najwyższą wydajność w swojej cenie Wszystko, co posiadasz w kolorze colo, również będzie droższe miesięcznie. Kiedy miałem połączenia, za które mogłem zapłacić za statyczny adres IP, zwykle wynosiło to 5 USD miesięcznie Wynajmuję teraz dość niedrogi serwer, ale kosztuje 30 USD miesięcznie. O wiele więcej wszystkiego, czego potrzebuję, ale jest miło. I nie zrezygnowali ze wsparcia dla mojego systemu operacyjnego, jednocześnie podnosząc ceny, aby poprawić wsparcie czy coś. (Chociaż początkowo miałem trochę wadliwego sprzętu, który wymagał wymiany) jak zauważyłeś, najlepszym rozwiązaniem będzie goły metal. Działa odwrotnie niż chmura - na początku jest trochę więcej pracy, ale na koniec znacznie mniej wydatków Więcej informacji httpseuropa.eu/youreurope/business/taxation/vat/cross-bor.. Konfigurowanie i zarządzanie Postgres jest jednak uciążliwe. Byłoby miło mieć prostszy sposób na naprawienie tego wszystkiego 1. Wymusza powtarzalność konfiguracji, ponieważ maszyny wirtualne przestają działać 2. Możesz uzyskać duże zniżki na AWS, które zmniejszają ból 3. Inne rzeczy, do których masz dostęp na maszynach wirtualnych, które są tańsze/szybsze, gdy Twoje rzeczy są już w chmurze 4. Łatwiej mieć udokumentowaną konfigurację systemu (np. dokumentację AWS) niż szkolić ludzi/udokumentować, jakie specjalne rzeczy masz w domu. Szczególnie przydatne przy zatrudnianiu nowych osób 5. Nie potrzebujesz miejsca ani nadmiarowego zasilania/internetu/itp. w siedzibie firmy. Wystarczająco, aby ludzie mogli obsługiwać swoje laptopy Korzystałem wcześniej z VPS, ale przestałem i przerzuciłem się na fizyczny, ponieważ była to lepsza oferta i nie napotkaliśmy limitów procesora Monitorowanie dysku nie jest jednak zbyt trudne. W przypadku dysków twardych uruchamiaj smartctl raz na godzinę i ostrzegaj, gdy ponownie przydzielone lub oczekujące sektory szybko się powiększą lub osiągną 100. W przypadku dysków SSD trzymaj kciuki; Z mojego doświadczenia wynika, że ​​z kilkoma tysiącami zwykle działają świetnie, dopóki nie znikną z autobusu i nigdy więcej ich nie widać. Przygotuj plan odzyskiwania danych, który nie obejmuje przechowywania danych na urządzeniach tego samego modelu o bardzo podobnym poborze mocy. Błędy oprogramowania sprzętowego skorelowane z godziną pracy są rzeczywiste. Hetzner ma w końcu interfejs API do zamawiania serwerów dedykowanych oraz interfejs API do instalowania systemu operacyjnego (lub ponownego uruchamiania w celu ratowania i flashowania dowolnego obrazu) Myślę, że gdybym badał opcje komercyjne, miałbym w biurze uporządkowaną „łączność trunkingową” z komercyjnym rozwiązaniem dostawcy usług internetowych, statycznym adresem IP i może dobrym sprzętem IT, ale z tego, co wiem w tej chwili, jeśli klient potrzebowałby hostingu, to d zawsze idź od razu do wynajmu vps Byłem wtedy raczej młodszym programistą, więc może byłem, ale wcale mi tego nie brakuje. Teoretycznie zgadzam się z tym, co mówisz, ale wdrożenie pliku Dockerfile w czymś takim jak Google Cloud Run jest o wiele łatwiejsze. Tak, płacę więcej, niż zarządzałbym własnym VPS, ale myślę, że jest to więcej niż kompensowane przez zaoszczędzone godziny pracy programisty - sprzęt fizyczny ma problemy, np. awaria wentylatora ->moja maszyna wirtualna jest migrowana na żywo na inny host, nie zauważam tego ani mnie to nie obchodzi - eksplozja sprzętu fizycznego ->moja maszyna wirtualna uruchamia się ponownie na innym hoście, mogę to zauważyć, ale nie obchodzi mnie to Planowanie katastrof jest o wiele łatwiejsze dzięki maszynom wirtualnym (nawet w przypadku zwierząt domowych, a nie bydła) Dla początkującego najtańsze wykonują pracę Jestem pewien, że wraz z rozwojem przetwarzania w chmurze te oferty stają się coraz bardziej powszechne Jest jeszcze jeden aspekt przetwarzania w chmurze. Średnie i duże korporacje liczą przetwarzanie w chmurze jako jednocyfrowy procent w swoich kalkulacjach kosztów. Oznacza to, że decyzje podejmowane przez menedżerów i zespoły często szukają niezawodności i skalowalności (do umieszczenia na ich prezentacjach), a nie „czy moja konfiguracja jest kosztowna czy tania” Mój pracodawca przyjął chmurę jako grę biznesową/finansową, a nie religijną. Często umieszczamy nowe kompilacje w chmurze i w razie potrzeby przeprowadzamy później migrację do centrum danych Aplikacje on-prem kosztują około 40% mniej. Aplikacje, które są bardziej opłacalne w chmurze, pozostają tam Myślę, że jest tak, że AWS/GCP/Azure nie są zbyt konkurencyjnymi cenowo ofertami w Europie. Czego nie widzę, to dowód na to dla USA dla tej samej specyfikacji, na pewno. Myślę, że wirtualizacje mają sens na obu końcach - albo dynamiczna skalowalność dla dużych N jest ważna, albo faktycznie potrzebujesz tylko niewielkiej części fizycznego pudełka. Płacenie 45/mies. za coś, co działa znajdź 5/mc, również nie jest rozsądne i daje większą elastyczność, aby nie łączyć rzeczy razem tylko po to, by korzystać z serwera Na wszelki wypadek przechowuj kopie zapasowe. Najlepiej u innego dostawcy lub przynajmniej w innej fizycznej lokalizacji. I oczywiście przetestuj je A jeśli zarządzasz dobrym systemem tworzenia kopii zapasowych i mimo to monitorujesz swoje dane/aplikację, czy monitorowanie dysków jest dodatkowym utrudnieniem? -- [1] w rzeczywistości, jeśli zautomatyzujesz proces przywracania do innej lokalizacji, co robię dla kilku moich bitów, możesz po prostu nacisnąć ten przycisk i zaktualizować DNS po zakończeniu, a może przydzielić nieco więcej pamięci RAM + rdzeni (mój test lustra są mniejsze niż maszyny wirtualne na żywo, ponieważ nie muszą obsługiwać rzeczywistych wzorców użytkowania) Dokładnie to, co robię dla siebie i moich klientów. Oszczędza mnóstwo dosh Nawet gdybym chciał zaktualizować, wystarczy pobrać najnowszą wersję do szablonu docker-compose i ponownie uruchomić ansible playbook. Oczywiście, jeśli aktualizacja wymaga więcej, niech tak będzie, ale nie różni się to od żadnej innej konfiguracji pod względem pracy Prawdopodobnie jedyną rzeczą, którą _potrzebuję_ zrobić ręcznie, jest przetestowanie moich kopii zapasowych. Ale mam skrypt dla każdego projektu, który to robi, więc po prostu włączam SSH, uruchamiam jedną linijkę, sprawdzam wynik i gotowe. Robię to mniej więcej raz w miesiącu, ale otrzymuję też e-maile, jeśli tworzenie kopii zapasowej się nie powiedzie Więc nie może być w ogóle czasu. Zwykle jest to prawdopodobnie 1-2 godziny miesięcznie, jeśli robię aktualizacje w sposób półregularny. Ale to będzie się skalować wraz z większą liczbą rzeczy, które hostujesz i którymi zarządzasz Innymi słowy, jedyną różnicą jest to, skąd pochodzi plik inwentaryzacji ansible. Albo jest to statyczna lista adresów IP, albo pochodzi z terraform Jeśli chcesz ECC RAM, wydaje się, że to 60 miesięcznie, a także zwiększa się do mocniejszego 8-rdzeniowego procesora Niezależnie od tego, jeśli mówimy o „pełnym środowisku produkcyjnym i zduplikowanym środowisku przejściowym/standby” (cytując osobę, której odpowiedziałeś), to 60/miesiąc * (2 lub 3) jest nadal tanio w porównaniu z AWS dowolnego startupu rachunek, który widziałem Przypadki użycia są różne, ale zgadzam się, że AWS/GCP/Azure nie jest odpowiedzią na każdy problem Dla kogoś, kto może zmieścić swoją aplikację na VPS za 4 USD, będzie to oczywiście tańsze niż cokolwiek innego, ale w wielu przypadkach chmura skaluje się bardzo drogo. Bare metal również nie jest odpowiedzią na każdy problem, ale wiele osób w branży zdaje się nie doceniać, kiedy może to być właściwa odpowiedź.