Created
February 2, 2020 18:30
-
-
Save viartemev/4bed81bf10378e603de2ffb4731db21b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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