Technical Introduction to Microservices Training

Course #:WA2579

Technical Introduction to Microservices Training

Courseware: Available for sale

This training course will help you understand the value proposition and technical aspects of microservices, a new and rather fuzzy concept used to describe rapidly provisionable, independently deployable services with narrow and distinct functionality.

Upon completion of this training course, students will have fundamental understanding of microservices and practical experience in implementing microservices using different technology stacks.

This training course is supplemented by hands-on labs that help attendees reinforce their theoretical knowledge of the learned material.

TOPICS

 

  •     Microservices
  •     Docker
  •     RESTful Web Services
  •     Node.js
  •     Spring Boot
  •     AWS Beanstalk
  •     Apache Zookeeper

 

AUDIENCE

    IT Architects, Software Designers, and Developers

PRE-REQUISITES

Foundational knowledge of programming and software design principles.

DURATION

2 days

ffff    Microservices
    Docker
    RESTful Web Services
    Node.js
    Spring Boot
    AWS Beanstalk
    Apache Zookeeper
AUDIENCE
    IT Architects, Software Designers, and Developers
PRE-REQUISITES
    Foundational knowledge of programming and software design prinTOPICS
    Microservices
    Docker
    RESTful Web Services
    Node.js
    Spring Boot
    AWS Beanstalk
    Apache Zookeeper
AUDIENCE
    IT Architects, Software Designers, and Developers
PRE-REQUISITES
    Foundational knowledge of programming and software design principles.
DURATION
    2 days

Outline of Technical Introduction to Microservices Training

Chapter 1. Microservices

  • What is a "Microservice"?
  • SOA - Microservices Relationship
  • ESB - Microservices Relationship
  • One Helpful Analogy
  • The Driving Forces Behind Microservices
  • How Can Microservices Help You?
  • The Microservices Architecture
  • Utility Microservices at AWS
  • Microservices Inter-connectivity
  • The Data Exchange Interoperability Consideration
  • Managing Microservices
  • Implementing Microservices
  • Embedding Databases in Java
  • Microservice-Oriented Application Frameworks and Platforms
  • Summary

Chapter 2. Microservices with Node.js

  • What is Node.js?
  • Node's Value Proposition
  • Example of a Node.js App: a Simple Web Server
  • Node.js Project Types
  • Managing Large Applications
  • Core Modules
  • Why Node.js uses JavaScript?
  • The Traditional Concurrency Support Model
  • Disadvantages of the Traditional Approach
  • Event-Driven, Non-Blocking I/O
  • The Success Callback Function
  • Using Node Package Manager (NPM)
  • NPM Registry (Repository)
  • NPM Enterprise
  • Package Life-Cycle Management
  • Local and Global Package Installation Options
  • Listing and Using Module Versions
  • The Express Package
  • Installing and Using Express
  • Defining Routing Rules in Express
  • Route Path
  • The Response Object
  • A Simple Web Service with Express Example
  • The MEAN Stack
  • Summary

Chapter 3. REST Services

  • Many Flavors of Services
  • Understanding REST
  • Principles of RESTful Services
  • REST Example – Create
  • REST Example – Retrieve
  • REST Example – Update
  • REST Example – Delete
  • REST Example – Client Generated ID
  • SOAP Equivalent Examples
  • REST Example – JSON
  • REST vs SOAP Communication
  • More REST vs SOAP
  • REST vs SOAP Summary
  • Famous RESTful Services
  • Additional Resources
  • Summary

Chapter 4. Introduction to Angular

  •  What is Angular?
  •  Central Features of the Angular Framework
  •  Why Angular?
  •  Building Blocks of an Angular Application
  •  Basic Architecture of an Angular Application
  •  Angular vs. AngularJS
  •  Angular Semantic Versioning
  •  Installing and Using Angular
  •  A Basic Angular Application
  •  Anatomy of a Basic Application
  •  The Main Component File
  •  The Application Module File
  •  The index.html File
  •  The Bootstrap File
  •  Running the Application
  •  Building the Application
  •  Summary

Chapter 5. Docker Introduction

  • What is Docker
  • Where Can I Ran Docker?
  • Docker and Containerization on Linux
  • Linux Kernel Features: cgroups and namespaces
  • The Docker-Linux Kernel Interfaces
  • Docker Containers vs Traditional Virtualization
  • Docker as Platform-as-a-Service
  • Docker Integration
  • Docker Services
  • Docker Application Container Public Repository
  • Competing Systems
  • Docker Command-line
  • Starting, Inspecting, and Stopping Docker Containers
  • Summary

Chapter 6. Apache ZooKeeper

  • What is Apache ZooKeeper?
  • Apache ZooKeeper Logo
  • ZooKeeper Design
  • ZooKeeper High Availability
  • ZooKeeper – Client Interaction
  • Leader Election
  • The Big Picture
  • znodes: A Closer Look
  • Ephemeral znodes
  • ZooKeeper Java API
  • Watches
  • Summary

Chapter 7. Introduction to Spring Boot for Non-Java Developers

  • What is Spring Boot?
  • Spring Boot Main Features
  • Spring Boot vs DropWizard
  • Spring Boot on the PaaS
  • Understanding Java Annotations
  • Spring MVC Annotations
  • Example of Spring MVC-based RESTful Web Service
  • Spring Booting Your RESTful Web Service
  • Spring Boot Skeletal Application Example
  • Converting a Spring Boot Application to a WAR File
  • Summary

Chapter 8. Defining the Cloud

  • A Bit of History
  • Wikipedia Entry
  • Cloud Computing at a Glance
  • Gartner Research on Cloud
  • Electrical Power Grid Service Analogy
  • The NIST Perspective
  • Five Characteristics
  • On-demand Self-Service (NIST Characteristic)
  • Broad Network Access (NIST Characteristic)
  • Resource Pooling (NIST Characteristic)
  • Rapid Elasticity (NIST Characteristic)
  • Measured Service (NIST Characteristic)
  • The Three Cloud Service Models (NIST)
  • The Cloud Computing Spectrum: IaaS, PaaS and SaaS
  • The Four Cloud Deployment Models (NIST)
  • The NIST Cloud Definition Framework
  • A Hybrid Cloud Diagram
  • Cloud Deployment Model Dynamics
  • Summary

Chapter 9. Cloud Services

  • Defining Cloud Services
  • User-Cloud Interaction
  • Cloud Service Characteristics
  • The Typical Cloud Services
  • Application Services
  • Messaging Application Service
  • Email Application Service
  • Cache Application Service
  • Specialized Application Services
  • AWS Analytics Systems
  • Google App Engine (GAE) MapReduce Service
  • Use Cases for MapReduce Jobs
  • Integration Platform as a Service (IPaaS)
  • Storage Services
  • Object Storage
  • Archive Storage
  • Relational Storage
  • NoSQL Storage
  • Some AWS Storage Services
  • Data Warehouses in the Cloud
  • Cloud Utility Services
  • Scalability and HA of Your Applications in the Cloud
  • The Auto-scaling Service
  • Monitoring Services
  • Configuring Instance Health Check in AWS
  • Amazon Web Services Integration Diagram
  • Google App Engine (GAE) Services Integration Diagram
  • Microsoft Azure Services
  • Comparing Cloud Service Stacks
  • Summary

Chapter 10. Introduction to Continuous Integration and Jenkins-CI

  • Agile Development
  • Agile Development (cont'd)
  • What is Continuous Integration
  • What is Continuous Integration (cont'd)
  • Typical Setup for Continuous Integration
  • Jenkins Continuous Integration
  • Jenkins Features
  • Running Jenkins
  • Summary

Lab Exercises

Lab 1. Getting Started with Node.js
Lab 2. Debugging a Node.js Application
Lab 3. Creating a Web Service Using Express
Lab 4. Getting Started with nginx Web Server
Lab 5. AngularJS Web Service Client
Lab 6. Getting Started with Apache Zookeeper CLI
Lab 7. Getting Started with Spring Boot
Lab 8. Learning the AWS Management Console
Lab 9. Using S3 for Website Hosting
Lab 10. Using Amazon Simple Queue Service

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.