Como desenvolvemos a Neoflex Expertise em DevOps

Após a separação do DevOps no Neoflex em uma área de negócios separada, a equipe começou a aumentar ativamente seu conhecimento e compartilhar as fontes de conhecimento encontradas entre si. Neste post, compartilharei com vocês minha experiência pessoal de imersão no tópico e os recursos mais interessantes.




As principais fontes de informação sobre o tema foram as seguintes:


  • Recursos da Internet - empresas independentes e desenvolvedores
  • Artigos e Apresentações
  • Literatura
  • Conferências
  • Programas de treinamento - pagos e gratuitos

Recursos da Internet


Existem muitos recursos sobre o DevOps na Internet. Eles podem ser divididos em várias seções.


Recursos independentes da Internet


Recursos independentes da Internet publicam notícias gerais sobre tendências no desenvolvimento de tecnologias de informação relacionadas ao DevOps e operam com informações de alto nível sobre este tópico, permitindo que você esteja sempre atualizado com as últimas tendências e eventos de TI. Para arquitetos e gerenciamento de sistemas, o mais interessante pode ser:


O devops.com é um dos maiores recursos do DevOps. Nele, você encontra as últimas notícias do mundo da TI, artigos sobre vários tópicos (nuvens, integração e entrega contínuas, tecnologias de contêineres, Big Data, segurança e muito mais), webinars diários, uma ampla seleção de literatura sobre assuntos, bate-papos temáticos com especialistas altamente qualificados, listas estruturadas de empresas e produtos para resolver problemas de DevOps e muito mais.


O sdtimes.com é um grande recurso de notícias sobre desenvolvimento de software em geral, que abrange amplamente o tópico do DevOps e áreas relacionadas (nuvens e outras). Além de notícias e artigos que podem ser encontrados no site ou recebidos regularmente, são organizados seminários on-line sobre DevOps e microsserviços realizados por palestrantes das principais empresas do setor.


O dzone.com também é um site de notícias sobre desenvolvimento, que é um agregador de conteúdo gerado pelo usuário. O site registrou mais de um milhão de desenvolvedores que publicam regularmente notícias sobre os tópicos mais relevantes no desenvolvimento de software: processos, tecnologias e abordagens de implementação. O nível e os interesses dos autores são muito diversos: aqui você encontra materiais conceituais e diretrizes práticas para o uso de ferramentas específicas. Por esse motivo, este site pode ser de interesse não apenas de representantes de TI de alto nível, mas também de especialistas técnicos.


www.networkworld.com - este site de notícias se concentra mais nas modernas tecnologias de rede, bem como na criação e operação de sistemas de informação e data centers. Mas as principais notícias do mundo do DevOps e da tecnologia da informação como um todo também são apresentadas aqui. O mais interessante serão as pessoas que estão trabalhando ativamente no design de soluções de infraestrutura.

www.sys-con.com é um site de notícias bastante arcaico, no qual, apesar de decisões duvidosas sobre o design, as notícias atuais aparecem mais rapidamente. Se você deseja acompanhar tudo o que está acontecendo no mundo do DevOps (mesmo que não seja muito significativo), este site é perfeito.


Recursos da Web do desenvolvedor


Os recursos da Internet das empresas de desenvolvimento que criam tecnologias para implementar os processos de DevOps são de grande interesse quando imersos neste tópico. Nos sites, além da documentação detalhada de seus produtos, você pode encontrar muitas coisas interessantes - blogs, webinars e muito mais. Estes materiais, por via de regra, estão mais próximos da prática e, em maior medida, serão do interesse de especialistas técnicos. Mas também é possível encontrar coisas conceituais que são interessantes para um círculo mais amplo de pessoas. Aqui estão os sites nos quais eu sempre encontrei conteúdo interessante:


Red Hat - Sinto uma simpatia especial por esta empresa e suas políticas (embora a aquisição da IBM cause grande preocupação com o futuro). Mas se descartamos a subjetividade, o resultado é que o recurso da Internet pode oferecer muitas coisas interessantes.Para usuários registrados (especialmente com o papel de "Desenvolvedor"), uma ampla base de conhecimento está disponível em seus produtos e tecnologias. E esses são microsserviços, tecnologias de contêiner, gerenciamento de configuração, Service Mesh, virtualização e muito mais. Além da base de conhecimento, há um blog (e no tópico do DevOps há realmente muitas informações interessantes e não apenas sobre os produtos Red Hat), seminários on-line regulares sobre produtos desenvolvidos e seus novos recursos (aconteceu que, ao escrever essas linhas, recebi um convite para o webinar " Implementando o Red Hat OpenShift no Amazon Web Services com perguntas e respostas ao vivo, que será realizada em 5 de dezembro) e uma extensa comunidade. Também é importante mencionar que, para contas com a função de desenvolvedor, os produtos Red Hat estão disponíveis para download totalmente gratuito e, se desejar, você não pode perder tempo instalando e “sentindo-os” diretamente na nuvem. Conto para o técnico :)


O BlazeMeter é uma divisão da CA Technologies envolvida no desenvolvimento de uma plataforma em nuvem para executar testes funcionais e de desempenho. Eles têm um blog interessante sobre testes de desempenho com uma comparação de várias tecnologias. Eles também falam sobre a incorporação de vários tipos de teste no pipeline de entrega contínua de software e no uso de tecnologias de contêiner. Os seminários on-line são realizados regularmente sobre tópicos semelhantes, cujas gravações também estão disponíveis para visualização. Fiquei interessado no BlazeMeter pela natureza da minha atividade (no passado eu trabalhei na equipe de teste de carga). Mas deve-se observar que a CA Technologies também possui um grande número de produtos, de uma forma ou de outra, conectados ao DevOps, com seus blogs, webinars e bases de conhecimento. Estes materiais estão disponíveis no site oficial (/).


A CloudBees é uma empresa de desenvolvimento que desenvolve o servidor de integração contínua Jenkins e vende vários produtos baseados nele (a versão em nuvem do Jenkins, DevOptics para visualizar o fluxo de valor através da integração de Jira, Git e Jenkins e alguns outros). Ele tem um blog bastante interessante sobre DevOps e entrega contínua de software e com uma clara separação de materiais para gerentes e materiais para especialistas técnicos. Às vezes, eles realizam seminários on-line dedicados a seus produtos e soluções, mas de natureza mais publicitária. Eles têm uma base de conhecimento bastante decente sobre Jenkins e produtos relacionados com alto detalhe: dos meandros da arquitetura às várias opções de uso de funções específicas. De legal: eles conduzem seu próprio rádio DevOps, onde, na forma de podcasts com música leve agradável, falam sobre as tendências no desenvolvimento do DevOps e na entrega contínua de software. Ouvi-lo é talvez a maneira mais agradável de permanecer na moda.


Os Puppet Labs são alguns dos pioneiros do movimento DevOps. Mais conhecido por publicar um relatório anual sobre o estado dos DevOps no mundo. Além do relatório, o site contém um conjunto realmente extenso de vários materiais sobre o tema: artigos, vídeos, seminários on-line e seminários on-line planejados para o futuro, apresentações, podcasts, e-books, relatórios analíticos e até infográficos. A maioria dos materiais é de alta qualidade e realmente merece sua atenção.


Netflix - não se encaixa bem na definição de empresa de desenvolvimento, já que o principal tipo de atividade é a criação e o streaming de séries. No entanto, na comunidade de TI foi ela quem se tornou pioneira em microsserviços e um exemplo a seguir em termos de cultura e inovação corporativa. Este site pertence à sua unidade responsável pelo desenvolvimento de tecnologias de código aberto. Muitas tecnologias são apresentadas e são agrupadas por tarefas. Parte dos links leva aos repositórios correspondentes do GitHub, o restante - a páginas individuais de projetos, onde você pode encontrar vídeos de treinamento, exemplos de uso e guias para participar do desenvolvimento do projeto.


Artigos e Apresentações


Ler artigos relevantes e outros materiais semelhantes na Internet continua sendo uma das maneiras mais eficazes de obter conhecimento sobre o que está acontecendo no setor. Os recursos acima são ótimos para isso. Aqui darei vários artigos, apresentações e outros materiais que me pareceram especialmente interessantes e, na minha opinião, faz sentido lê-los para todos os interessados ​​no DevOps (embora seja interessante notar que esses materiais perdem rapidamente sua relevância):


Jornada Microservice 4.0, Daniel Oh - uma apresentação muito interessante sobre a história do desenvolvimento de microsserviços e tecnologias relacionadas. Além de informações históricas, descreve a situação atual do setor, bem como previsões sobre o desenvolvimento futuro de eventos. Deve-se observar que meu site é aberto apenas ao trabalhar através de um proxy.


MLFlow: Plataforma para o ciclo de vida completo do aprendizado de máquina, Mani Parkhe e Tomas Nykodym - outra apresentação do mesmo recurso, mas com o tópico de aprendizado de máquina e trabalho com modelos baseados nele. Ele descreve o produto MLFlow e como usá-lo para fornecer um ciclo de vida conveniente para os modelos de ciência de dados. De particular interesse serão aqueles que desejam operar esses modelos em um ambiente produtivo.


DevOps 2.0 para transformação digital, Jesús Pérez Franco é um pequeno artigo sobre desenvolvimento de DevOps. A idéia principal é que o processo abranja não apenas o processo de desenvolvimento, mas também toda a cadeia, desde o surgimento de idéias do lado do negócio até o recebimento de feedback dos usuários finais e o benefício dele. A idéia não é muito nova, mas alguém pode ter perdido. É hora de mudar do DevOps para o BizDevOps :)


Navegando tranqüilo com o Kubernetes, Scott McCloud é uma história em quadrinhos divertida e irônica sobre o Kubernetes e seus benefícios. Ele não pretende ser profundo e amplo, mas pode explicar rápida e facilmente a uma pessoa que não está no tópico por que esse produto é necessário e por que há tanto hype no mundo de TI em torno desta plataforma. Há também uma versão russa .


TABELA PERIÓDICA DE FERRAMENTAS DE DEVOPS - Não posso deixar de fornecer um link para a tabela periódica das ferramentas de DevOps do XebiaLabs. Eles são divididos de acordo com seu objetivo e modelo de distribuição. Para cada descrição e links para sites oficiais são fornecidos. Além disso, cada ferramenta pode ser adicionada ao gerador de transportador e criar um diagrama visual de CI / CD. Ele mostra todas as fases e tipos de ferramentas que devem ser consideradas ao projetar o pipeline de implantação, para que possa ser efetivamente usado para otimizar seus processos atuais e criar apresentações.


Literatura


Muita literatura foi escrita sobre esse tópico e também pode ser dividida em duas categorias - conceitual e técnica. O primeiro inclui livros que descrevem idéias básicas, seja infraestrutura como código ou mapeamento, e o segundo inclui literatura sobre o uso de abordagens e tecnologias específicas na prática.


Literatura conceitual


“Filosofia de DevOps. The Art of IT Management "(Jennifer Davis, Catherine Daniels) .Um dos primeiros livros sobre esse tema que apareceu na Rússia. Ele enfatiza mais o componente cultural do DevOps - derrubando barreiras entre equipes de desenvolvimento, eliminando políticas de reprovação mútua e incentivando a colaboração para alcançar objetivos comuns. O livro pode não ser muito interessante para especialistas técnicos, mas pode fornecer aos gerentes informações úteis (especialmente para aqueles que não estão familiarizados com o tópico) e eles certamente agradarão com uma abundância de excelentes citações, por exemplo: "Não se trata de se o DevOps é formalmente executado, mas como problemas são identificados e resolvidos. ”


“O Projeto Phoenix. Um romance sobre como o DevOps está mudando os negócios para melhor "(Gene Kim, Kevin Behr, George Spafford). Semelhante ao livro mais vendido" The Goal. O processo de melhoria contínua ”este livro apresenta suas idéias em uma forma de arte que é fácil para o leitor. Os heróis do romance encontram problemas típicos para o setor de TI e aplicam as abordagens fundamentais do DevOps para resolvê-los, lidando gradualmente com a crise e passando do escuro ontem para o brilhante amanhã. Os autores não pretendem aprofundar, mas graças ao formato para o conhecimento inicial do tópico se encaixa perfeitamente.


“Guia do DevOps. Como obter flexibilidade, confiabilidade e segurança de classe mundial em empresas de tecnologia "(Jez Humble, John Willis, Patrick Debois, Gene Kim) .Este livro foi escrito pelos principais especialistas em DevOps no mundo, incluindo o autor do livro" Phoenix Project ", de Gene Kim e um dos fundadores do movimento DevOps, Patrick Debois. No momento, é considerado o melhor e mais completo livro de DevOps do mundo. Sem modéstia excessiva, observo que a empresa Neoflex participou diretamente da tradução e publicação deste livro em russo. Os especialistas da linha de negócios de Práticas de engenharia, incluindo seu humilde servo, leram e releram a versão preliminar da tradução, governaram, argumentaram e decidiram novamente. Os resultados deste trabalho na forma de uma publicação em russo podem ser solicitados no site do editor e encontrados nas livrarias. Leia e seja inspirado pela saúde.



“DevOps para gerentes de TI” (Oleg Skrynnik) O autor deste livro é um dos especialistas reconhecidos na área de DevOps na Rússia, bem como o parceiro gerente da Cleverics. Além disso, Oleg participa regularmente das principais conferências DevOps (como DevOpsDays) na Rússia e traduções de publicações estrangeiras sobre o mesmo assunto (isso será discutido mais adiante). Esta publicação contém todos os principais conceitos e idéias do DevOps no manual mais intensivo sobre o que você precisa saber para um gerente moderno sobre este tópico sobre como "implementar o DevOps" rápida e eficientemente em sua empresa ou em um projeto. Também pode servir como uma boa alternativa para quem está com preguiça de ler o Guia do DevOps. Como obter flexibilidade, confiabilidade e segurança de classe mundial em empresas de tecnologia ”, caracterizadas por um volume sólido.


"Iniciando e dimensionando DevOps na empresa" (Gary Gruver) Este livro foi publicado pela Cleverics, discutido no parágrafo anterior. Seu autor abordou um tópico muito interessante e importante - escalar os processos do DevOps, tradicionalmente descritos para pequenos projetos e equipes (equipes de duas pizzas), ao nível dos departamentos e processos da empresa ou da empresa como um todo. Pode ser útil para a alta gerência das empresas criar uma estratégia de transformação digital e dimensionar o DevOps a partir de projetos e áreas individuais onde foi localmente capaz de transformar o processo de desenvolvimento na organização como um todo.


Literatura técnica


Muita literatura já foi escrita sobre muitas tecnologias relacionadas ao DevOps; portanto, apresentarei as publicações que me pareceram básicas para mergulhar neste tópico:


"Git para um programador profissional" (Scott Chacon, Ben Straub) Qualquer desenvolvimento de software é baseado na escrita de código-fonte que precisa ser armazenado em algum lugar e, de preferência, com versão. Na realidade moderna, é ideal usar o Git para esses fins, especialmente se sua equipe incluir mais de um desenvolvedor trabalhando em uma determinada parte da funcionalidade. Este livro descreve em detalhes o sistema de controle de versão Git, o processo de controle de versão do código, comandos básicos e recursos avançados para uso, bem como uma comparação com outros sistemas modernos de controle de versão. Após a leitura, você pode prosseguir para a próxima etapa - configurando a integração contínua.


“Jenkins: o guia definitivo” (John Ferguson Smart) - para configurar a integração contínua, um grande número de produtos foi criado, tanto na nuvem quanto estacionário, mas eu recomendaria o uso da Jenkins. Além do fato de ser gratuito (sem contar as versões corporativa e de nuvem do CloudBees), mais de mil plug-ins foram criados para ele, permitindo que você resolva praticamente qualquer tarefa ao criar um CI / CD. Este livro descreve em detalhes a arquitetura dessa tecnologia, os princípios de sua operação e a possibilidade de uso, incluindo procedimentos de manutenção da Jenkins e muito mais. Quando um entendimento dos processos de CI / CD é formado, você pode começar a estudar a tecnologia de contêineres.


"Usando o Docker" (Adrien Mowet). Entre as tecnologias de contêineres, o Docker é atualmente o líder. Muita literatura foi escrita sobre o tema de sua aplicação e uso ideal. Mas foi este livro que coletou a seleção ideal de materiais para um conhecimento completo dessa tecnologia: desde a descrição do princípio da conteinerização e uma visão geral detalhada de todos os comandos básicos do Docker até a construção de um microsserviço simples a partir de vários componentes e o uso de ferramentas especializadas para depuração. Além disso, este livro descreve a orquestração de contêineres e ferramentas populares para simplificá-lo, mas eu recomendaria prestar um pouco mais de atenção a esse tópico (como um dos mais importantes para entender os princípios de construção de sistemas de microsserviços). Não se limite a ler este livro, mas estude literatura adicional, como o Kubernetes em Ação.


“Kubernetes em ação” (Marko Lukša), “O DevOps 2.3 Toolkit: Kubernetes: implantando e gerenciando aplicativos altamente disponíveis e tolerantes a falhas em escala” (Viktor Farcic), “The Kubernetes Book: Version 3” (Nigel Poulton). Kubernetes, de fato, venceu a guerra da orquestra de contêineres, deixando o resto para trás. Somente orquestradores que estendem sua funcionalidade (como OpenShift, IBM Cloud Private e Rancher) podem fazer melhor que ele. Portanto, é essencial entender os princípios de operação do Kubernetes e os objetos com os quais ele opera ao trabalhar com sistemas de nuvem e microsserviços. O sistema está MUITO ativo desenvolvendo e muita literatura é publicada, então já existem 3 livros indicados. Depois de lê-los, você terá uma compreensão abrangente da plataforma Kubernetes, seus recursos e capacidades, e também estará pronto para desenvolver e operar aplicativos em contêiner. Além disso, o livro foi escrito com dignidade e lido de uma só vez, é claro, se esse tópico lhe interessar. Mas se você precisar operar não apenas aplicativos de contêiner, mas, por exemplo, tarefas de processamento de dados no Hadoop ou em aplicativos independentes, recomendo prestar atenção ao Apache Mesos.


"Mesos em Ação" (Roger Ignazio). Se você tiver a tarefa de construir um datacenter e gerenciar centralmente seus recursos, recomendo prestar atenção no Apache Mesos ou em sua distribuição DC / OS suplementada. Este livro é dedicado ao trabalho com essa tecnologia e explica os princípios de construção de um cluster Mesos, criação de um pool de recursos comuns e criação e execução de estruturas para alocá-los do pool para tarefas e aplicativos específicos. Muitas estruturas prontas para uso (como o Marathon) foram criadas para o Mesos, permitindo executar os tipos de tarefas mais populares - contêineres Docker, Spark, Jenkins e muitos outros. Entre outras coisas, o Mesos pode usar o Kubernetes como uma estrutura para orquestrar contêineres do Docker, e o DC / OS possui um catálogo de serviços com o qual você pode implantar os produtos de código aberto mais populares em seu cluster em minutos.


Conferências


As conferências DevOps são realizadas em muitos países do mundo, incluindo a Rússia. Aqui estão os mais importantes e interessantes em termos de conteúdo:


O DevOpsDays é a maior conferência de DevOps do mundo (mais de 160 eventos realizados), realizados anualmente em muitos países do mundo, incluindo a Rússia (nos últimos anos em Moscou). Um dos organizadores é Patrick Debois - um dos fundadores do movimento DevOps. O programa do evento inclui relatórios, workshops, sessões abertas e várias competições para os participantes. Os palestrantes geralmente são representantes de empresas locais e um pequeno número de convidados de empresas estrangeiras que exploram e desenvolvem ativamente as tecnologias e abordagens do DevOps.


O DevOps Pro Moscow também é uma conferência DevOps muito valiosa, realizada por 3 dias em Moscou. O programa inclui discursos de um grande número de palestrantes, incluindo estrangeiros, e master classes de representantes de empresas russas e estrangeiras líderes que promovem e desenvolvem ativamente o tema do DevOps. O único aspecto negativo - os relatórios ocorrem em três fluxos, portanto, há uma alta probabilidade de experimentar as dores de escolha - muitos tópicos de apresentações são muito interessantes.


O DevOops não é uma conferência em larga escala como as duas anteriores, mas com palestrantes de primeira classe, principalmente das principais empresas do mundo no campo de DevOps. Realizada em São Petersburgo. O programa do evento inclui apenas discursos de palestrantes e conversas nos bastidores, mas nas questões mais atuais, apenas as últimas tendências do setor e seu futuro.


Agile, DevOps, ITSM - esta conferência é dedicada não apenas ao DevOps, mas também a outras formas relevantes de organizar e gerenciar processos de trabalho em TI. É focado principalmente em gerentes - praticamente não há relatórios técnicos. O programa inclui palestras e estandes tecnológicos de empresas parceiras.


Treinamento


O tema do DevOps é inerentemente dividido em partes culturais e tecnológicas. Apesar de ambos serem igualmente importantes, o treinamento geralmente é realizado precisamente no lado tecnológico (embora haja exceções). A seguir, será apresentada uma lista de plataformas gratuitas e pagas nas quais você poderá obter seu conhecimento nessa direção.


Aulas gratuitas


, DevOps, , ! ? , .


Red Hat — , , . : Red Hat, . — . . , , . , .


CloudBees — Jenkins . -, . Jenkins , DevOptics.


Puppet Labs — DevOps- « ». , Open Source Enterprise . — . :)


Chef — Chef , , - . , Learn Chef Rally, , . - Chef, . ?


Microsoft Virtual Academy — Microsoft , . , DevOps . , , .



DevOpsInstitute — DevOps. , — DevOps ( Agile). .


CloudBees — CloudBees. , (, Jenkins ). CloudBees Jenkins , .


Puppet Labs — Puppet Labs . : Puppet , . , .


Chef — Learn Chef Rally , Chef. - , , . , , .


Edureka — , IT, . , :Docker, Kubernetes, Git DevOps . , .


Só isso. , !


Fin.

Source: https://habr.com/ru/post/pt431104/


All Articles