- Reviewing the history of service-based architectures
- Microservices and cloud native
- Communications in a microservices architecture
- Data domains as a service boundary
- Logging and tracing in a microservices architecture
- Continuous delivery as a requirement
- Addressing design considerations and patterns
- Embracing a DevOps culture
Skill Level Intermediate
- The world of software is on fire with various discussions around microservices architecture. Any conference you go to, any architect you follow on Twitter, or any other medium where you engage with established software architects, you will hear about microservices. Hi, my name is Frank Moley, and I'm a software, technology, and security architect with significant time in all aspects of the software development lifecycle.
I have been engaged with web and service-based architectures for quite some time now, and have experienced many different hot topics in this arena. No other architecture pattern has given me as much excitement as microservices has. This architecture aims to solve the global challenges that today's businesses face, as well as promote patterns of distribution, agility, and scalability needed in today's world.
We're asked to do more with fewer resources each and every day, and microservices answers many of these needs, but it does come with a cost. In this course, we'll start with a brief history of software architectures for enterprise and internet-based systems. We'll dig into the three biggest patterns that have emerged over the last 10 to 15 years, the monolithic N-tier architectures, the advent of service-oriented architecture or SOA, and the new hotness, microservices.
We'll then talk about the services themselves and how to determine the boundaries between services. As we discuss microservices and the core concepts about the architecture, I'll provide you the basic information you need to make educated decisions about how your system can leverage the key concepts. After we have a footing on the core concepts, I'll dig into more advanced areas of the architecture, including event-based, asynchronous communications, tracing and logging in the system, and various hybrid architectures.
We'll finish up looking at the architecture choices you need to make, design considerations, managing the trade-offs, and the need for edge services using real-world examples. I will also talk a little about the importance of a DevOps-type culture when moving into this architecture. This course will be fast-paced and loaded with industry examples, my personal experiences, and industry best practices. This in-depth conversation will leave you with a solid foundation for you and your team to make decisions about moving to this architectural model, so let's get started.