Principais Ferramentas DevOps
Jenkins
Trata-se de um servidor de automação gratuito e de código aberto. Ele ajuda a automatizar as partes do desenvolvimento de software relacionadas à construção, teste e implantação, facilitando a integração e entrega contínuas. É um sistema baseado em servidor que é executado em contêineres de servlet como o Apache Tomcat. Permite que você configure e personalize o pipeline de CD conforme as necessidades individuais. É executado no Windows, Linux e macOS X, o que facilita a introdução.Vantagens:
Automatiza implantações e atualizações de aplicações;
Oferece velocidade para escalar aplicativos em contêineres;
Consegue operar contêineres em múltiplos hosts;
Permite o uso do hardware de forma otimizada, o que ajuda a economizar recursos.
Não limita o tipo de aplicativos suportados. Kubernetes oferece suporte a uma carga diversificada de aplicações;
Fluxos de trabalho de integração e entrega são determinados pela cultura de preferência da organização;
Não dita as soluções, e sim fornece algumas integrações e mecanismos para coletar dados e métricas;
Não fornece (e nem exige) idioma ou linguagem específica para a configuração dos sistemas.
Docker
Assim, uma plataforma container docker reúne partes de softwares de um sistema completo de arquivo, com todos os recursos que a sua execução precisa, criando ambientes mais leves e isolados para rodar os programas.
Economia significativa de recursos
Disponibilidade maior do sistema
Possibilidade de compartilhamento
Gerenciamento facilitado
Similaridade dos ambientes
Aplicação como pacote completo
Padronização e replicação
Kubernetes
Orquestrador de contêineres open-source, o Kubernetes é um sistema de automatiza a implantação, o dimensionamento e a gestão de aplicações em contêineres. Ele foi originalmente projetado pelo Google e agora é mantido pela Cloud Native Computing Foundation.Vantagens:
Automatiza implantações e atualizações de aplicações;
Oferece velocidade para escalar aplicativos em contêineres;
Consegue operar contêineres em múltiplos hosts;
Permite o uso do hardware de forma otimizada, o que ajuda a economizar recursos.
Não limita o tipo de aplicativos suportados. Kubernetes oferece suporte a uma carga diversificada de aplicações;
Fluxos de trabalho de integração e entrega são determinados pela cultura de preferência da organização;
Não dita as soluções, e sim fornece algumas integrações e mecanismos para coletar dados e métricas;
Não fornece (e nem exige) idioma ou linguagem específica para a configuração dos sistemas.
Kibana
É uma plataforma que trabalha em conjunto com o Elasticsearch, ferramenta desenvolvida em java e open source para buscas e também um NoSQL de armazenamento de dados.Vantagens:
Visualização de uma grande quantidade de dados organizados em gráficos de diversas formas, que podem ser personalizados conforme a necessidade.
Facilidade na análise do desempenho dos serviços, com acesso a dashboards dinâmicos atualizados em tempo real.
É possível utilizar o Machine Learning da plataforma para solucionar e automatizar a resolução de problemas.
ElasticSearch
Trata-se de um mecanismo de busca e análise de dados distribuído e open source para todos os tipos de dados, incluindo textuais, numéricos, geoespaciais, estruturados e não estruturados. O Elasticsearch é desenvolvido sobre o Apache Lucene e foi lançado pela primeira vez em 2010 pela Elasticsearch N.V. (agora conhecida como Elastic). Conhecido por suas APIs REST simples e sua natureza, velocidade e escalabilidade distribuídas, o Elasticsearch é o componente central do Elastic Stack, um conjunto de ferramentas open source para ingestão, enriquecimento, armazenamento, análise e visualização de dados. Comumente chamado de ELK Stack (com base nos nomes por extenso Elasticsearch, Logstash e Kibana), o Elastic Stack agora inclui uma coleção sofisticada de agentes de envio leves conhecidos como Beats para enviar dados ao Elasticsearch.Vantagens:
Novas opções de busca: Um dos maiores benefícios do ElasticSearch é a quantidade de opções de busca que o serviço adiciona às suas plataformas de dados. O recurso permite, por exemplo, buscar pelas palavras dentro de um texto e buscar textos extensos e também autocompleta solicitações de busca para que elas tragam o máximo de resultados relevantes possível.
Suporte a grandes volumes de dados: O ElasticSearch é um dos grandes facilitadores do Big Data, permitindo que as empresas naveguem por grandes conjuntos de informação sem problemas e identifiquem sempre as informações mais recentes e úteis para o processo de tomada de decisão.
Implementação em qualquer sistema: A implementação do ElasticSearch é muito simples. Utilizando o instalador disponível no website e a documentação preparada para oferecer suporte para a ferramenta, qualquer usuário, independentemente do seu nível de conhecimento, consegue implementar o ElasticSearch e dar os seus primeiros passos com a ferramenta.
Solução de busca escalável: Times de desenvolvimento que utilizam ElasticSearch não trocam o recurso por nenhum outro. Afinal, é muito mais fácil escalar a funcionalidade de busca quando o recurso é implementado nos seus sistemas. Como o ElasticSearch é um sistema distribuído por natureza, escalar horizontalmente, adicionando novos recursos e conectando novos clusters de dados, torna-se uma tarefa simples.
Busca rápida e inteligente: A performance é outra das vantagens do ElasticSearch que fazem com que o recurso seja tão bem quisto por desenvolvedores. Executar queries complexas, fazer buscas extensas e ter acesso aos resultados é muito mais rápido quando se utiliza a ferramenta.
Logstash
O LogStash é uma ferramenta open source feita para funcionar no ecossistema open source. Todas as ferramentas do ecossistema do LogStash são instaláveis, configuráveis e gerenciáveis por linha de comando, tornando-as ideal para automação. Ao longo do livro, Turnbull deixa claro que utilizar gerenciamento de configurações automatizado para controlar a instalação e configuração de cada componente LogStash é a melhor escolha. Entretanto, esse assunto está além do escopo do livro, então o próximo ponto interessante coberto pelo livro é instalação e configuração dos componentes do LogStash. Combinar o entendimento da instalação e configuração com a atividade de automação permite construir múltiplos ambiente de forma simples. O esforço é mínimo na montagem de ambientes para as diferentes fases do projeto, Q&A, resolução de problemas e suporte a Entrega Continua (Continuous Delivery).Git
Amplamente utilizado em todos os setores de software, o Git é uma ferramenta distribuída de SCM (gerenciamento de código-fonte). Permite que você acompanhe facilmente o andamento do seu trabalho de desenvolvimento, onde também é possível salvar versões diferentes do código-fonte e retornar ao anterior, conforme e quando necessário. Requer um repositório hospedado, como o Github ou o Bitbucket, que oferece repositórios privados ilimitados. Gratuita e de código aberto, suporta a maioria dos recursos de controle de versão de check-in, mesclagem, etiquetas, confirmações, ramificações, etc.Vantagens:
Rapidez: como os processos são operados localmente, deixa de ser preciso contactar o servidor central para proceder a operações como um commit, log ou diff.
Autonomia: permite trabalhar em modo desconectado, em qualquer local, só sendo necessária uma conexão com a rede para troca de revisões com outros repositórios.
Ramos individuais: contrariamente aos chamados sistemas centralizados, combinar ramos não é uma obrigação para cada commit e antes uma decisão que depende do programador; o trabalho local faz-se num ramo individual que não tem interferência com os demais ramos, mesmo em processos de sincronização entre repositórios.
Facilidade na Fusão: os DVCS usam o rastreamento automático, o que facilita de forma significativa o processo de fusão.
Confiabilidade: com um sistema centralizado, qualquer problema que surja no servidor vai parar todo o trabalho de desenvolvimento. Um sistema distribuído permite que a equipa continue a trabalhar e os repositórios dos programadores servem como cópias de backup, não havendo riscos de perder nada do projecto.
Redução de custos com o servidor: o repositório "central" (se ele existir) funciona como repositório "oficial", ao invés de ter uma função de processador central dos pedidos. Assim, a carga de processamento é distribuída pelas máquinas dos programadores.
Bitbucket
Bitbucket é uma ferramenta de hospedagem e colaboração de código baseada em Git, criada para equipes profissionais de engenharia de software e gestão de projetos. A marca BitBucket foi adquirida pela Atlassian em 2010, o que garante às suas ferramentas integração total com os demais serviços da empresa e ainda workflows do Jira e do Trello.Vantagens:
Hospeda repositórios Git e Mercurial
Possui suporte para conexões HTTP e SSH
Permite até 5 colaboradores em um mesmo projeto gratuitamente
Possui gerenciador de incidentes (feature requests, bug reports, etc)
Gerenciamento de branches
Rastreamento de commits
Permite snippets
Permite criação de wiki
Permite importar repositórios do Google Code, Subversion e SourceForge porém o usuário deve escolher entre Mercurial e Git para hospedar o novo repositório.



Comentários
Postar um comentário