Microservices Architecture and Design
Understanding core concepts, challenges, and hybrid architectures
Microservices is one of the latest software architecture styles that promises to deliver benefits such as ease of testing, fast and easy deployments, fine-grained scalability, architectural modularity, and overall agility. It is undeniably one of the more popular trends in the software industry, and everyone seems to be eager to quickly embrace and adapt this new architecture style. Unfortunately, as many companies are painfully experiencing, microservices is a fairly complex architecture style that is not suited for all applications and environments.
Join Mark Richards, author of the O’Reilly video training course series Software Architecture Fundamentals and also of the O’Reilly reports Microservices vs. Service-Oriented Architecture and Microservices Antipatterns and Pitfalls, for a two-day, intensive online course that takes a detailed journey through the microservices architecture style. By the end of this course, you will gain a full understanding of the microservices architecture style and what hybrids and alternatives exist, which will help guide you in making the right architecture and design decisions for your organization.
What you'll learn-and how you can apply it
By the end of this live, hands-on, online course, you’ll understand:
- The core concepts behind the microservices architecture style
- The primary benefits and drawbacks of microservices
- How microservices differs from service-oriented architecture
- Hybrid architectures such as the popular service-based architecture style and event-driven microservices
- Microservices design techniques and patterns such as reporting, database migration, and remote access hybrids
And you’ll be able to:
- Make the right architecture and design decisions for your organization when it comes to Microservices
- Navigate the challenges surrounding microservices implementation such as service granularity, service contracts, distributed logging, distributed transaction management, eventual consistency, and remote access reliability and latency
This training course is for you because...
- You are a software architect or technical lead in any platform who wants to fully understand the architectural aspects of the microservices architecture style to determine whether it is the right fit for your application and/or organization.
- You are considering using microservices for your organization
- You are migrating to a microservices architecture but experiencing issues and challenges
- You want to validate your decisions regarding microservices in your organization
- You want to learn about other service-related architecture styles besides microservices
- You want to deepen your understanding of microservices
No prior experience with microservices is required as the course will cover the core concepts, challenges, and design techniques of microservices.
Since this course is focused more on the architecture and design aspects of microservices, we will not write any code in this class. Therefore, no laptop or computer is required for the course (other than to take electronic notes if so desired).
About your instructor
Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and distributed systems in a variety of technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark served as the president of the New England Java Users Group from 1999 through 2003. He is the author of numerous technical books and videos, including the Software Architecture Fundamentals Video Series (O’Reilly video), Enterprise Messaging (O’Reilly video), Java Message Service, 2nd Edition (O’Reilly), and several books and videos on Microservices (O’Reilly). Mark is also a conference speaker and trainer and has spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.
The timeframes are only estimates and may vary according to how the class is progressing
Microservices Core Concepts
- Distributed architecture challenges and considerations
- Service component granularity
- Bounded context concepts and challenges
- Microservices drivers and advantages
- API layer overview
Microservices Hybrids and Migration Techniques
- Service-based architecture
- Microservices migration patterns
- Architectural modularity
Microservices Design Techniques
- Service identification techniques
- Service template design patterns
- Event-driven services
- Service communication patterns
- Remote access error handling
Microservices Data Considerations
- Distributed data challenges
- Creating data domains
- Dealing with common data
- Deferred data migration
- Distributed Transactions
- Eventual consistency patterns