Microservices Architecture Course
Learn how to evolve enterprise software projects from a Monolithic to a Microservices Architecture
Integrate multiple architectural patterns and practices for designing reliable, scalable and maintainable applications, in any environment
Overview
The Microservices Architecture is a modern enterprise software architectural pattern, characterized by high maintainability, scalability and resilience. It has been implemented by many of the largest and most successful companies in the world - including Netflix, Amazon, Uber, and eBay.
Our Microservices Architecture course provides the knowledge required to understand the main enterprise software project architectures (Monolithic and Microservices), the benefits and drawbacks of each model and the processes and patterns used to migrate from a Monolithic to a Microservices Architecture.
Objectives
The main objectives of the Microservices Architecture course are:
- Learning an overview of the aspects and recommended practices for planning, designing and architecting a Microservices Architecture
- Learning the architectural patterns and practices used throughout the entire transition and development phases
- Learning the patterns and practices used to monitor, troubleshoot and maintain a Microservices Architecture
Duration and Schedule
The standard course duration is 5 days, with 6 or 7 hours of teaching each day. If possible, we highly recommend a longer duration, to allow more time for customized hands-on work (based on the project needs), discussions, and analysis.
The scheduling per day:
- Day 1: Microservices and Monolithic Architectures overviews, migrating from a Monolithic Architecture
- Days 2-4: The Microservices Architecture development and infrastructure patterns
- Day 5+: Hands-on workshop, on the most useful topics chosen by the participants
The participants can choose to have hands-on sessions between each topic they find especially useful.
Sessions scheduling:
- Each topic will be presented in one or more hours, depending on its complexity, the resulting Q&A discussions and the participants’ choice of hands-on work
- We will take a break approximately every 50 minutes. Depending on their complexity and discussions, some sessions may be postponed for the next day. We intend to present each topic very thoroughly - and not rush through or skim over essential material.
Course Schedule
Day 1
Enterprise architectures overview, Microservices vs Monolithic architecture
- From Monoliths to Microservices
- Microservices architectural patterns
- Migrating to a Microservices Architecture
Day 2
Inter-Process Communication
- Overview of the Inter-Process Communication in a Microservices Architecture
- Synchronous and asynchronous communication - patterns, technologies, trade-offs
Day 3
Application patterns
- Database architecture - shared and individual
- CAP theorem, consistency types (strong, eventual & causal)
- Maintaining data consistency
- Data querying
- Transactional messaging patterns
Day 4
Testing and application infrastructure patterns
- Testing, from unit to end-to-end testing
- Application infrastructure patterns
- Deployment patterns
Day 5
Hands-on workshop, on the topics chosen by the participants
- Customized hands-on workshop
- Course feedback
Target Audience
The course is designed both for participants who are new to the concept of Microservices and those who want to improve their knowledge and skills. The main targeted audience, in terms of job role and profile:
- Managers & Business Professionals - Project Managers, Product Owners, Scrum Masters, Solution Designers and Business Analysts
- Attendance is highly recommended on the first day in particular, when we present the differences and tradeoffs between the Monolithic and the Microservices Architectures
- Technical Roles - Software and Solution Architects, Tech Leads, Developers, QAs
Course participants will want to:
- Understand a high- and mid-level overview of the Microservices Architecture - alternatives, patterns, challenges, trade-offs, implementation and integration patterns
- Understand the process of migrating a Monolithic application to a Microservices Architecture
- Understand the multiple architectural patterns that can be used to design, architect and build a maintainable, reliable and scalable Microservices Architecture
Understanding Your Needs
Contact us for a short discussion, to understand your needs and timeline
Prerequisites
Here are the minimal prerequisites required to attend the Microservices Architecture course:
- Basic enterprise software development literacy: familiarity with basic enterprise software development concepts and practices; no specific programming or technical skills are required
- Understanding of basic programming concepts
- Needed to understand the multiple architectural patterns and their trade-offs
- The course is not addressed to a particular programming language, with examples presented in Java, C# and Python
- Curiosity about technology: an interest in learning how the Microservices Architecture improves the maintainability, scalability, deployability and resilience of their applications
- Willingness to learn: openness to exploring new concepts, architectural patterns and their trade-offs
Testimonials
Contact Us
Please send us a message about any inquiry you may have