Technical Introduction to Microservices Training

Answers to Popular Questions:

 
Yes, this class can be tailored to meet your specific training needs.
Yes, we provide consulting services.
Yes, group discounts are provided.

Course Description

 
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.
Course Length: 2 Days
Course Tuition: $1090 (US)

Prerequisites

Foundational knowledge of programming and software design principles. "IT Architects, Software Designers, and Developers"

Course Outline

 
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

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.