Course duration
- 2 days
Course Benefits
- Gain a fundamental understanding of microservices and practical experience in implementing microservices using different technology stacks.
Course Outline
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Introduction to Continuous Integration and Jenkins-CI
- Agile Development
- What is Continuous Integration
- Typical Setup for Continuous Integration
- Jenkins Continuous Integration
- Jenkins Features
- Running Jenkins
- Summary
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Class Prerequisites
Experience in the following is required for this Microservices class:
- Foundational knowledge of programming and software design principles.
Since its founding in 1995, InterSource has been providing high quality and highly customized training solutions to clients worldwide. With over 500 course titles constantly updated and numerous course customization and creation possibilities, we have the capability to meet your I.T. training needs.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.