em 02-22-2023 04:47 AM
É muito claro que um dos maiores ganhos, se não o maior, da programabilidade é a escalabilidade e a agilidade, poder em pouco tempo e com baixo risco expandir, criar e modificar features e serviços. Dito isso, a convite do meu grande amigo Pedro, eu, Gabriela Marques, IT software engineer, trago minhas percepções acerca da 'temida' programação pela grande maioria dos profissionais especializados em infraestrutura e o que se perde enquanto não se tem um ambiente automatizado.
Meu objetivo não é citar e nem entrar em detalhes sobre a grande gama de tecnologia que se tem hoje para poder automatizar um ambiente, apesar de achar um bom pontapé inicial para essa discussão, entendo que há muitos artigos explorando as ferramentas open source que temos disponíveis atualmente, então meu foco é tentar direcionar essa leitura para a metodologia e priorização das organizações para fazer acontecer esse movimento na área de infra, pois com tecnologia, mas sem metodologia e foco da gestão, dificilmente se chega até o outro lado.
Do meu ponto de vista e com a experiência pessoal de uma evolução profissional já dentro da área de desenvolvimento, vejo que muitas vezes fica difícil chegar ao objetivo final de se ter um ambiente automatizado em infra, porque antes se pulam algumas etapas, muito se fala em tecnologias, em homologar internamente as ferramentas open source, em adquirir ferramentas, em capacitar o time técnico em python, etc. mas pouco vemos sobre a estruturação de tudo, do planejamento inicial, de gestão, metodologias, targets a curto e médio prazo para aí sim partir para o grande objetivo final, e nesse meio tempo, temos profissionais que são inundados de informações e novos conhecimentos, mas ficam de mãos atadas sem saber como organizar tudo isso para começar a operacionalizar, o que muitas vezes resulta em profissionais desanimados para retomar qualquer novo plano de automação na empresa.
Comparando com a indústria de software, podemos perceber que desde muito tempo atrás ela já começava a adotar metodologias para se adaptar às transformações e evoluções do mundo corporativo, partindo do modelo Cascata e chegando atualmente em Modelos Iterativos e Incrementais (métodos ágeis) entregando assim mais serviços em menos tempo. E tendo como visão a entrega final de novos serviços ou melhorias segmentadas em ciclos e testando de forma contínua a integridade do software com o uso do CI/CD.
Com a adoção do NetDevOps, não é garantido que o mundo não terá problema, no começo, inclusive, será um baita desafio, até mesmo operacionalmente falando, por um lado tem empresas e gestores que cobram a adoção rápida do modelo, mas sequer sabem como dar o primeiro passo como liderança ativa dessa iniciativa, e do outro há ainda profissionais que não temem só a programação, mas sim as mudanças, são resistentes e dificultam/atrasam transformações importantes.
Porém, vencidos os desafios operacionais pode-se colher os frutos de uma rede automatizada, com integrações inteligentes podendo eliminar acionamentos por problemas recorrentes e conhecidos, e ter um time mais engajado, pois com o ambiente estável não é necessário olhar para falhas todos os dias, é possível ter tempo para fazer novos scripts, pensar em novas soluções e amadurecer ainda mais o ambiente. Obrigada por sua leitura até aqui e continue na busca de seu desenvolvimento - literalmente rs - profissional.
“Se seguirmos a forma tradicional de gerenciamento de dispositivos de rede via Terminal e CLI, o número de horas de engenheiros necessárias não permitirá que o serviço esteja disponível em um período de tempo razoável. Sem mencionar que a repetição humana é propensa a erros, ineficiente e um terrível desperdício de talento.” trecho do livro Mastering Python Networking: Utilize Python packages and frameworks for network automation, monitoring, cloud, and management, 4th Edition de Eric Chou.
O dia que infra tera que aprender a programar finalmente chegou?
Olá pessoal, me chamo Pedro e sou Senior Network Engineer e hoje vou levantar a pergunta do momento que “assombra” os novatos da área e que cria um certo desconforto para os Seniors. Afinal teremos que aprender a programar?
Normalmente os profissionais de infraestrutura (redes, servidores, segurança, etc.) escolhem essas verticais de infra para “correr” da programação (não minta para mim, eu sei que você fez isso) e nos últimos anos, temos visto o aumento da demanda de profissionais que tenham algum nível de conhecimento em Coding (Python,Shell Script, Perl, Go etc), Automation (Ansible, Infoblox, NSX,ACI,NFV etc) e Orchestration (Terraform, Kubernetes, Dockers etc) e por que essa necessidade aumentou tanto? Isso ocorreu pois as necessidades do mercado evoluíram, e a área de network foi uma das áreas que mais demorou a se “automatizar”, o que causava (e ainda causa) muitos atrasos no GTM (go to market). Com isso, as redes(e os seus profissionais) tiveram que evoluir para desgargalar essas necessidades, e estamos atualmente na Programmability Epoch, conforme imagem abaixo.
E qual foi o causador dessa tendência ter explodido tanto nos últimos anos? Bom,a resposta é “simples”, basta você olhar para o céu e você vai encontrá-la hehehe.
A era Multicloud
A infraestrutura e os negócios não são os mesmos de 10/15 anos atrás. Com os benefícios que a virtualização trouxe para o ambiente on-premise e a sua evolução escalando em níveis absurdos a quantidade de máquinas e serviços virtualizados, os negócios começaram a ter uma agilidade muito maior e a demanda por maior capacidade de infraestrutura e TTM (Time to Market) ficaram cada vez maiores.
Como evolução natural, as clouds públicas (Amazon AWS, Google GGC, Microsoft Azure) revolucionaram o mercado trazendo ainda mais agilidade, segurança, alta disponibilidade e o mais importante (ao meu ver), a praticidade. Na Cloud, com apenas alguns clicks você consegue subir uma aplicação nova na nuvem do fabricante X, ou um banco de dados na nuvem do fabricante Y, ou uma API na nuvem do fabricante Z, sem precisar saber necessariamente o que está ocorrendo por debaixo do capô. Abaixo ilustro um pouco essa evolução das estratégias Cloud que o mercado aderiu.
Abaixo podemos ver a evolução dos modelos de arquitetura para comportar a evolução da arquitetura de software e application hosting que estamos vivendo atualmente. Recomendo MUITO a leitura desse link pois explica em detalhes sobre esse assunto.
Com o passar dos anos, isso escalou a ponto de várias organizações possuírem diversas aplicações/serviços(workloads) espalhados em diversas clouds, não dependendo apenas de um fabricante, gerando agilidade, maior produtividade e maior resiliência.
E como isso reflete em nossa área? Falando especificamente na área de Network , pensem comigo, para toda essa infraestrutura suportar essa nova demanda dos negócios, precisamos que os processos e as entregas sejam ágeis, automatizados e que possuam um modelo padrão para conseguirmos escalar todo esse workflow.
Vocês se lembram do clássico desenho de CI/CD? A premissa de infraestrutura automatizada também se baseia nele, porém com o acréscimo da camada de OPS que traz dores e necessidades que a operação possui/ precisa resolver.
Automação e o futuro
Um dos principais motivadores para a automação na área de infraestrutura (incluindo redes) são:
-A necessidade de padronização do Workflow da operação.
- Operação ser escalável de forma automática (Auto-scaling)
- Adotar medidas de provisionamento automatizadas.
Lembre-se, viver em um ambiente multi-cloud é só uma das etapas para o mundo de infrastructure automation
E o mercado para todas essas novidades? Baseado neste artigo da Cisco, uma das maiores empresas de Network do mundo e que dita diversos padrões e soluções no mercado no que diz respeito redes de computadores, essas novas necessidades e demandas geraram novas oportunidades em diversas áreas (conforme imagem abaixo).
A Cisco (por exemplo, pois não é a única) olhando esse movimento do mercado, possui projetos de capacitação, no caso, o DEVNET para certificar profissionais de redes que desejam adquirir essa skill mais voltada à programação. Você pode ser um Developer que se interessou em redes, ou você pode ser um engenheiro de redes e querer aprender os princípios e benefícios que o desenvolvimento possui. Todos são bem vindos, e todos possuem o mesmo objetivo: Deixar as redes mais rápidas, escaláveis e independentes!
Conclusão
Realmente é uma visão que muitas pessoas fora da bolha tech nem imaginam e observo que a maioria dos devs não possuem muito interesse (para não dizer nenhum rs) sobre tudo isso, e o mesmo ocorre para os profissionais de network. Na minha opinião acho que estamos passando por um momento único na tecnologia e todos temos espaços para poderem se desenvolver e conseguir o melhor das duas áreas desde que ambas saibam a dimensão e limites de cada uma. Uma pessoa de redes não vai morrer por aprender um pouco de automação e código, e a pessoa de dev nao vai morrer de entender um pouco conceitos de infra e redes básicos.
Muito obrigado Gabriela por contribuir nesse artigo e por essa visão senior sobre o tema, agregou demais para todos, inclusive para mim
Encontre respostas, faça perguntas e conecte-se com nossa comunidade de especialistas da Cisco de todo o mundo.
Estamos felizes por você estar aqui! Participe de conversas e conecte-se com sua comunidade.
Navegue pelos links rápidos da Comunidade e usufrua de um conteúdo personalizado e em seu idioma nativo: