TT7050: Understanding Microservices | A Technical Overview

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

Understanding Microservices is a technical overview services training course geared for managers and project stakeholders who need to understand the impact of microservices, what is different about a microservice orientation and the overall process of adoption and implementation. This course focuses on what separates an ad hoc set of services from a managed, vibrant, reusable catalog of microservices. It provides an overview of the entire spectrum from the promise of shattering monolithic computing to the grit of exchanging data. The course presents a clear portrait of how a microservice orientation can fundamentally change the dynamics of how software is developed and “lives” within an enterprise.

Organizations are struggling with how to translate the microservice/DevOps/Continuous Deployment vision into practical terms and concepts. Understanding Microservices: A Technical Overview is designed for enterprise managers and stakeholders who wish to understand what microservices and a microservice-orientation are and how implementing microservices will impact their projects.

While our training is “technology centric”, it is vendor independent, meaning that the content is not clouded by sales and marketing messages. Although a specific product can be discussed, the comprehensive lessons are geared towards teaching the practical application of microservices, rather than focusing on the finer points of the tools in use. Of course, microservices is not a technology but a set of practices and concepts that hold the promise of more closely aligning business with IT applications.

Audience Profile

This an overview level services training course, designed for people who need to understand and manage existing or upcoming microservice projects. Experience with managing and working with enterprise applications will be helpful. We will explore the terminology, the specification, the processes and technologies specific to microservices. Attendees should have a minimum of 2 years working knowledge in the IT industry.

At Course Completion

Microservices continues the evolution of systems and applications being decomposed into smaller components that work together to accomplish larger business tasks and services. Microservices are single purpose, autonomous, and independently deployable.

This course provides a solid understanding of what microservices bring to the table and how to facilitate the implementation, deployment, and management of microservices.

Students are taken on an in-depth tour of the basic microservices concepts as well as how they relate to SOA and other architectural styles. They will examine the challenges associated with microservices as well as how to identify and design them. The course then moves into designing and building REST-based services and working those services using various components. The course addresses additional challenges such as scaling, monitoring, securing, and containerizing microservices.

Our engaging instructors and mentors are highly experienced practitioners who bring years of current "on-the-job" experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn to:

· Explain the issues associated large, monolithic applications and how microservices present an opportunity to address many of those issues.

· Understand the relationships between microservices and SOA, SOAP services, and other recent initiatives.

· Implement RESTful microservices that take advantage of containers and the declarative nature of assembling simple components into executable entities.

· Work with implemented microservices to package, deploy, and manage them.

· Understand and work with the Cloud to scale microservices

· Containerize microservices using Docker

· Recognize and use best practices relative to designing and working with microservices

· If time permits, there is also coverage of OAuth and OpenID

Outline

Session: Microservices Overview

Lesson: Monolithic Versus Micro

· Trend to reduce the monolithic nature of applications

· Explain the principles and characteristics of microservices

· Recognize both good and poor candidates for microservices

Lesson: Supporting and Managing Microservices

· Scaling Microservices

· Microservices Components

· Circuit-Breakers

· Load Management

· Provisioning

· Cloud Services

Lesson: Designing Microservices

· Microservice Boundaries

· Size of Deployable Unit

· Communication Patterns

· Microservice endpoints

· Data Stores and Transaction Boundaries

· Challenges with Microservices

Session: The Microservices Ecosystem

Lesson: Working with Microservices

· Typical Microservices Stack

· Monitoring Microservices

· Logging

· Containerizing with Docker

· Deploying into Docker

· Orchestration of Microservices

Lesson: Microservice Best Practices

· Motivation and Mindset

· Minimum Viable Product

· Challenges of Data and Data Islands

· Spring Data and Microservices

· PrePersist, PreUpdate, and Repository Interface

· A DevOps-Style Microservice Life Cycle

· Continuous Delivery Pipeline

· Governance

· Tracking APIs and API Consumers

Lesson: Microservice Patterns

· Aggregator Pattern

· Branch Pattern

· Proxy Pattern

· Chained Pattern

· Shared Resources (Data) as a Pattern

· Asynchronous Messaging Pattern

· Circuit Breaker/Bulkhead Isolation Pattern

· Continuous Integration/Delivery Pattern

Lesson: Microservice Anti-Patterns and Challenges

· Shared Resources as an Anti-Pattern

· Microservice Costs

· When to Apply and NOT Apply

· Data island’s

· Dependency management

· Cohesion Creep

· Avoiding Versioning

· Continuous Integration/Delivery Anti-Pattern

Time Permitting:

Lesson: Overview of OAuth and OpenID

· OAuth 2.0 Terminology and Concepts

· Usage Models

· OAuth 2.0 Tokens

· OpenID Connect Overview

· OpenID Providers

· Spring OAuth2 Project

Prerequisites

A basic understanding of software development and web-based applications is necessary. Actual development working knowledge is helpful but not necessary.