Technical Introduction to Microservices
- Microservices
- Docker
- RESTful Web Services
- Node.js
- Spring Boot
- AWS Beanstalk
- Apache Zookeeper
AUDIENCE
IT Architects, Software Designers, and Developers.
PREREQUISITES
Foundational knowledge of programming and software design principles.
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. COMPREHENSIVE INTRODUCTION TO ANGULARJS
- What is AngularJS?
- Why AngularJS?
- How AngularJS Works
- MVC with AngularJS
- AngularJS MVC in a Nutshell
- Scope and Goal of AngularJS
- One-way (Traditional) Data Binding
- Two-way Data Binding (the AngularJS Way)
- A Very Simple AngularJS Application
- Building Blocks of an AngularJS Application
- Use of Model View Controller (MVC) Pattern
- A Simple MVC Application
- The View
- The Controller
- Data Binding
- Dependency Injection (DI) in a Nutshell
- DI in AngularJS
- Other Client Side MVC Frameworks
- 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
Is there a discount available for current students?
UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Online courses are excluded from this offer.
What is the cancellation and refund policy?
Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.