The document discusses implementing a hexagonal architecture and domain-driven design approach with Spring Boot. It promotes starting with use cases and domain context, using entities and value objects to model the domain, and aggregates for complex relationships. It also advocates an ports and adapters approach using Spring Boot modules like Spring MVC, Spring Data, and Spring Messaging to connect business logic to databases, queues, APIs and other external services through adapters. The summary emphasizes changing one's perspective to focus on the business logic and domain model first and using existing Spring Boot features to build the technical implementation around it.
30. Each service has similar structure
SERVICE
DB
QUEUE
UI
API
EXTERNAL
SERVICES
API CONTRACTS
Spring MVC
Spring MVC
Spring Data
Spring
Messaging
RestTemplate
Feign
Spring Cloud
Contracts
34. There are still some blockers
#1. Transactions
#2. Validation
#3. Thick client
#4. DB tuning
#5. Thinking model
35. Summary
• Change your point of view from layered approach
• Start using ports and adapters approach
• Make business logic use case driven
• Learn how to use existing Spring Boot modules
• Adopt Domain Driven Design ideas
• Be happy unicorn in the rainbow world ;)
Это только мой опыт, но он достаточно широкий за счет работы во многих компаниях и общения с широкой аудиторией
У вас есть CI? Да, у нас стоит Jenkins где-то. Причем, неожиданно все начали использовать CI/CD повсеместно, хотя от CD у большинства нет ничего вообще. Постоянные holy wars по поводу инструментов: chef, puppet, ansible, terraform.
Департаменты развивают принципы локализации ответственности, что очень вредно.
Уходите от смешных job titles. Стройте командную ответственность, потому что ответственность замыкает работу на определенных людей, так как спрашивать будут с них. В итоге развивается бюрократия и нет гибкости. Например, доступ к инфраструктуре или работа с зависимостями. И DevOps инженеры мало несут реальной ответственности. Командная работа приносит дополнительные Point of Views. T-shape инженеры важны, невозможно знать и уметь все. Инструменты важны и нужны, раньше их не было и жизнь была похожа на ад. Настроенные и прописанный инцидент менеджмент. Не занимайтесь тушением пожаров. Как дракончик с лейкой на картинке. У всех нет времени, поэтому нанимают новых людей. Они делают больше пожаров, что зацикливает процесс. Diversity на примере оптимистов и пессимистов, девушек, джунов и т.д.