4. DevOps-40
Что мы знаем про Go?
●
●
●
●
●
●
Императивный
Компилируемый (быстро)
Статически типизированный
Сильно типизированный
Есть вывод типов
Нет tail call optimization
5. DevOps-40
Что мы знаем про Go?
●
●
●
●
Создан в Google
Появился в 2009, Версия 1 - 2012
mascot – сурок WTF? суслик
Google слишком занят
Plus, поэтому не пушит
Go ;)
7. DevOps-40
Чего мы не знаем про Go?
●
●
●
Зачем он нужен?
Похоже, Google тоже не знал ответ
на этот вопрос
Правильный подход – задизайнить
язык и подождать
8. DevOps-40
Что еще знаем про Go?
●
●
●
●
●
●
Конкурентность à la Erlang :)
Shared memory :(
Non per-thread GC :(
Статическая линковка :)
“Смешная” обработка ошибок
На Hacker News любят Go
16. DevOps-40
Juju
●
●
●
●
Это такой Packer/Serf от Canonical
Хотя, нет, это такой TurnKey Linux
от Canonical
Но деплоймент через образы VM
интереснее, чем просто эпплаенсы
Был переписан с Python на Go
18. DevOps-40
Camlistore
●
●
●
●
●
Это такой Dropbox на Go?
Или это такой Crashplan на Go?
Или это такой Swift на Go?
Персональная распределенная
система хранения контента
http://camlistore.org/docs/overview
19. DevOps-40
Groupcache
●
●
●
Это такой memcached на Go
В отличие от memcached
Умный процесс загрузки значений
из кэша – если был miss,
следующие спросившие ждут на
кэше, а не лезут в базу
20. DevOps-40
InfluxDB
●
●
●
●
Это такой OpenTSDB на Go
В отличие от OpenTSDB
Не тащит за собой H-stack и Java
Time-series database – все то, что
мы обычно храним в Graphite,
RRDs, Zabbix
23. DevOps-40
gor
●
●
●
●
Это такой emproxy на Go
Проигрывает продакшн запросы на
тестовых машинах
В отличие от emproxy
Не proxy, слушает raw socket –
продакшн окружение не меняется
24. DevOps-40
Heka
●
●
●
●
Это такой logstash на Go
А еще это такой StatsD на Go
Коллектор, агрегатор и роутер
данных, полученных из разных
источников
Поддерживает счетчики
26. DevOps-40
Zeus
●
●
●
Это такой JRebel для рубистов
“Zeus preloads your Rails app so that your
normal development tasks such as console,
server, generate, and specs/tests take less
than one second”
^ Doesn't make any sense to me
27. DevOps-40
А какие были варианты?
●
●
●
●
●
●
PHP? Ешьте сами!
C? #define true false
C++? Александреску сделал D!
VBA? OMG!
Ruby? Ага, и Twitter Bootstrap!
Server-side JS? It is web scale!