DevOps for operation and development - course RUB 124,000. from Yandex Workshop, training 6 months (8 hours per week), Date: December 6, 2023.
Miscellaneous / / November 30, 2023
Currently working with ETL, finalizing BI system monitoring, developing in Python, and all this in the Azure cloud. Built CI/CD for the BI system, wrote UI autotests in Selenium. At LANIT (until 2018) he created...
Currently working with ETL, finalizing BI system monitoring, developing in Python, and all this in the Azure cloud. Built CI/CD for the BI system, wrote UI autotests in Selenium. At LANIT (until 2018) he created his own “Frankenstein” from Jenkins, Ansible, VMware, Telegram bot, Jira, bash- and Python scripts for full-fledged ChatOps, where all updates to both servers and tickets were done through a bot in telegram for https://gis-tek.ru. Also helped Kubernetes orchestrate pages https://мдм.моидокументы.рф. At NIIAS (until 2016) he wrote mega-bash scripts to update Russian Railways dispatch servers so that your train could arrive on time.
1) Version control systems and application build automation 15 hours
You find yourself working at a startup, meet the team and wonder how it’s even possible to work like this. Wanting to get things right quickly, you begin to understand how software development works these days and take the first steps towards accelerating production.
- How does the software life cycle work?
- Version control systems. Why does everyone choose Git?
• Organize team work using Feature Branch Workflow.
• Organizing the storage of Git repositories in Gitea. - Lean:
• Muda (Loss).
• Value and value stream. - Lean:
• Automation tools for repetitive tasks.
• Frameworks for automating project assembly.
2) Flexible methodologies and Continuous Integration 15 hours
Your startup is being bought by the IT giant Krupnaya Kompaniya (KK). The team lead of your team becomes your guide on the path to learning DevOps. But problems with your application do not go away. You find out that the application performs poorly in a production environment, and new requests to fix defects are constantly coming into development. Because of this, work accumulates, and one cannot even dream of releasing new functionality and stability.
- DevOps issues:
• Functional wells.
• Downward spiral. - Agile methodologies and DevOps culture:
• Team interaction.
• Modern approaches. What caused the emergence of Agile?
• Three ways of DevOps: value delivery cycle, feedback loops, experimentation and learning. - Continuous Integration:
• Organization of code storage.
• Assembly organization.
• Organization of testing.
• Get feedback quickly. - Continuous Integration Servers:
• Overview of the interface and functionality of GitLab CI. - Quality measurement and static code security testing:
• Static code quality analysis tools: SonarQube, GitLab Analyzer.
• Static code security analysis tools: SonarQube SAST, GitLab SAST.
3) Networking and basics of working on Linux servers 15 hours
You meet the system administrator KK, who tells you how the network is structured and how everything works for him. During the demonstration, you see that the admin is much faster controlled by commands and cursor movements in the console, and ask him to tell you about these techniques. The administrator invites you to understand the example of the task of transferring a service from an old server to a new one - at the same time solving a burning issue.
- Basics of working on Linux servers, working with the command line.
- Linux disk subsystem.
- Linux user rights.
- Networking Basics: Problems connecting to a remote server.
- Virtualization:
• Popular hypervisors.
• Virtual machines.
• Virtual networks.
4) Continuous Delivery and Continuous Deployment 20 hours
Having received another application update on your smartphone in a week, you became interested in how often updates are received to users. It turned out that not often at all. Is it necessary more often?
- How does the IT product delivery process work:
• What is the delivery process.
• Value Stream management. - Artifact storage systems: Nexus.
- Continuous Delivery:
• Visualization of delivery stages.
• Organization of the delivery process. Delivery Pipeline. Continuous Deployment. - Twelve-Factor App methodology.
5) Infrastructure as Code and configuration management systems 20 hours
This is your first time encountering an infrastructure problem. Someone changed the configuration of the developers' servers they were running experiments on, and now the servers are so malfunctioning that they can no longer be used.
- Backup:
• Organization of backup.
• Types of backups.
• Rotation of backups. - Infrastructure as Code: we describe the infrastructure with code, adopting development experience.
- Configuration management systems:
• Ansible (roles, tasks, inventory, vault, awx).
• Familiarity with other systems: Chef, Salt, Puppet.
6) DBOps: relational and non-relational databases 15 hours
You are meeting with the DBA. You receive threatening comments from users that the site is slow. Empirically, you discover that the latest update has significantly slowed down the database.
- Basics of database theory:
• Relational databases: PostgreSQL.
• Basic SQL queries.
• How to speed up query execution in a database: optimization, caching, capacity growth, indexing. - Organization of high availability of the database:
• DBOps principles.
• Database migration using Flyway. - Non-relational databases: MongoDB.
7) Docker containerization and data storage 20 hours
You will find yourself between two fires: on the one hand, there are developers for whom everything works locally, but for some of them, perhaps not; on the other hand, there is the operations department, for which nothing works at all. We figure out how to make sure that everything is equally good for everyone, and finally launch the application in production.
- Containerization:
• Overview of Linux and Docker containers.
• Docker device: layers, images, containers, Docker file, Registry.
• Docker alternatives (containerd, Podman, LXC, CRI-O). - Data storage: working with S3, MinIO vs Ceph.
- Storing and transmitting sensitive data: a great overview of Vault.
8) Microservices, balancing and caching 15 hours
You are preparing for the release of a new version of the application and want to take into account the mistakes of the past, when your service could not handle the traffic and lay down for three days. This time a business came to you and demanded that this not happen! You will become so immersed in the process that you will introduce new cool features and delivery strategies.
- Balancing and caching.
- Microservices:
• Approaches to organizing application architecture.
• Tools for managing microservice applications: Docker Compose. - Delivery strategies and choosing the right one:
• What types of users are there?
• Blue-green deployment.
• Canary deployment.
9) Kubernetes. Deployment and ensuring application reliability 50 hours
You create a service platform to ensure high-quality operation of the entire delivery cycle.
- Container orchestration:
• Running the application on a modern infrastructure.
• Why orchestration systems are needed, and what they are like.
• Kubernetes: reasons and goals of development. - Launching a Kubernetes cluster for testing and development:
• How to get Kubernetes: description of the 5 main installation methods.
• Parsing simple kubectl commands.
• Working with the kubectl utility. - Kubernetes architecture:
• Main components and their interaction: scheduler, kubelet, kube-proxy, controller manager, etcd and api server. - Core entities of Kubernetes:
• Nodes, Podes, Services, Persistent Volumes, Persistent Volume Claim.
• Kubernetes manifests.
• Using kubectl at the cluster connection level.
• View configuration of Nodes, Pods, Secrets, etc. - Advanced Kubernetes entities:
• ReplicaSet, Deployment, DaemonSet and StatefulSet.
• Liveness, Readiness probe + Init containers.
• Addition about kubectl: edit, apply, delete, create.
• Network communication in a cluster. - Advanced work with the kubectl utility:
• Additional kubectl commands, flags, representation of Kubernetes entities as YAML or JSON/YAML files.
• Deploy the application in two ways: using a command and via a YAML file. - Deploying applications to Kubernetes:
• Deployment of the application frontend.
• Deployment and re-deployment via ArgoCD. - Deployment strategies:
• Connection between Kubernetes and Twelve-Factor App.
• Deployment strategies in Kubernetes.
• How the rollback mechanism is implemented in Kubernetes. - GitOps practices for working with infrastructure.
- Writing a Helm chart for application deployment.
- Setting up ArgoCD.
- Using template engines.
10) Logging and monitoring errors 15 hours
Your service platform suddenly stops working.
- Error logging and monitoring:
• Linux logs.
• Loki.
• Sentry - Monitoring:
• Types of metrics, typical anomalies.
• Alerts.
• GAP stack (Grafana, Prometheus, Alertmanager).
• Golden Signals.
• Application level metrics. - AWS systems and distributed tracing.
- CALMS.
- Error logging and monitoring:
D
dreamer-fkn
23.03.2022 G.
Good service and a good DevOps course for operations and development
Advantages: convenient platform, good team, good material. Disadvantages: crude material Completed half of the DevOps course for operations and development. Got into the second set. In this regard, the theoretical material is damp and there are inaccuracies. But to the credit of the organizers, problems are resolved quickly. The shortcomings are eliminated. A very friendly team of curators and mentors. For half...