Microservices Architecture and Design Training

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. 

Course Agenda

Microservices Architecture Core Concepts

  • Overall topology
  • Core architecture components
  • Service components
  • Service granularity
  • Bounded context implications
  • Drivers and advantages
  • API layer design

Hybrid Architectures and Migration Patterns

  • Service-based architecture
  • Microservices migration patterns
  • Architectural modularity

Microservices Design Techniques

  • Service identification
  • Service design
  • Service communication patterns
  • Event-driven services
  • 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

©2019 Developer To Architect