Proqramlaşdırma
Backend və Mikroservislər – Peşəkar Səviyyə
Müasir framework və alətlərdən istifadə edərək miqyaslana bilən mikroservis əsaslı backend sistemlərin dizaynını və inkişafını öyrənin. Kurs servis kəşfi, API gateway-lər, dayanıqlılıq modelləri və miqyaslanma üsullarını əhatə edir. Təlim praktik laboratoriyalar və real layihələr üzərində qurulub.
İrəli
Onlayn
24 həftə
96 saat
Kurs haqqında
Müasir framework və alətlərdən istifadə edərək miqyaslana bilən mikroservis əsaslı backend sistemlərin dizaynını və inkişafını öyrənin. Kurs servis kəşfi, API gateway-lər, dayanıqlılıq modelləri və miqyaslanma üsullarını əhatə edir. Təlim praktik laboratoriyalar və real layihələr üzərində qurulub.
Nə öyrənəcəksən
- Introduction
- Git Version Control
- Spring Boot Foundation
- Automated Testing
- Docker
- Gradle
- Spring Data JPA
- Security
İlkin tələblər
- Solid fundamentals in the subject area
- Prior hands-on experience with core tools
- Comfort with the command line and problem-solving
Təlim proqramı
- 1 Microservice Architecture
- 2 Monolith vs Microservice
- 3 Benefits & Drawbacks of Microservices
- 4 Key Microservice trends and patterns
- 5 About Containers
- 6 About Container Orchestration
- 7 About Service Mesh
- 8 About Distributed Transactions
- 9 Demo of LMS, k8s, rolling updates, and SAGAS
- 1 Introduction to GIT
- 2 Git branching
- 3 Local & Remote repo
- 4 Key git commands
- 5 SDLC process, branching best practices
- 6 Merge & Rebase
- 7 Clean History
- 8 Git Blame, Bisect
- 1 HTTP & Rest
- 2 Spring Boot
- 3 Bean Lifecycles
- 4 Spring Resources
- 5 Rest Controllers
- 6 Dependency Injection
- 7 Aspect Oriented Programming
- 1 Unit Testing
- 2 Spring Boot Rest API Testing (MockMvc)
- 3 Integration Testing
- 4 Contract Testing (Postman & Pact)
- 1 Benefits of Containers
- 2 Docker Overview
- 3 Images & Containers
- 4 Docker volumes
- 5 Docker network
- 6 Docker File
- 7 Entrypoint, CMD & RUN
- 8 Docker in Docker
- 9 Docker Compose
- 10 LAB: Running LMS Microservices in local with Docker Compose
- 1 Gradle Benefits
- 2 Gradle Syntax
- 3 Gradle files
- 4 Gradle Tasks
- 5 Gradle Build Lifecyles
- 6 Custom Gradle Tasks & Plugins
- 1 Spring Data Repositories
- 2 Relational to Object Mapping
- 3 Transactions
- 4 Transaction Pitfalls
- 5 Java Reference Types
- 6 Hibernate L1 & L2 cache
- 1 Authentication & Authorisation
- 2 Security Filter Chain
- 3 Configuring Web Security
- 4 Json Web Tokens
- 1 OPA Overview
- 2 Unified Authorization
- 3 OPA and JWT
- 4 Real world example with GO and OPA
- 1 Kubernetes Foundation
- 2 Namespaces
- 3 Resource quota for Namespaces.
- 4 Tricks and Tips with command
- 5 Labels Selectors
- 6 Kubernetes
- 7 Deployments, Services, Replicas
- 8 K8S Templates
- 9 Helm Templating
- 10 Helm Overview
- 11 Using Helm Charts
- 12 Custom Helm Charts
- 13 Advanced Helm Templating operations
- 14 How to effectively use helm and k8s namespaces to support multiple envs (Stage/Dev)
- 15 LAB: Packaging and Deploying LMS microservices on Kubernetes with helm chars
- 16 Kubernetes Networking
- 17 Network Overview
- 18 Pod to Pod, Container to Container communication
- 19 Kubernetes Services
- 20 MetalLB
- 21 Ingress
- 22 External Traffic into Kubernetes
- 23 LAB: Expose LMS Microservices through Ingress
- 24 Limits & Configurations
- 25 Config Maps
- 26 Secrets
- 27 Mount ConfigMap and Secret
- 28 Kubernetes Probes(Liveness and readiness checks)
- 29 Resource limits
- 30 LAB: Multiple labs on GCP servers in the cloud
- 31 Managing the cluster
- 32 Taint and Toleration
- 33 Node Affinity
- 34 Node Selector
- 35 Metric Server
- 36 Applications Logs
- 37 Command and Arguments
- 38 Init Containers
- 39 OS Upgrade
- 40 Upgrade Cluster
- 41 Backup and Restore methods
- 42 LAB: Rolling updates and Roll back in deployments
- 43 Managing Roles & State
- 44 Role and Role Bindings
- 45 ClusterRole and Cluster Rolebindings
- 46 EmptyDir, HostPath
- 47 Storage Types
- 48 Persistent volume and Persistent Volume Claims
- 49 Cron Jobs
- 50 StateFul Sets
- 51 RBAC
- 52 LAB: Persisting data for LMS microservices
- 1 Introduction to Service Mesh
- 2 Service Mesh Implementations
- 3 Setting Up ISTIO as service mesh
- 4 Forwarding Traffic through ISTIO
- 5 Monitor LMS microservices using mesh
- 6 Create destination rules
- 7 Enable canary deployments
- 8 LAB: Setup all mesh components and monitor the LMS microservice
- 1 Introduction to elastic stack
- 2 Collecting microservice logs in ElK
- 3 LAB: Create dashboard and monitor the microservices
- 1 Asyncrnous Messaging
- 2 Kafka Architecture
- 3 Topics, Partitions, Nodes, Offsets, Commits, Replicas
- 4 Producing & Consuming Messages
- 5 Reliable Message Consumption from Kafka
- 6 Kafka Streams
- 1 Introduction to Event Sourcing
- 2 Introduction to CQRS
- 3 Introduction to Kafa
- 4 Kafka event streaming
- 1 Distributed Transactions Overview
- 2 Choreography-based saga
- 3 Orchestration-based saga
- 4 E2E Saga Demo
- 1 Gitlab CI Overview
- 2 Gitlab CI/CD
- 3 Rolling Updates
- 1 Introduction to Api Gateways
- 2 Introduction to Kong
- 3 Kong Plugins
- 1 Threads & Runnables
- 2 New Concurrency Framework
- 3 DeadLock, GridLock, Starvation
- 4 Concurrency Models
- 1 Observer Patter
- 2 Reactive Programming Intro
- 3 Spring Project Reactor
- 4 Reactive Repositories
- 5 Reactive Kafka