Для работы в рамках мастер-класса потребуется установить следующее ПО:
- Стабильная версия Go не ниже 1.6 и любой IDE или редактор для работы с Go-кодом
- Docker — для сборки и запуска контейнеров с готовым приложением
- Аккаунт на GitHub (достаточно самого простого бесплатного аккаунта) — для хранения и публикации кода своего сервиса и работы с CI-/CD-подходами
- Любой инструмент для работы с Git
- Любой SSH-клиент — для соединения со средой Kubernetes
- Также мы будем использовать kubectl и Helm, их мы будем устаналивать и настраивать непосредственно в течение мастер-класса
В случае, если с установкой ПО возникли проблемы, пожалуйста, обратитесь к авторам мастер-класса до начала или во время мероприятия.
В течение мастер-класса мы будем писать код на Go. Мы начнем с самого простого возможного сервиса, поэтому участникам достаточно начального знакомства с Go. Для ознакомления с языком можно посмотреть Go Tour.
Также до начала мероприятия участникам предлагается подумать над следующми вопросами:
- Как появились микросервисы? На чем основаны идеи микросервисной архитектуры?
- Из каких частей обычно состоит REST-сервис?
- Какими способами можно задать конфигурацию приложения? В чем плюсы и минусы этих способов?
- В чем, на ваш взгляд, преимущества размещения сервисов в контейнерах?
- Зачем нужны системы управления контейнерами?
- Что значит «релиз сервиса без downtime»? Какими способами можно этого добиться?
- «Чем чаще релизы, тем больше сбоев», — правда ли это?