Learning path

Fast track 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

  1. Introduction: Concepts, History, Architecture, Building Blocks
    a. Brief introduction to Pip.Services
    b. Building blocks: a brief description
    c. Toolkit architecture

  2. 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

  1. 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

  2. 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

  1. 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

  1. 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
  2. Clients:
    a. REST client
    Optional (Self-study)
    a. Direct client
    b. Commandable HTTP
    c. gRPC
    d. Commandable gRPC
    e. Mock