DevOps para operação e desenvolvimento - curso RUB 124.000. do Yandex Workshop, treinamento 6 meses (8 horas por semana), Data: 6 de dezembro de 2023.
Miscelânea / / November 30, 2023
Atualmente trabalhando com ETL, finalizando o monitoramento do sistema de BI, desenvolvendo em Python, e tudo isso na nuvem Azure. Construí CI/CD para o sistema de BI, escrevi autotestes de UI em Selenium. Na LANIT (até 2018) criou...
Atualmente trabalhando com ETL, finalizando o monitoramento do sistema de BI, desenvolvendo em Python, e tudo isso na nuvem Azure. Construí CI/CD para o sistema de BI, escrevi autotestes de UI em Selenium. Na LANIT (até 2018) ele criou seu próprio “Frankenstein” a partir de Jenkins, Ansible, VMware, Telegram bot, Jira, bash- e Scripts Python para ChatOps completo, onde todas as atualizações de servidores e tickets foram feitas por meio de um bot em telegrama para https://gis-tek.ru. Também ajudou o Kubernetes a orquestrar páginas https://мдм.моидокументы.рф. No NIIAS (até 2016), ele escreveu scripts mega-bash para atualizar os servidores de despacho da Russian Railways para que seu trem pudesse chegar a tempo.
1) Sistemas de controle de versão e automação de construção de aplicativos 15 horas
Você está trabalhando em uma startup, conhece a equipe e se pergunta como é possível trabalhar assim. Querendo acertar rapidamente, você começa a entender como funciona o desenvolvimento de software hoje em dia e dá os primeiros passos para acelerar a produção.
- Como funciona o ciclo de vida do software?
- Sistemas de controle de versão. Por que todo mundo escolhe o Git?
• Organize o trabalho em equipe usando o Feature Branch Workflow.
• Organizar o armazenamento dos repositórios Git no Gitea. - Magro:
• Muda (Perda).
• Valor e fluxo de valor. - Magro:
• Ferramentas de automação para tarefas repetitivas.
• Frameworks para automatização de montagem de projetos.
2) Metodologias Flexíveis e Integração Contínua 15 horas
Sua startup está sendo comprada pela gigante de TI Krupnaya Kompaniya (KK). O líder da sua equipe se torna seu guia no caminho para aprender DevOps. Mas os problemas com a sua aplicação não desaparecem. Você descobre que o aplicativo tem um desempenho insatisfatório em um ambiente de produção e que novas solicitações para corrigir defeitos estão constantemente sendo desenvolvidas. Por conta disso, o trabalho se acumula e não se pode nem sonhar em lançar novas funcionalidades e estabilidade.
- Problemas de DevOps:
• Poços funcionais.
• Espiral descendente. - Metodologias ágeis e cultura DevOps:
• Interação em equipe.
• Abordagens modernas. O que causou o surgimento do Agile?
• Três formas de DevOps: ciclo de entrega de valor, ciclos de feedback, experimentação e aprendizagem. - Integração contínua:
• Organização de armazenamento de código.
• Organização da montagem.
• Organização de testes.
• Obtenha feedback rapidamente. - Servidores de Integração Contínua:
• Visão geral da interface e funcionalidade do GitLab CI. - Medição de qualidade e testes de segurança de código estático:
• Ferramentas estáticas de análise de qualidade de código: SonarQube, GitLab Analyzer.
• Ferramentas de análise de segurança de código estático: SonarQube SAST, GitLab SAST.
3) Rede e noções básicas de trabalho em servidores Linux 15 horas
Você conhece o administrador do sistema KK, que lhe conta como a rede está estruturada e como tudo funciona para ele. Durante a demonstração, você vê que o administrador é muito mais rápido controlado por comandos e movimentos do cursor no console, e pede a ele que lhe fale sobre essas técnicas. O administrador convida você a entender o exemplo da tarefa de transferir um serviço de um servidor antigo para um novo - ao mesmo tempo que resolve um problema candente.
- Noções básicas de trabalho em servidores Linux, trabalhando com linha de comando.
- Subsistema de disco Linux.
- Direitos de usuário do Linux.
- Noções básicas de rede: Problemas de conexão com um servidor remoto.
- Virtualização:
• Hipervisores populares.
• Máquinas virtuais.
• Redes virtuais.
4) Entrega Contínua e Implantação Contínua 20 horas
Depois de receber outra atualização de aplicativo em seu smartphone em uma semana, você ficou interessado em saber com que frequência as atualizações são recebidas pelos usuários. Acontece que nem sempre. É necessário com mais frequência?
- Como funciona o processo de entrega de produtos de TI:
• Qual é o processo de entrega.
• Gestão do Fluxo de Valor. - Sistemas de armazenamento de artefatos: Nexus.
- Entrega Contínua:
• Visualização das etapas de entrega.
• Organização do processo de entrega. Pipeline de entrega. Implantação contínua. - Metodologia do aplicativo de doze fatores.
5) Infraestrutura como código e sistemas de gerenciamento de configuração 20 horas
Esta é a primeira vez que você encontra um problema de infraestrutura. Alguém alterou a configuração dos servidores dos desenvolvedores nos quais estavam realizando experimentos, e agora os servidores estão com tanto defeito que não podem mais ser usados.
- Cópia de segurança:
• Organização de backup.
• Tipos de backups.
• Rotação de backups. - Infraestrutura como Código: descrevemos a infraestrutura com código, adotando experiência de desenvolvimento.
- Sistemas de gerenciamento de configuração:
• Ansible (funções, tarefas, inventário, vault, awx).
• Familiaridade com outros sistemas: Chef, Salt, Puppet.
6) DBOps: bancos de dados relacionais e não relacionais 15 horas
Você está se reunindo com o DBA. Você recebe comentários ameaçadores de usuários de que o site é lento. Empiricamente, você descobre que a atualização mais recente deixou o banco de dados significativamente mais lento.
- Noções básicas de teoria de banco de dados:
• Bancos de dados relacionais: PostgreSQL.
• Consultas SQL básicas.
• Como acelerar a execução de consultas em um banco de dados: otimização, cache, aumento de capacidade, indexação. - Organização de alta disponibilidade do banco de dados:
• Princípios DBOps.
• Migração de banco de dados utilizando Flyway. - Bancos de dados não relacionais: MongoDB.
7) Containerização Docker e armazenamento de dados 20 horas
Você se encontrará entre dois incêndios: por um lado, existem desenvolvedores para os quais tudo funciona localmente, mas para alguns deles talvez não; por outro lado, existe o departamento de operações, para o qual nada funciona. Descobrimos como garantir que tudo seja igualmente bom para todos e, finalmente, lançamos o aplicativo em produção.
- Conteinerização:
• Visão geral dos contêineres Linux e Docker.
• Dispositivo Docker: camadas, imagens, containers, arquivo Docker, Registro.
• Alternativas Docker (containerd, Podman, LXC, CRI-O). - Armazenamento de dados: trabalhando com S3, MinIO vs Ceph.
- Armazenando e transmitindo dados confidenciais: uma excelente visão geral do Vault.
8) Microsserviços, balanceamento e cache 15 horas
Você está se preparando para o lançamento de uma nova versão do aplicativo e quer levar em conta os erros do passado, quando seu serviço não aguentava o tráfego e ficava três dias parado. Dessa vez uma empresa veio até você e exigiu que isso não acontecesse! Você ficará tão imerso no processo que apresentará novos recursos interessantes e estratégias de entrega.
- Balanceamento e cache.
- Microsserviços:
• Abordagens para organizar a arquitetura de aplicativos.
• Ferramentas para gerenciamento de aplicações de microsserviços: Docker Compose. - Estratégias de entrega e escolha da certa:
• Que tipos de usuários existem?
• Implantação azul-verde.
• Implantação canário.
9) Kubernetes. Implantação e garantia de confiabilidade do aplicativo 50 horas
Você cria uma plataforma de serviços para garantir uma operação de alta qualidade de todo o ciclo de entrega.
- Orquestração de contêineres:
• Executar o aplicativo em uma infraestrutura moderna.
• Por que são necessários sistemas de orquestração e como eles são.
• Kubernetes: razões e objetivos de desenvolvimento. - Lançamento de um cluster Kubernetes para teste e desenvolvimento:
• Como obter o Kubernetes: descrição dos 5 principais métodos de instalação.
• Análise de comandos simples do kubectl.
• Trabalhando com o utilitário kubectl. - Arquitetura Kubernetes:
• Principais componentes e sua interação: agendador, kubelet, kube-proxy, gerenciador de controlador, etcd e servidor api. - Entidades principais do Kubernetes:
• Nós, Podes, Serviços, Volumes Persistentes, Reivindicação de Volume Persistente.
• Manifestos do Kubernetes.
• Usando kubectl no nível de conexão do cluster.
• Visualizar configuração de nós, pods, segredos, etc. - Entidades avançadas do Kubernetes:
• ReplicaSet, Deployment, DaemonSet e StatefulSet.
• Liveness, teste de prontidão + contêineres de inicialização.
• Adição sobre kubectl: editar, aplicar, excluir, criar.
• Comunicação de rede em cluster. - Trabalho avançado com o utilitário kubectl:
• Comandos kubectl adicionais, sinalizadores e representação de entidades do Kubernetes como arquivos YAML ou JSON/YAML.
• Implante o aplicativo de duas maneiras: usando um comando e por meio de um arquivo YAML. - Implantando aplicativos no Kubernetes:
• Implantação do frontend da aplicação.
• Implantação e reimplantação via ArgoCD. - Estratégias de implantação:
• Conexão entre Kubernetes e aplicativo Twelve-Factor.
• Estratégias de implantação em Kubernetes.
• Como o mecanismo de reversão é implementado no Kubernetes. - Práticas de GitOps para trabalhar com infraestrutura.
- Escrevendo um gráfico Helm para implantação de aplicativos.
- Configurando o ArgoCD.
- Usando mecanismos de modelo.
10) Registro e monitoramento de erros 15 horas
Sua plataforma de serviço para de funcionar repentinamente.
- Registro e monitoramento de erros:
• Registros do Linux.
• Loki.
• Sentinela - Monitoramento:
• Tipos de métricas, anomalias típicas.
• Alertas.
• Pilha GAP (Grafana, Prometheus, Alertmanager).
• Sinais Dourados.
• Métricas em nível de aplicativo. - Sistemas AWS e rastreamento distribuído.
- CALMA.
- Registro e monitoramento de erros:
D
sonhador-fkn
23.03.2022 G.
Bom atendimento e um bom curso de DevOps para operações e desenvolvimento
Vantagens: plataforma conveniente, boa equipe, bom material. Desvantagens: material bruto Concluiu metade do curso DevOps para operações e desenvolvimento. Entrei no segundo set. Nesse sentido, o material teórico é úmido e há imprecisões. Mas, para crédito dos organizadores, os problemas são resolvidos rapidamente. As deficiências são eliminadas. Uma equipe muito simpática de curadores e mentores. Por metade...