DevOps – Compartilhando o que aprendi nos últimos anos

By | 13 de fevereiro de 2017

Faz mais de três anos que mudei do setor financeiro para o mundo de consultoria e empreendedorismo. Recentemente entrei também no mundo do e-commerce. Aprendi muito nesse período. Hoje vou falar um pouco do que conheci sobre DevOps na teoria e na prática. Conhecimento adquirido nas estudos, no trabalho e nas aulas da Pós.

DevOps na Teoria – Uma nova cultura ou forma de trabalho nas empresas de TI. Existem muitas definições, segue uma:

wikipedia: https://en.wikipedia.org/wiki/DevOps

DevOps (a clipped compound of “software DEVelopment” and “information technology OPerationS”) is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment, where building, testing, and releasing software can happen rapidly, frequently, and more reliably.

Um pouco da realidade: Infraestrutura X Desenvolvimento

Hoje em dia não existem as fronteiras entres estes dois mundos. Grandes empresas criavam barreiras dividindo as equipes em diretorias separadas que competiam entre si. A competição e concorrência ainda existem, mas vemos que mudou um pouco. As células de negócios agrupam profissionais de diversas disciplinas trabalhando para o negócio. A diretoria ou célula tem desde o PO, GP, DEV, QA, INFRA E DEVOPS.

Apesar de ser um termo recente, eu acredito que essa prática já acontecia há mais de 10 anos, onde todos faziam um pouco de cada coisa. Naquela época as empresas e os sistemas eram mais enxutos. Na minha opinião, somente voltamos no tempo e criamos um termo legal, onde aplicamos as lições aprendidas dos últimos tempos de TI.

Muita prática: Startups e pequenas empresas, para criarem e investirem em um empreendimento, precisam conhecer muito do negócio e saber da tecnologia, para pelo menos tirar o projeto do papel.

Com tudo que aprendi consegui realizar algumas entregas para o meu projeto pessoal.

Como exemplo, fiz um novo site usando muito do conhecimento que adquiri.

Infraestrutura – Precisamos saber muito sobre Cloud Computing.

Alguns conceitos sobre a Nuvem:

IAAS – Criei meus servidores Linux na Azure e AWS para hospedar meu sites. Tive que instalar o apache e fazer toda a configuração. Esse modelo exige um bom conhecimento de sistemas operacionais e suas aplicações.

PAAS – Usando um modelo WebApp, é possível criar um Blog em WordPress em poucos minutos. É criar o WebApp e sair “blogando”. Tudo vem pronto para você.

SAAS – Usando recursos como office 365 e Google Docs, entre outros recursos, nossa vida fica mais fácil e acessível de qualquer lugar.

Entender o negócio e dominar o sistema operacional e o software são essenciais para equipes DevOps. Existem muitos outros modelos de serviços na Nuvem.

Desenvolvimento rápido – entregas constantes

Criei um site bem simples em HTML, com pouco conteúdo, mas com o básico para ser disponibilizado. No modelo de desenvolvimento ágil, podemos fazer pequenas entregas.

Nosso trabalho nunca estará 100% pronto, sempre teremos algo a melhorar.

Usando templates BootStrap, tudo fica mais fácil.
Utilizar o Git Hub para armazenar, compartilhar e controlar o código.
Continuous integration – Integração contínua com o Jenkins pegando o último código no reposítório. Usando o Jenkins também para facilitar a implantação e automação de scripts.
Continuous deployment / delivery – Estabelecer desenvolvimento constante e pequenas entregas para diminuir falhas.
Conhecer uma linguagem de programação é interessante. Conheci o C# e agora me aventurando no mundo Java.
Shell scripts também é importante. As ferramentas de automação usam muito de linguagens interpretadas como o Shell, Ruby e Python.
Tudo isso foi feito em alguns dias, com planejamento e execução. A automação é fundamental para equipes DevOps. Pensando em desenvolvimento ágil finalizei uma versão e coloquei no ar. Isso tudo em alguns dias, aproveitando um tempo livre entre o trabalho e as coisas de casa. Não podemos reclamar da falta de tempo.

Descubram o código abaixo e vejam como ficou o meu site:


Minhas conclusões: Não precisamos conhecer tudo sobre DevOps em detalhes, mas conhecer um pouco de cada coisa para saber encontrar melhores soluções.

Nas empresas fazemos parte de equipes, todos com funções, perfis e conhecimentos diferentes. Montar uma equipe equilibrada em termos conhecimento e de relacionamento é o maior desafio. Saber lidar com pessoas e os conflitos fazem parte do aprendizado. O relacionamento pessoal faz muita diferença e torna-se mais um desafio para os líderes.

Como dizem, uma equipe é como um time de Futebol. Temos as responsabilidades de jogar nos melhores times do mundo, vivemos também as glórias e os fracassos.

Finalizando, um time não joga somente com o camisa 10 e sim com uma equipe com componentes equilibrados e um bom técnico, um líder. Não importa se você é o camisa 10 ou o volante, todos tem sua importância no time. Enquanto o seu trabalho estiver agregando valor para a empresa e seu desenvolvimento profissional, na minha opinião, “Está valendo a pena!!!”.
Acredito que consegui colocar em prática muito que aprendi nos últimos anos para um empreendimento pessoal, mas que tem muito valor nas empresas.

Espero que tenham gostado.

Abraços,

LYM – Fevereiro de 2017

#Liderança, #Weblogic, #Microservices, #Mongo, #CDN, #Automacao, #Git, #Releases, #Sensus, #Phyton

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *