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.
Продвинутый
Онлайн
24 недель
96 часов
О курсе
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.
Чему вы научитесь
- Introduction
- Git Version Control
- Spring Boot Foundation
- Automated Testing
- Docker
- Gradle
- Spring Data JPA
- Security
Требования
- Solid fundamentals in the subject area
- Prior hands-on experience with core tools
- Comfort with the command line and problem-solving
Программа обучения
- 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