remote highload

58
Remote Highload Андрей Смирнов

Upload: andrey-smirnov

Post on 16-Apr-2017

297 views

Category:

Engineering


0 download

TRANSCRIPT

Remote HighloadАндрей Смирнов

Удаленная работа

Неудаленная работа

Неудаленная работа

“Вы можете два дня в неделю не приезжать в офис, если, конечно, не будет встречи с заказчиком…”

Неудаленная работа

“Вы можете два дня в неделю не приезжать в офис, если, конечно, не будет встречи с заказчиком…”

“Вы можете остаться дома, если чувствуете, что заболеваете…”

Неудаленная работа

“Вы можете два дня в неделю не приезжать в офис, если, конечно, не будет встречи с заказчиком…”

“Вы можете остаться дома, если чувствуете, что заболеваете…”

“Мы наймём команду из N-ска, потому что там зарплата на 20% ниже…”

Наше кредо

Удаленная работа – это способ собрать лучших профессионалов со всего мира.

сон

работа

Virtustream

Virtustream Enterprise

CloudVirtustream

Storage Cloud

Что мы делаем?• Virtustream Storage Cloud (VSC):

S3-совместимое хранилище объектов

• Клиенты: enterprise

• Масштаб: • > 15 000 серверов • > 20 дата-центров • > 1 экзабайта данных

Сколько нас?

40 человек: Service Engineering + Platform Engineering

Еще: Network, QE, SRE, Monitoring, ROCC, CS, …

Инструменты

Асинхронные коммуникации: Slack, почта, …

Звонки: телефон, Skype, Slack, …

Видеоконференции: Zoom, Skype, …

Организация: JIRA, Realtimeboard, …

Общение через кодGitHub

Peer-review

Документация как код

Конфигурация как код

Мониторинг как код

Ритуалы

Ритуалы

Standup

Ритуалы

Standup

Планирование, ретроспектива, …

Ритуалы

Standup

Планирование, ретроспектива, …

“Аварийный” звонок

Бессмысленные встречи: в офисе

Бессмысленные встречи: удаленная работа

Личная встреча

Образ человека

Упрощение удаленного общения

Расстояние и частота личных встреч

Командировки вместо офиса

Различия в культуре

It’s all about people (все дело в людях)

Как мы отбираем людей?

Как мы отбираем людей?

Анализ резюме, первый разговор

Как мы отбираем людей?

Анализ резюме, первый разговор

Тестовое задание

Как мы отбираем людей?

Анализ резюме, первый разговор

Тестовое задание

Техническое собеседование

Как мы отбираем людей?

Анализ резюме, первый разговор

Тестовое задание

Техническое собеседование

Общее собеседование

Тестовое задание

Тестовое заданиеЯ считаю это ниже своего достоинства.

Тестовое заданиеЯ считаю это ниже своего достоинства.

Я покажу все известные мне технологии.

Тестовое заданиеЯ считаю это ниже своего достоинства.

Я покажу все известные мне технологии.

Я не умею писать код.

Тестовое заданиеЯ считаю это ниже своего достоинства.

Я покажу все известные мне технологии.

Я не умею писать код.

Я нашел готовое решение в Google!

Тестовое заданиеЯ считаю это ниже своего достоинства.

Я покажу все известные мне технологии.

Я не умею писать код.

Я нашел готовое решение в Google!

Я докажу, что я прав! (код как протест)

Доверие

Доверие ➡ Ответственность

Доверие и ответственность

Доверие и ответственность

Доступ к коду

Доверие и ответственность

Доступ к коду

Доступ в production

Доверие и ответственность

Доступ к коду

Доступ в production

Финансы

Dev~Ops, Dev~QE, …

Передача задач по цепочке

или:

“Я всё сделаю сам”

Консультанты

Ловите, хватайте, держите, Столкните, скрутите, свяжите,Поймайте консультанта…

(мюзикл “Мастер и Маргарита”)

(nikolaykorolev.ru)

Процессы

Scrum (конечно не работает)

С ростом команды нужен процесс (или структура)

Ритуалы и ограничения

Проблемы

Swim lanes

Узкая специализация

Отсутствие обмена знаниями

Продукты вместо взаимодействия

Проблемы

Проблемы

Разные часовые пояса

Проблемы

Разные часовые пояса

Разная загруженность команд

Проблемы

Разные часовые пояса

Разная загруженность команд

Разные приоритеты

Доступ как продукт

Continuous Integration

Production

Тестирование

Выкладывание

Автоматизация как продуктМониторинг

Конфигурация

Выкладывание

Сборка и тестирование

Платформа как продукт

API

Разделение ресурсов

Высокая плотность

Легкость использования

Контейнерная платформа

Mesos – управление ресурсами кластера

Marathon – запуск задач и поддержка состояния

Calico – IP-per-container

Consul – конфигурация, service discovery, healthcheck

Возможности

Управление через API

Запуск сервиса и устойчивость к сбоям

Service discovery, healthchecks

Безопасность

ИнструментыКонфигурация

Выкладывание/перезапуск и т.п.

Сетевой firewall

Мониторинг

Агрегация 500х

Лог изменений

Минусы и плюсы• Общение

• Авралы

• Личная свобода

• Swim lanes

• Knowledge sharing

• Highload

• Продукты

• Уровень команды

• Доверие и ответственность

• Всё дело в команде

Вопросы!

Андрей Смирнов

[email protected]

@smira