Design Guidelines and Patterns for Microservices
In modern service-based solutions, services are developed and deployed as microservices. Microservice development involves countless technology and design choices, including industry standards, frameworks, design patterns, integration approaches, middleware products, and tools. And it is a moving landscape-new ideas and products for services and microservices show up every week.
This two-day course will give you the essential knowledge to see the microservices landscape with clarity. We will cover six guidelines for microservice designs. More important, we'll look at the strategies available today to realize each design guideline. These strategies include design patterns, architecture tactics, and infrastructure elements and are complemented by good practices and governance precepts. See the Topics section for the list of design guidelines and strategies.
For this class, we developed a simple, clear, and consistent design notation for the more than 60 design diagrams used to convey and exemplify the design guidelines and strategies. But you don't just get to listen and read. Participants will share their experience throughout the course. The course also includes fun exercises and a hands-on design lab, in which attendees evaluate existing designs based on the design guidelines, and create new designs using different patterns and other design strategies.
Audience
This course is valuable for
- software and application architects
- developers who use service and microservice technologies in their solutions
Objectives
After attending this course, learners will understand
- what is a microservice and what is the microservice architecture style (beyond the hype)
- design guidelines for successful microservice-based solutions
- strategies, including several design patterns, that can be used to realize the service-orientation guidelines
Completion of this course fulfills a training requirement for the SEI's Microservice Architect certificate program.
Topics
The course covers the following topics:
- the Microservice architecture style and service-orientation
- strategies and patterns for realizing the seven design guidelines applied to microservices
- standardized service contract. Strategies include:
- design standards for REST APIs
- API gateway
- BFF
- contract-first design
- service loose coupling. Strategies include:
- Wrapper pattern
- point-to-point, publish-subscribe and other messaging patterns
- event-driven architecture
- service reusability. Strategies include:
- modeling for reuse
- Strangler Fig pattern
- establishing a service registry
- service autonomy. Strategies include:
- Saga pattern
- modeling services with DDD
- Database per Microservice pattern
- Service Data Replication pattern
- CQRS
- event sourcing
- service statelessness. Strategies include:
- State Messaging pattern
- circuit breaker
- asynchronous service without a broker
- service deployability. Strategies include:
- continuous delivery
- blue-green and canary deployment
- laC
- DevOps
- externalized configuration
- serverless architecture
- log consolidation
- monitoring and tracing
- container orchestration patterns
- service mesh
- standardized service contract. Strategies include:
Materials
Participants will receive a digital copy of the course presentation slides, design lab exercises, and a "cheat sheet" with the most important concepts. Participants will also receive a printed Certificate of Completion at the end of the class.
Prerequisites
Participants should have a sound understanding of distributed systems and REST or have attended the Designing Modern Service-Based Systems course.
Course Fees in USD
- Govt/Academic $1,200
- Industry $1,500
- International $2,250
Schedule
This live-online 4-day course meets at the following times:
Days 1-4, 1:00 p.m. - 6:00 p.m. Eastern Time
This course may be offered by special arrangement at customer sites. For details, please email course-info@sei.cmu.edu or telephone at +1 412-268-1817.
IMPORTANT NOTICE:
Carnegie Mellon University/Software Engineering Institute offices will be closed for winter break, December 21, 2024-January 1, 2025. SEI course registrations received during this period will be confirmed and enrollment completed upon our return on January 2, 2025.
Course Questions?
Email: | course-info@sei.cmu.edu |
Phone: | 412-268-7388 |
Related Courses
Software Architecture: Principles and Practices - eLearning
ONLINE • Software Architecture, Cyber Workforce Development
This eLearning course introduces participants to essential software architecture concepts in a real-world setting using case studies, examines the technical and organizational issues regarding software architectures, and emphasizes the importance of the business context in which systems are designed.
Learn MoreDesigning Modern Service-Based Systems
Software Architecture, Cyber Workforce Development
SOA, now a cornerstone of modern distributed systems, focuses on microservices, messaging, and container orchestration. This course explores essential tools like REST, gRPC, message brokers, and API gateways, along with security and containerization for microservices.
Learn MoreTraining courses provided by the SEI are not academic courses for academic credit toward a degree. Any certificates provided are evidence of the completion of the courses and are not official academic credentials. For more information about SEI training courses, see Registration Terms and Conditions and Confidentiality of Course Records.