| (18 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
| Linha 22: | Linha 22: | ||
"Platform Engineering" é um campo emergente no desenvolvimento de software que se concentra na construção e manutenção de plataformas tecnológicas que suportam o desenvolvimento, a implementação e a operação de aplicações. A ideia central é fornecer uma infraestrutura consistente, eficiente e reutilizável, permitindo que as equipes de desenvolvimento se concentrem nos aspectos específicos de seus projetos, em vez de se preocupar com a configuração e manutenção da infraestrutura subjacente. | "'''Platform Engineering'''" é um campo emergente no desenvolvimento de software que se concentra na construção e manutenção de plataformas tecnológicas que suportam o desenvolvimento, a implementação e a operação de aplicações. A ideia central é fornecer uma infraestrutura consistente, eficiente e reutilizável, permitindo que as equipes de desenvolvimento se concentrem nos aspectos específicos de seus projetos, em vez de se preocupar com a configuração e manutenção da infraestrutura subjacente. | ||
Platform Engineering envolve a criação de uma infraestrutura robusta e reutilizável, que facilita o desenvolvimento e a operação de software de maneira eficiente e segura. Isso permite que as equipes de desenvolvimento se concentrem na entrega de valor de negócio, evitando a duplicação de esforços e otimizando recursos. Além disso, promove a padronização de processos, a automação de tarefas repetitivas e a integração contínua de novas tecnologias, assegurando que o ambiente de desenvolvimento seja ágil e escalável. | Platform Engineering envolve a criação de uma infraestrutura robusta e reutilizável, que facilita o desenvolvimento e a operação de software de maneira eficiente e segura. Isso permite que as equipes de desenvolvimento se concentrem na entrega de valor de negócio, evitando a duplicação de esforços e otimizando recursos. Além disso, promove a padronização de processos, a automação de tarefas repetitivas e a integração contínua de novas tecnologias, assegurando que o ambiente de desenvolvimento seja ágil e escalável. | ||
| Linha 33: | Linha 33: | ||
Segundo muitas das palestras e dos vídeos de interação com os especialistas, o Platform Engineering, embora seja interessante para todo tipo de empresa que tem uma relação de DevOps, ele é muito mais atraente, e resulta em impactos maiores quando aplicado em níveis de média e grande escala. | Segundo muitas das palestras e dos vídeos de interação com os especialistas, o Platform Engineering, embora seja interessante para todo tipo de empresa que tem uma relação de DevOps, ele é muito mais atraente, e resulta em impactos maiores quando aplicado em níveis de média e grande escala. | ||
Outro conceito interessante de trabalharmos é o de '''CI/CD''', isto é, Continuous Integration/Continuous Deployment ou Continuous Delivery. O CI/CD é uma abordagem de automação no desenvolvimento de software que visa acelerar o processo de entrega de aplicações, garantindo qualidade e confiabilidade. A ideia central do CI/CD é integrar mudanças de código de forma contínua e automática, realizar testes automatizados e, em seguida, implantar as atualizações em um ambiente de produção ou de teste. Isso permite que as equipes de desenvolvimento entreguem novos recursos e correções de bugs de forma rápida e eficiente. | |||
<div>[[Arquivo:CICDcycle.png|thumb|center|600x400|]]</div> | |||
'''Continuous Integration (CI)''' | |||
*Definição: Prática de integrar mudanças de código de todos os desenvolvedores em um repositório compartilhado várias vezes ao dia. | |||
*Objetivo: Detectar e corrigir erros rapidamente, melhorar a qualidade do software e reduzir o tempo de integração. | |||
*Ferramentas Comuns: Jenkins, Travis CI, GitLab CI, CircleCI. | |||
'''Continuous Deployment (CD)''' | |||
*Definição: Processo de implantar automaticamente cada mudança que passa pelos testes automatizados em um ambiente de produção. | |||
*Objetivo: Reduzir o tempo de entrega de novas funcionalidades para os usuários finais. | |||
*Ferramentas Comuns: Spinnaker, Jenkins, GitLab CI, CircleCI. | |||
'''Continuous Delivery (CD)''' | |||
*Definição: Similar ao Continuous Deployment, mas com uma etapa manual de aprovação antes da implantação em produção. | |||
*Objetivo: Manter a capacidade de entregar o software a qualquer momento com um processo de liberação previsível e de alta qualidade. | |||
*Ferramentas Comuns: Ansible, Chef, Puppet, AWS CodePipeline. | |||
<br> | <br> | ||
| Linha 39: | Linha 57: | ||
<br> | <br> | ||
Para entender melhor os conceitos e características da estrutura e capacidade do Platform Engineering, é importante fazermos uma subdivisão dos processos presentes | |||
na sua estrutura e em suas ferramentas: [[Platform Engineering Tooling Explanation]] | |||
<div>[[Arquivo:Platformtooling.jpg|thumb|center|600x400px|]]</div> | |||
Estudo de caso da Humanitec [[Humanitec e serviços]] | |||
<br> | <br> | ||
<br> | <br> | ||
== Relatório AWS Resumo == | |||
[[Resumo relatório AWS]] | |||
==Algar SOM - Estudo e características== | |||
[[Algar SOM]] | |||
== Solicitação de Informações sobre a Aplicação do SOM para Implementação de Platform Engineering == | |||
* 09/08/2024 [[Informações]]: | |||
== Curso: AWS, Kubernetes, DevOps e microsserviços - Henrique Bastos == | |||
* 14/08/2024 [[Estudo de Aprendizagem]]: | |||
== Curso: Kubernetes Hands-On - Deploy Microservices to the AWS Cloud - Lucas Gomes == | |||
*12/08/2024 [[Estudo de K8s]] | |||
== Estudo da Plataforma Humanitec == | |||
* 30/08/2024 [[Informações]]: | |||
== Estudo Dirigido == | == Estudo Dirigido == | ||
| Linha 109: | Linha 154: | ||
<br> | <br> | ||
== Relação com o Algar SOM == | |||
O Algar SOM, como descrito anteriormente, se tornou uma ferramenta crucial para o bom andamento de quase todos os setores da Algar Telecom. Com mais de 300mil ordens de serviços, o que no inicio era uma solução para um setor específico da empresa, foi se expandindo porém sem receber o devido cuidado e atualizações, o que não é muito incomum. Portanto, o Algar SOM que deveria ser uma ferramenta completa de micro serviços, com integração com a nuvem e um sistema de atualizações mais simples, se tornou um grande monolito, on-premise e com um legado gigantesco, que dificulta novas atualizações e desenvolvimento continuo da plataforma. | |||
Visando isso, foram pensados alguns KPIs e KRs para avaliar como seria o resultado de uma aplicação desse método em integração com o Algar SOM: | |||
*Business objectives | |||
**Reduzir tempo de desenvolvimento, testes e validações de novas features, ajustes e melhorias | |||
**Antecipação dos testes e homologação das entregas sem necessidade de aguardar o build (snapshot) | |||
**Branchs ágeis para o Desenvolvedor testar o código dele | |||
**Technical objectives | |||
**Facilitar validação das integrações | |||
*MVP Team selection | |||
*KPIs and other metrics | |||
**Redução de esforço em horas (3th party) pra as mesmas entregas #TODO | |||
**Redução de bugs durante os builds #TODO | |||
*Success criteria | |||
**Communication channels & cadence | |||
== Product Backlog == | == Product Backlog == | ||
* Desenvolvimento de uma plataforma que facilite a orquestração e os processos de desenvolvimento e operações em TI. | |||
* Ferramentas para monitoramento, gerenciamento de recursos e deploy contínuo de aplicações. | |||
* Integração com sistemas de CI/CD e infraestrutura em nuvem. | |||
* Interface para configuração e personalização dos fluxos de trabalho. | |||
== Benefícios para quem for oferecer esta solução == | == Benefícios para quem for oferecer esta solução == | ||
* Expansão do portfólio com uma solução de orquestramento e aceleração de processos altamente demandados. | |||
* Geração de novas receitas com a adesão de empresas de TI e desenvolvimento de software. | |||
* Possibilidade de novos negócios com parceiros interessados em otimizar seus processos de TI. | |||
== Benefícios para o usuário == | == Benefícios para o usuário == | ||
* Redução de custos operacionais e de desenvolvimento. | |||
* Aumento da produtividade com a padronização e simplificação de tarefas repetitivas e complexas. | |||
* Maior agilidade no lançamento de novos produtos e serviços. | |||
== Direcionadores chave para esta iniciativa == | == Direcionadores chave para esta iniciativa == | ||
| Linha 140: | Linha 212: | ||
== Possíveis modelos de negócios == | == Possíveis modelos de negócios == | ||
* Licenciamento mensal ou anual para uso da plataforma. | |||
* Planos de assinatura baseados em funcionalidades específicas ou volume de uso. | |||
* Oferecimento de consultoria para customização e integração da solução. | |||
== Business Case == | == Business Case == | ||
* Exemplo: Uma empresa de tecnologia utiliza a plataforma de engineering para acelerar seu processo de desenvolvimento e otimizar recursos em nuvem, reduzindo o time-to-market e os custos operacionais. | |||
== Alinhamento com Lei do Bem == | == Alinhamento com Lei do Bem == | ||
* | * Elemento tecnologicamente novo: Plataforma integrada para aceleração e simplificação de processos de desenvolvimento e operação em TI. | ||
* Barreira tecnológica: Escalabilidade e gestão eficiente de recursos em ambientes dinâmicos. | |||
* Metodologia/método para superação da barreira: Implementação de técnicas de automação em DevOps e otimização de uso de recursos. | |||
* Parceria com ICT/startup: Possível colaboração com startups especializadas em DevOps e automação. | |||
= Fase IV - Protótipo orientado ao Negócio = | = Fase IV - Protótipo orientado ao Negócio = | ||
| Linha 234: | Linha 294: | ||
**Breve apresentação das funções realizadas na Humanetic e como funciona o Platform Engineering | **Breve apresentação das funções realizadas na Humanetic e como funciona o Platform Engineering | ||
**Deixou em aberto para uma nova reunião na próxima semana para a apresentação de um caso de uso deles e ver a adequação a um caso de uso real da Algar Telecom | **Deixou em aberto para uma nova reunião na próxima semana para a apresentação de um caso de uso deles e ver a adequação a um caso de uso real da Algar Telecom | ||
'''Semana de | '''Semana de 22 à 29/06/2024''' | ||
* Upload de infos na Wiki e criação de um plano de estudos | * Upload de infos na Wiki e criação de um plano de estudos | ||
* | * Reunião de retorno marcada com a Humanitec no dia 09/07 | ||
'''Semana de 08 à 12/07/2024''' | |||
* 09/07/2024 [[Reunião Humanitec, Sunny System, Algar Telecom e Brain - Segundo Contato - Apresentação da plataforma]]: | |||
** Participantes: Clemens Jutte, Lucas Guimarães, Henrique Bastos, Lucas Gomes e Vanius. | |||
* 15/01/2025 - [[Reunião com Adriano Graziosi]] | |||
** Participantes: Adriano Graziosi, Gabriel Villela, Lucas Gomes, Luiz Cláudio | |||
| Linha 249: | Linha 316: | ||
* Lucas Resende Gomes | * Lucas Resende Gomes | ||
* Vanius Silva de Oliveira | * Vanius Silva de Oliveira | ||
* Gabriel de Freitas Villela | |||
<br> | <br> | ||
Edição atual tal como às 17h50min de 26 de junho de 2025
Fase I - Estudo
Título da Ideia
Platform Engineering
Objetivos
- Analisar o modelo de desenvolvimento e operações proposto no Platform Engineering, suas principais diferenças com os modelos atuais, assim como suas vantagens e desvantagens para um modelo de negócios.
- Participar de comunidades e fóruns do Platform Engineering, conhecendo pessoas e empresas que façam parte desse sistema, possibilitando futuras parcerias (intelectuais ou comerciais).
- Estar a par de novas tecnologias e meio digitais inovadores.
Conceito
"Platform Engineering" é um campo emergente no desenvolvimento de software que se concentra na construção e manutenção de plataformas tecnológicas que suportam o desenvolvimento, a implementação e a operação de aplicações. A ideia central é fornecer uma infraestrutura consistente, eficiente e reutilizável, permitindo que as equipes de desenvolvimento se concentrem nos aspectos específicos de seus projetos, em vez de se preocupar com a configuração e manutenção da infraestrutura subjacente.
Platform Engineering envolve a criação de uma infraestrutura robusta e reutilizável, que facilita o desenvolvimento e a operação de software de maneira eficiente e segura. Isso permite que as equipes de desenvolvimento se concentrem na entrega de valor de negócio, evitando a duplicação de esforços e otimizando recursos. Além disso, promove a padronização de processos, a automação de tarefas repetitivas e a integração contínua de novas tecnologias, assegurando que o ambiente de desenvolvimento seja ágil e escalável.
Em resumo, Platform Engineering capacita as organizações a inovar e entregar produtos de alta qualidade mais rapidamente, ao mesmo tempo em que reduz a complexidade e aumenta a confiabilidade da infraestrutura tecnológica.
Segundo muitas das palestras e dos vídeos de interação com os especialistas, o Platform Engineering, embora seja interessante para todo tipo de empresa que tem uma relação de DevOps, ele é muito mais atraente, e resulta em impactos maiores quando aplicado em níveis de média e grande escala.
Outro conceito interessante de trabalharmos é o de CI/CD, isto é, Continuous Integration/Continuous Deployment ou Continuous Delivery. O CI/CD é uma abordagem de automação no desenvolvimento de software que visa acelerar o processo de entrega de aplicações, garantindo qualidade e confiabilidade. A ideia central do CI/CD é integrar mudanças de código de forma contínua e automática, realizar testes automatizados e, em seguida, implantar as atualizações em um ambiente de produção ou de teste. Isso permite que as equipes de desenvolvimento entreguem novos recursos e correções de bugs de forma rápida e eficiente.
Continuous Integration (CI)
- Definição: Prática de integrar mudanças de código de todos os desenvolvedores em um repositório compartilhado várias vezes ao dia.
- Objetivo: Detectar e corrigir erros rapidamente, melhorar a qualidade do software e reduzir o tempo de integração.
- Ferramentas Comuns: Jenkins, Travis CI, GitLab CI, CircleCI.
Continuous Deployment (CD)
- Definição: Processo de implantar automaticamente cada mudança que passa pelos testes automatizados em um ambiente de produção.
- Objetivo: Reduzir o tempo de entrega de novas funcionalidades para os usuários finais.
- Ferramentas Comuns: Spinnaker, Jenkins, GitLab CI, CircleCI.
Continuous Delivery (CD)
- Definição: Similar ao Continuous Deployment, mas com uma etapa manual de aprovação antes da implantação em produção.
- Objetivo: Manter a capacidade de entregar o software a qualquer momento com um processo de liberação previsível e de alta qualidade.
- Ferramentas Comuns: Ansible, Chef, Puppet, AWS CodePipeline.
Características
Para entender melhor os conceitos e características da estrutura e capacidade do Platform Engineering, é importante fazermos uma subdivisão dos processos presentes na sua estrutura e em suas ferramentas: Platform Engineering Tooling Explanation
Estudo de caso da Humanitec Humanitec e serviços
Relatório AWS Resumo
Algar SOM - Estudo e características
Solicitação de Informações sobre a Aplicação do SOM para Implementação de Platform Engineering
- 09/08/2024 Informações:
Curso: AWS, Kubernetes, DevOps e microsserviços - Henrique Bastos
- 14/08/2024 Estudo de Aprendizagem:
Curso: Kubernetes Hands-On - Deploy Microservices to the AWS Cloud - Lucas Gomes
- 12/08/2024 Estudo de K8s
Estudo da Plataforma Humanitec
- 30/08/2024 Informações:
Estudo Dirigido
Conhecendo Platform Engineering (Evento PlatformCON)
- https://www.youtube.com/watch?v=wWW_lDUKnf0
- https://www.youtube.com/watch?v=ZilQIZS3684
- https://www.youtube.com/watch?v=mqEqIs22O8I
- https://www.youtube.com/watch?v=e2kqAlNgKb4
Empresas de Plataform Engineering
Fase II - Ensino
Conteúdo
Desenvolva um conteúdo que possa transmitir o conhecimento adquirido para outros Crie um material (Wiki, PDF, PPT, ...) que possa ser armazenado e facilmente atualizável
Apresentação
Apresente ao grupo (reunião, EAD, Blog, ...) Publique aqui
Metodologia
Descrevas as metodologias usadas. Alguns exemplos:
Estratégia de Job Rotation Estudos básicos para conhecimento do potencial Estudos básicos para entendimento sobre o problema Estudos para dar base aos pesquisadores Benchmarking com empresas estrangeiras Aceleradoras de empresas Adoção de novas tecnologias Utilização da proposta de soluções Open-source Priorização no desenvolvimento interno Foco na não dependência de fornecedores Prática de formação dos talentos necessários
Hipóteses
Que questões envolvem a pesquisa? O que se espera provar? O que se espera como resultado? Explicações e argumentos que subsidiem a investigação em curso
Fase III - Exemplo de Caso de Negócio
Relação com o Algar SOM
O Algar SOM, como descrito anteriormente, se tornou uma ferramenta crucial para o bom andamento de quase todos os setores da Algar Telecom. Com mais de 300mil ordens de serviços, o que no inicio era uma solução para um setor específico da empresa, foi se expandindo porém sem receber o devido cuidado e atualizações, o que não é muito incomum. Portanto, o Algar SOM que deveria ser uma ferramenta completa de micro serviços, com integração com a nuvem e um sistema de atualizações mais simples, se tornou um grande monolito, on-premise e com um legado gigantesco, que dificulta novas atualizações e desenvolvimento continuo da plataforma.
Visando isso, foram pensados alguns KPIs e KRs para avaliar como seria o resultado de uma aplicação desse método em integração com o Algar SOM:
- Business objectives
- Reduzir tempo de desenvolvimento, testes e validações de novas features, ajustes e melhorias
- Antecipação dos testes e homologação das entregas sem necessidade de aguardar o build (snapshot)
- Branchs ágeis para o Desenvolvedor testar o código dele
- Technical objectives
- Facilitar validação das integrações
- MVP Team selection
- KPIs and other metrics
- Redução de esforço em horas (3th party) pra as mesmas entregas #TODO
- Redução de bugs durante os builds #TODO
- Success criteria
- Communication channels & cadence
Product Backlog
- Desenvolvimento de uma plataforma que facilite a orquestração e os processos de desenvolvimento e operações em TI.
- Ferramentas para monitoramento, gerenciamento de recursos e deploy contínuo de aplicações.
- Integração com sistemas de CI/CD e infraestrutura em nuvem.
- Interface para configuração e personalização dos fluxos de trabalho.
Benefícios para quem for oferecer esta solução
- Expansão do portfólio com uma solução de orquestramento e aceleração de processos altamente demandados.
- Geração de novas receitas com a adesão de empresas de TI e desenvolvimento de software.
- Possibilidade de novos negócios com parceiros interessados em otimizar seus processos de TI.
Benefícios para o usuário
- Redução de custos operacionais e de desenvolvimento.
- Aumento da produtividade com a padronização e simplificação de tarefas repetitivas e complexas.
- Maior agilidade no lançamento de novos produtos e serviços.
Direcionadores chave para esta iniciativa
Descrever em tópicos o que esta iniciativa pode proporcionar
Possíveis modelos de negócios
- Licenciamento mensal ou anual para uso da plataforma.
- Planos de assinatura baseados em funcionalidades específicas ou volume de uso.
- Oferecimento de consultoria para customização e integração da solução.
Business Case
- Exemplo: Uma empresa de tecnologia utiliza a plataforma de engineering para acelerar seu processo de desenvolvimento e otimizar recursos em nuvem, reduzindo o time-to-market e os custos operacionais.
Alinhamento com Lei do Bem
- Elemento tecnologicamente novo: Plataforma integrada para aceleração e simplificação de processos de desenvolvimento e operação em TI.
- Barreira tecnológica: Escalabilidade e gestão eficiente de recursos em ambientes dinâmicos.
- Metodologia/método para superação da barreira: Implementação de técnicas de automação em DevOps e otimização de uso de recursos.
- Parceria com ICT/startup: Possível colaboração com startups especializadas em DevOps e automação.
Fase IV - Protótipo orientado ao Negócio
Escopo
Explique o escopo deste protótipo
Limitações
Informe sobre as limitações técnicas, comerciais, operacionais, recursos, etc.
PoC
Desenvolva um PoC (Proof of Concept)
Privacidade (LGPD)
- Avaliar condições referentes à Lei Geral de Proteção de Dados
Detalhamento Técnico
Descreva especificamente os aspectos técnicos desta pesquisa
Cronograma Macro
Histórico
Responsável: Lucas Gomes
Semana de 17 à 21/06/2024
- Reunião de Kickoff com Lucas e Bruno da Sunny Systems, Vanius (Especialista da Algar Telecom), e Luiz Claúdio e Lucas da Brain.
- Vanius fez uma breve apresentação de como é o funcionamento atual na Algar Telecom. O principal problema encontrado é que durante a transição para o Cloud não houve uma adaptação do método On Premise, que não é o ideal para o pós transição
- Lucas Guimarães apresenta algumas soluções possíveis mais a principal "resposta" é referente a Humanitec, empresa que trabalha nessa área e que irá fazer uma 2° reunião para a apresentação na quinta-feira 20/06/2024. Como Vanius havia dito que a Algar já tem algumas ferramentas próprias desenvolvidas, Lucas disse que elas podem ser aproveitadas nesse novo projeto, para melhor adaptação as necessidades da Algar Telecom
- Também foi exposto que terá uma conferencia na próxima semana em Nova Iorque que irá trazer bastante novidades e novas tecnologias para a área, como o Data Dog.
- Reunião com a Humanetic, SunnySystem, Vanius e Convidados
- Breve apresentação das funções realizadas na Humanetic e como funciona o Platform Engineering
- Deixou em aberto para uma nova reunião na próxima semana para a apresentação de um caso de uso deles e ver a adequação a um caso de uso real da Algar Telecom
Semana de 22 à 29/06/2024
- Upload de infos na Wiki e criação de um plano de estudos
- Reunião de retorno marcada com a Humanitec no dia 09/07
Semana de 08 à 12/07/2024
- 09/07/2024 Reunião Humanitec, Sunny System, Algar Telecom e Brain - Segundo Contato - Apresentação da plataforma:
- Participantes: Clemens Jutte, Lucas Guimarães, Henrique Bastos, Lucas Gomes e Vanius.
- 15/01/2025 - Reunião com Adriano Graziosi
- Participantes: Adriano Graziosi, Gabriel Villela, Lucas Gomes, Luiz Cláudio
Pesquisadores
- Henrique Cabral Bastos
- Lucas Resende Gomes
- Vanius Silva de Oliveira
- Gabriel de Freitas Villela
