Developing Microservices (DMS)

 

Course Overview

Microservice architecture is a brave new world! Companies are abandoning the age-old monolith architecture for a modular approach that supports rapid expansion and compression of services. As your company grows, the more you’ll find a transition to microservices is necessary! Make the journey work for your business by mastering an arsenal of tools to plan, communicate, and manage the transition to microservices in a cost effective way. In our labs, you will convert a clumsy monolithic application to agile microservices in a controlled environment. Learn firsthand how and why each step is taken in the orderly decision process of transitioning your environment to 100% microservices!

Who should attend

This class is targeted for anybody interested in the processes of Microservices; Developers, Operations Staff, Cloud Architects, DevOps and IT Professionals. The lab portion of this class has two paths; one for technical people and one for management.

Prerequisites

This course is intended for students who might not have previous development experience.

Course Objectives

You will learn essential microservices concepts including:

  • Refactor, untangle, and split monolithic services to support a transition to microservices.
  • Pay down technical debt by understanding the benefits of supporting your business strategy with microservices.
  • Develop proficiency with the most popular tools used by the experts who routinely deploy microservices.
  • Clearly understand why the microservices revolution is driving DEVOPs towards simpler and more effective automation.
  • Gain experience by deploying an actual microservices solution with API gateway, using Docker, Docker compose, Jenkins, and Kubernetes.
  • Actually carry out the transition of monolith to microservices in a step by step hands on exercise.
  • Learn how to incorporate an API gateway into your microservices ingress.
  • Experiment with stateful solutions for microservices.
  • Deploy Jenkins in a CI/CD pipeline.
  • Learn how to use (and not use) ansible to deploy microservices solutions.

Follow On Courses

Outline: Developing Microservices (DMS)

Introduction to Microservices and the Development Environment-

This section introduces you to the foundations of microservices: What a microservice is, Why organizations have chosen to adopt the microservices model, and How microservices compare to other service architectures. You will perform step-by-step labs, learning ways to efficiently manipulate your microservices development environment. Core Concepts:

  • Defining Microservices
  • Iteration
  • Feedback Loops
  • Scaling
  • Microservices vs Other Architectures
  • Revision Control

Organizational Adoption of Microservices-

You will learn design essentials for adopting microservices, viewed from different roles within an organization: Managers, Operations, and Developers. You will start with a monolithic application, which you will begin transforming into a microservice-based application. The hands-on labs of this section introduce you to the monolithic application you will be converting, and establish a consistent method to test the application’s performance. Core Concepts:

  • Conway’s Law
  • Service Oriented Architecture
  • Infrastructure as a Service
  • Idempotency in Infrastructure
  • Components of a 12 Factor App
  • Defining DevOps

Service Discovery and Connectivity-

You will practice with the various additional infrastructure and code that is needed for transforming an application into a replicable service. You will follow a proven process of building and connecting applications to a service registry through the hands-on labs. Core Concepts:

  • Service Discovery
  • Service Registries
  • DNS based Service Discovery
  • Configuration Variables
  • Legacy Service Connectivity
  • Modern Service Connectivity
  • Security Considerations

Databases and Service Runtime -

You will be introduced to options available to store the state of services, as well as various ways that services can be hosted with several runtime environments. You will create a microservice and integrate it with the existing monolithic based application. Core Concepts:

  • SQL vs NoSQL
  • Volume Storage
  • Object Storage
  • Hypervisors
  • Containers
  • Cloud Services
  • On-Premises Services

Service Definition -

You will study configuration, monitoring, and testing options that apply to microservice development. In the labs, you will continue to build microservices and attach them to the monolith. Core Concepts:

  • Software Releases
  • Configuration Systems
  • Associated Services (Prometheus, Graphana, Jaeger, Vault)
  • Securing Secrets
  • Automated Testing
  • Continuous Integration (Jenkins, Travis, Gitlab)

Deploying and Upgrading Your Microservices -

You will directly apply the latest microservices tools to containerize and test microservices in a container based deployment. You will then deploy your microservice into a Kubernetes environment, completing the conversion from monolith to microservice. Core Concepts:

  • Application Specific Servers
  • Virtual Machines (VMWare, OpenStack, EC2, Azure, Google Cloud)
  • Docker
  • Docker-Compose
  • Containerd
  • Podman
  • Kubernetes

Practical Adoption of Microservices -

The final section of the course will summarize the concepts previously covered, as well as discuss the practical implications of designing for, or migrating to, a microservices based architecture. Core Concepts:

  • Workflow
  • Create, Shorten and Amplify Feedback Loops
  • Continued Experimentation
  • Working Code Works
  • Costs of Microservice Migration
  • State Management in Service Design
  • Encapsulation
  • Segregation
  • Adoption

Prices & Delivery methods

Online Training

Duration
3 days

Price
  • Online Training: CAD 2,370
  • Online Training: US$ 1,795
Classroom Training

Duration
3 days

Price
  • Canada: CAD 2,370

Schedule

Currently there are no training dates scheduled for this course.