Learning path
Course description
Pip.Services is a toolkit used to create microservices. This course provides the student with the basic elements necessary to use it efficiently. The student will learn how to create custom components, use available components, containerize an application, and connect to it via different clients. The course consists of seven modules that are taught in four days (32 hours).
Day 1
-
Introduction: Concepts, History, Architecture, Building Blocks
a. Brief introduction to Pip.Services
b. Building blocks: a brief description
c. Toolkit architecture -
Basic Patterns: Components, Configurations, Reflection, …
a. Three-tier architecture
b. Creating a component
c. Communicating between components
d. Configurations
Optional (Self-study)
i. Configuring connections
ii. Configuring credentials
iii. Config file syntax
iv. Descriptors
v. Discovery services
vi. Connection utilities
vii. Mustache templates
viii. Reflection
Day 2
-
Persistence:
a. Choose one of the following:
i. Memory
- Memory Persistence Component
- Redis
- Memcached
ii. File storage
- JSON file persistence
iii. Document storage
- MongoDB
iv. Relational storage
- MySQL
- PostgreSQL
- SQLServer
v. Other
- Cassandra
b. Designing persistence components -
Business Logic: Controllers, Observability, Synchronization, Caching, States… a. Controllers
b. Observability:
i. Logging
Optional (Self-study)
ii. Metrics
- Prometheus
- Datadog
- Elasticsearch
- Fluentd
c. Concurrency
i. Caching
Optional (Self-study)
ii. Locking
Day 3
- Communication: REST, GRPC, Commandable
a. Synchronous
i. REST
Optional (Self-study)
ii. gRPC
iii. Commandable HTTP
iv. Commandable gRPC
v. Command sets
b. Asynchronous
Choose one of the following:
i. Messaging
ii. MQTT
iii. Kafka
iv. RabbitMQ
Day 4
- Containers: Process, Docker, Serverless
a. Containers
i. Process container
Optional (Self-study)
ii. Docker
b. Serverless
Choose one of the following:
iii. AWS Lambda
iv. Microsoft Azure
v. Google Cloud Platform - Clients:
a. REST client
Optional (Self-study)
a. Direct client
b. Commandable HTTP
c. gRPC
d. Commandable gRPC
e. Mock