Microservices Architecture and Design

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 latest trends in the software industry, and everyone seems to be jumping on the bandwagon 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.

In this intensive 1-day course I will take you on 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. 

In Part 1 (Microservices Core Concepts) you’ll learn the basic concepts of the microservices architecture style. I’ll discuss aspects surrounding distributed architecture, service components, service granularity, bounded context, the API layer, and the advantages and disadvantages of this architecture style.

In Part 2 (Hybrid Architectures and Migration Patterns) you’ll learn how to apply microservices to standard business applications through hybrid architectures. Then you’ll learn the migration patterns for migrating from monolithic n-tiered layered architectures to micorservices. I’ll finish this section with a discussion about why architectural modularity is so important in today’s world. 

In Part 3 (Microservices Design Techniques) you’ll gain a deeper understanding of the design aspects of microservices, and learn how to overcome some of the design challenges associated with the microservices architecture style. Included in this section is a detailed, product and platform agnostic explanation of service identification and design, distributed logging techniques, remote service communication patterns, and remote access error handling techniques.

In Part 4 (Microservices Data Considerations) you’ll gain a deeper understanding of the data aspects of microservices, which is in my opinion one of the hardest parts of microservices. In this section you’ll gain a deep understanding of the challenges of distributed data within a microservices ecosystem by learning how to create data domains, how to deal with common database tables, how to migrate data, and how to do distributed transactions. 

For more information about the course or to schedule the course for your organization please contact me directly. 

© Mark Richards 2017