Pelatihan .NET Microservices

Pada tanggal 27 – 30 Maret 2023 telah diadakan pelatihan dengan topik .NET Microservices. Peserta dari pelatihan ini adalah tim pengembang dari Kantor Sistem Informasi Universitas Atmajaya Yogyakarta. Pelatihan ini dilaksanakan secara offline di Gedung KSI Atmajaya Yogyakarta.

Microservices adalah architecture yang saat ini populer digunakan sebagai model dalam pembuatan aplikasi cloud yang modern. Di dalam microservices setiap aplikasi di bangun sebagai sekumpulan service dan setiap layanan berjalan dalam prosesnya sendiri. Masing-masing dari aplikasi tersebut, harus autonom dan mampu untuk saling berkomunikasi satu dengan yang lain melalui kontrak yang disepakati bersama (RESTful API, gRPC). Manfaat utama dalam mempergunakan microservices adalah agar team developer mampu mengembangkan aplikasi secara cepat dan terukur dengan membuat komponen-komponen dari aplikasi berjalan secara independen sehingga dapat memenuhi kebutuhan bisnis yang terus menerus berubah.

Pelatihan ini akan memberikan pemahaman tentang bagaimana membangun layanan microservices menggunakan .NET Core 6/7. Adapun materi yang dibahas pada pelatihan ini meliputi:

  • Introduction to Microservices Architecture
  • Limitation to monoliths
  • Challenges of Microservices
  • Architecting Microservices
  • First API with ASP.NET Core 6
  • Entity Framework Core
  • Entity Framework Migrations
  • DTO with AutoMapper
  • Data Layer & API Controllers
  • What is Container & Docker?
  • Dockerize your apps
  • Publish app to Docker Hub
  • Running your services on docker
  • Kubernetes Architecture
  • Kubernetes topics (deployment, NodePort, ClusterIP)
  • Communicating between Microservices
  • Synchronous Communication (HttpClient)
  • Resilient Communication Pattern
  • Implement retries with back-off
  • Circuit breaker
  • API Gateway / nGinx Ingress Controller
  • SQL Server Deployment (Database per Services).
  • Persistance Volume Claim, & Kubernetes Secret
  • Asynchronous Communication
  • What is Message Broker?
  • RabbitMQ Exchange, Queue, Routing Key, & Binding
  • Reactive Microservices with RabbitMQ and ASP Core
  • Reactive Microservices using MassTransit
  • Distributed Transaction & Saga Pattern
  • Delivering Microservices