Description:
Knowledge can be applied by a developer in any programming language.
Carry multiple services in Python through all integrations.
By the basics and best practice we’ll show the whole communication system of a working application. The course is fine if now: I’m writing normal code, but what’s next… knows what’s next.
Step 1 – Local environment and loops
You will learn that today it is easy to create a local environment identical to loops. We’ll also break down the nuances of a competent application that aren’t covered enough. There are more than 12 factors.
Stack and theory:
- Vagrant
- Docker
- A competent application
Step 2 – Deployment – CI
You’ll see the first bundles of application elements using Docker Compose and understand the difference between CI tools.
Stack:
- Docker Compose
- Github Actions
- Gitlab CI
- Jenkins
- Team City
Step 3 – Working with Data
You’ll see the difference between connecting databases, message brokers, and how to roll migrations.
Stack and theory:
- PostgreSQL
- MySQL
- Oracle
- Redis
- Apache Kafka
- Rabbit
- Database Migrations
Step 4 – Balancing and networking
In this phase we will configure the web server, load balancing and touch on the topic of service mesh.
Stack:
- Nginx
- Apache
- Envoy
- Istio
Step 5 – Monitoring and Logging
You’ll learn how to set up metrics, logging, why it’s needed, what options there are, and look at tracing services with Jaeger.
Stack and theory:
- Prometheus
- Zabbix
- Elastic Stack
- Loki
- Jaeger
- Grafana
- Alerts
Step 6 – Security
We’ll look at static and dynamic security at the application layer, as well as basic security against DDos at Layer 2 and Layer 3 of the OSI network model.
Stack and theory:
- SonarQube
- Dynamic analysis and other types
- DDoS: Nginx log analysis
Step 7 – Deployment.
In the final step, let’s go back to automation and deplot our services and see the difference in the possible tools.
Stack:
- Gitlab CI.
- Jenkins
- Ansible