Skip to content

Instantly share code, notes, and snippets.

@viartemev
Created February 2, 2020 18:30
Show Gist options
  • Save viartemev/4bed81bf10378e603de2ffb4731db21b to your computer and use it in GitHub Desktop.
Save viartemev/4bed81bf10378e603de2ffb4731db21b to your computer and use it in GitHub Desktop.
1. Описание проекта
- построен аутсорсерами
- неравномерная пиковая нагрузка
- состав команды
2. Технический аудит проекта:
- причины для проведения аудита (проблемы проекта)
- Преждем чем что-то делать нужно делать замеры ДО и ПОСЛЕ (но только после того, как ты исправил критические проблемы)
- "Начинаем релиз, возможны временные баги"
- five why
- CI/CD - ошибки при релизах, релизы идут долго в ручном режиме -> автоматизация релизов
- тестирование не находит баги -> поддержка актуальной среды для тестирования
- Реагирование на проблемы
- чаты/системы оповещения
- мониторинг
- постмортемы
- баг может быть вовсе не багом, а не продуманной фичей
- Микросервисы
- мониторинг
- healthcheck
- single responsibility principle
- сервисы изолированы и только они знают про внутренее устройство
- версионирование API
- Микросервисы:HTTP:
- мониторинг времени ответа
- timeouts
- connection pools
- circuit breaker
- Микросервисы:DB:
- мониторинг базы
- JPA:
- flush
- оптимальность запросов, count
- DDoS базы данных
- версионирование базы
- индексы
- транзакции
- блокировки
- AUTOVAACUM
- Микросервисы:Security:
- websockets security
- Микросервисы:Java:
- anync job - не масштабируются, альтернатива - Quartz, Redis.
- multithreading - используйте примитивы
- Микросервисы:Wisdom:
- используй только те технологии, которые тебе необходимы, выбирай по потребности
- а давайте перепишем все на ... -> не работает
- Воспроизводимость создания среды
- проблемы, если у тебя нет автоматизации, хотя бы Ansible
- шаг 1 -> автоматизация череез Ansible
- шаг 2 -> переезд в облако
- шаг 3 -> автоматизация Terraform
- шаг 4 -> Kubernetes & Helm charts
- шаг 5 -> контур для каждого разработчика + QA / Staging / Production
- Ревью подрядчиков и используемых услуг:
- делегирование услуг сервисам
- аудит расходов (оптимизация тарифов, планов и заключение контрактов)
3. Аудит процессов:
- единый источник правды - твой трэкер (проблема коммуникации)
- "спринты" были по 2 недели, но по сути задачи скапливались и переносились, влетал постоянно бизнес, маркетинг и т.д.
- code review
- tests / много возвратов из QA
- большие задачи (разработчик брал задачу, делал как считал нужным и возвращался через неделю)
- стендапы были никому не нужны и оценка так же была никому не нужна
4. Текущие проблемы:
- bus factor
- документация для пользователей системы (в работе -> помощь как часть сайта)
- документация для разработчиков (в работе -> architectiral decision records)
- тестирование: TMS + автоматизация тестирования
- разделение сервисов
- миграция
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment