KBTG 2024 :: Microservices Series - up1/training-courses GitHub Wiki

KBTG Course 2024 :: Microservices Series

1. Microservices 101 (Evolution of Software Architecture)

  • Lecture

กลุ่มเป้าหมาย

  • Software Developer/Programmer
  • Software Analyst
  • Software Architect
  • Operation/Infrastructure

Outline

  • การออกแบบ

    • วิวัฒนาการของสถาปัตยกรรมของ software
      • Monolith
      • Tier/Layer
      • Service-Oriented Architecture (SOA)
      • Microservices
      • Function-as-a-Service (FaaS)
    • Why, What Microservices ?
    • ความรู้พื้นฐานของ Microservice
      • ประโยชน์ของการออกแบบด้วยแนวคิด Microservice
      • คุณสมบัติหลักของการออกแบบระบบงานด้วยแนวคิด Microservice
      • ข้อดีและข้อเสียของการออกแบบด้วยแนวคิด Microservice
    • ปัญหาและความท้าทายของการนำ Microservice มาใช้งาน
      • การแบ่งหรือแยกส่วนการทำงานต่าง ๆ ออกจากกัน เพื่อให้ทำงานได้อย่างมีอิสระต่อกัน
      • การจัดการการติดต่อสื่อสารระหว่าง service หรือระบบงานย่อย ๆ
      • การจัดการข้อมูล
      • Monitoring และ Observability
        • Centralized logging
        • Distributed tracing
        • Application metric
  • Domain-Driven Design(DDD) for Microservices

    • Boundary context
    • Context map
    • Strategic phase
      • Workshop with Event storming
      • Types of relationships
        • Open Host
        • Published language
        • Anti-Corruption Layer (ACL)
        • Separate way
    • Tactical phase
      • Entity and Value Object
      • Aggregation
      • Domain service
      • Domain event

2. Microservices Testing in practice

  • Lecture and workshop

กลุ่มเป้าหมาย

  • Software Developer/Programmer
  • Software Analyst
  • Software Architect
  • Operation/Infrastructure
  • QA/Tester

Outline

  • Microservices Testing
  • Why wee need testing ?
  • Manual vs Automated Testing ?
  • แนวทางการทดสอบระบบงาน
    • Unit testing
    • Integration testing
    • Component testing
    • Contract testing
    • End-to-End testing
  • Workshop
    • Design (What)
    • Develop (How)
    • Automated testing in local
    • Automated testing in CI/CD pipeline

3. Microservices Develop and Deploy

  • Lecture and workshop

กลุ่มเป้าหมาย

  • Software Developer/Programmer
  • Software Architect
  • Operation/Infrastructure

Outline

  • Develop (Develop and Testing)

    • การติดตั้งและ setup เครื่องมือในการพัฒนา
    • Development concern for Microservices (แนวทางในการพัฒนาด้วยแนวคิด Microservices)
    • Testing Microservices Strategy (แนวทางการทดสอบระบบงาน)
      • Unit testing
      • Integration testing
      • Component testing
      • Contract testing
      • End-to-End testing
    • Workshop :: Develop your service
  • Deploy

    • Continuous Integration and Continuous Delivery
    • Continuous Integration Practices
    • Continuous Delivery Practices
    • Continuous Delivery vs Continuous Deployment
    • Deployment strategies
      • Bigbang deployment
      • Canary deployment
      • Blue-green deployment
    • Introduction to 12-factor (How to develop the Cloud Native Application)
    • Concerns and Issues
      • Loggings
        • Centralize Logging System :: ELK stack (Elasticsearch, Logstash and Kibana)
      • Tracings
      • Metrics
      • Security
    • Introduction to Containerization
      • Manage container with Docker
      • Scale containers with Docker
    • Workshop :: Deploy your service

4. Microservices Design patterns

  • Lecture and workshop

กลุ่มเป้าหมาย

  • Software Developer/Programmer
  • Software Analyst
  • Software Architect
  • Operation/Infrastructure

Outline

  • Microservices design patterns
    • Good patterns
    • Anti-patterns
  • Microservices design patterns
    • Application
    • Infrastructure
    • Application and Infrastructure
  • Application patterns
    • Decomposition services
    • Data patterns (database, query, data consistency)
    • Testing patterns
  • Application and Infrastructure
    • Communication patterns and integration patterns
    • Observability patterns
    • Resilience patterns
    • Working with external systems
  • Infrastructure
    • Deployment patterns