[О блоге] [наверх] [пред] [2022-02-08 19:27:25+03:00] [fc9710d9e1a4c4e6f2f2e28665a574975013ef6f]
Темы: [bsd]

HackerNews сервер

https://news.ycombinator.com/item?id=16076041
https://news.ycombinator.com/item?id=28478379
https://news.ycombinator.com/item?id=30257487
Весь HackerNews работает на двух серверах (master и запасной) с FreeBSD:
    CPU: Intel(R) Xeon(R) CPU E5-2637 v4 @ 3.50GHz
    FreeBSD/SMP: 2 package(s) x 4 core(s) x 2 hardware threads
    Mirrored SSDs for data, mirrored magnetic for logs (UFS)
К сожалению, многие даже не подозревают насколько вообще то современное
железо мощное и как много на нём можно делать. Чуть что, так сразу
бросаются за решениями с облаками и десятками машин.

    [оставить комментарий]
    комментарий 0:
    From: kmeaw
    Date: 2022-02-08 17:37:31Z
    
    > Чуть что, так сразу бросаются за решениями с облаками и десятками
    > машин.
    
    Как мне кажется, тому есть две причины. Когда работаешь с одним или даже
    двумя физическими серверами, то легко поддаться соблазну, и начать
    настраивать сервер вручную, интерактивно, вместо написания кода, который
    приводит сервер в нужное состояние. Когда состояние машины будет
    потеряно (умрут сразу все диски или систему взломают), повторить
    некоторые его части будет проблематично. Когда серверов сильно больше,
    то приходится использовать инструменты, решающие эту проблему. Но часто
    они подталкивают к разрастанию инфраструктуры, потому что написаны в
    первую очередь для тех, у кого она большая.
    
    Другая причина - в необходимости строить отказоустойчивые решения. В
    облаках обычно уже есть надёжные сервисы для хранения состояния, они
    сразу готовы к использованию.
    
    А по поводу мощности - согласен, сейчас можно в облаке получить одну
    виртуальную машину с терабайтами ОЗУ, сотнями ядер и связностью с миром
    в десятки гбит/с. И если надёжность не важна, то очень многие
    практические задачи можно будет решать на этой одной машине, не
    затрачивая усилий на поддержку инфраструктуры для запуска той же задачи
    на кластере.
    
    комментарий 1:
    From: Sergey Matveev
    Date: 2022-02-08 17:55:10Z
    
    *** kmeaw [2022-02-08 20:36]:
    >настраивать сервер вручную, интерактивно, вместо написания кода, который
    >приводит сервер в нужное состояние.
    
    Что приводит и к другому:
    
    * люди пишут код для разворачивания, вместо написания кода для
      выполнения самой задачи. Неразумно балансируют затрачиваемые силы
    * люди меняют архитектуру своего ПО для того чтобы оно стало дружелюбно
      к "облакам", в итоге невероятно всё переусложняя, как будто завтра их
      сайт любителей хрюшек (без обид для babai.ru, просто недавно смотрел
      новости на нём :-)) станет очередным Facebook-ом. И любой простейший
      сайтик, который раньше бы выполнялся одним CGI на Perl -- теперь
      представляет портянку из кучи микросервисов, которые уже никто не
      знает как запустить "вручную"
    * люди разучиваются и не знают как руками то что-то при этом поднять.
      Очень слабо представляя из чего же вообще сделаны компьютеры и как
      внутри них (и ОС) всё устроено хотя бы в общих чертах
    
    В итоге за бешенный ценник мы получим зачастую нечто невероятно
    переусложнённое. Хотя, грубо говоря, достаточно было бы tar cf сделать
    на вручную развёрнутом сервере, если он упадёт и надо будет восстановиться.
    
    Я тут говорю про довольно простые задачи, к которым бы отнёс и
    HackerNews, как очень примитивный по своему функционалу сайт. Форумные
    движки куда сложнее. И прежде без проблем поднимали это всё относительно
    быстро и оно годами крутилось. В случае проблем -- ну будет какой-то
    downtime, не страшно -- 99.99% сайтов/задач это не Facebook/Google
    абстрактный, где простой критичен.
    
    >Когда серверов сильно больше,
    >то приходится использовать инструменты, решающие эту проблему. Но часто
    >они подталкивают к разрастанию инфраструктуры, потому что написаны в
    >первую очередь для тех, у кого она большая.
    
    Вот-вот! Для всего свои инструменты. А современный модный тренд это
    делать как Google и Facebook, абсолютно бездумно.
    
    >А по поводу мощности - согласен, сейчас можно в облаке получить одну
    >виртуальную машину с терабайтами ОЗУ, сотнями ядер и связностью с миром
    >в десятки гбит/с.
    
    Я скорее имел в виду что для многих задач связанных с сайтами --
    мощность совершенно не нужна. Ну то есть на машине с 10-летней давности
    CPU и парой гигабайт RAM можно и большие форумы и Интернет-магазины
    отлично крутить. Но да, наверное не на Python, грубо говоря.