Changes between Version 1 and Version 2 of Analytics_v2/Technical


Ignore:
Timestamp:
Feb 10, 2016, 11:37:24 PM (9 years ago)
Author:
andy
Comment:

инфраструктура и сервер приложений

Legend:

Unmodified
Added
Removed
Modified
  • Analytics_v2/Technical

    v1 v2  
     1= Инфраструктура =
     2
     3Технологии сейчас дозрели, и можно сделать очень качественную инфраструктуру для разработки:
     4- автоматического деплоймента и отката версионированных имиджей
     5- тестирования обновлений ОС
     6- точной воспроизводимости девелоперского окружения на продакшене
     7
     8Всё это без необходимости большой ручной работы или трудоемкого написания скриптов, еботни с ветками и т.п. - того, что, как мы увидели, не работает на практике.
     9
     10Помимо этого, получаем довольно полную изоляцию компонент - условно, обновление Jupyter не сможет повлиять на работоспособность varnish, работающего в соседнем контейнере - у каждого из компонентов полностью независимая файловая система и свои версии зависимостей, включая ОС.
     11
     12Ещё почти бесплатно получается эластичность - возможность поднимать сервера по требованию (и соответственно, не платить, когда нет нагрузки)
     13
     14= Сервер приложений =
     15
     16- ОС (Arch/CoreOS/...)
     17- рантайм контейнеров (docker/rkt/...)
     18- супервизор контейнеров (systemd)
     19- сервер удалённой администрации (puppet/fleet)
     20- система имиджей
     21- система эластичности (поднятие-опускание VPS)
     22
    123= Базовые компоненты =
    224
    3 Всё сидит в контейнерах а ля docker в
    425
    526- Веб-фронтэнд - что-то, слушающае на http://v2alpha.bitcoin-analytics.com
     
    829  - многопользовательская IDE (компонент Jupyter)
    930  - nbviewer - многопользовательский read-only просмотрщик ноутбуков (компонент Jupyter)
     31  - биллинг (можно взять из аналитикса)
    1032- Репликатор - бекапит все накапливаемые данные (биллинг, Jupyter notebook sources, ...). Есть много разных вариантов, помимо меркуриала, например, DRBD (репликация файловой системы на уровне секторов), но меркуриал тоже себя отлично зарекомендовал.
    1133- сервер авторизации (компонент Jupyter)
     
    1436- кернелы - генерят основную нагрузку на память-цпу, общаются по zeromq c IDE и вьюверами. Надеюсь, nbviewer не запускает 100500 идентичных кернелов, а кеширует результат единственного запуска.
    1537
     38Нужен ещё какой-то более вменяемый фидбек, чем Discus - может есть сервис, позволяющий пледжить баунти за фичи.
     39