Gabrielvillela (discussão | contribs)
 
(29 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 30: Linha 30:


<div>[[Arquivo:diagram-of-platform-engineering.png|thumb|center|600x400px|]]</div>
<div>[[Arquivo:diagram-of-platform-engineering.png|thumb|center|600x400px|]]</div>
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 37: Linha 57:
<br>  
<br>  


Informe sobre as particularidades, aspectos e atributos desta ideia.
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  ==


<br>  
<br>  
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


*https://www.youtube.com/watch?v=wWW_lDUKnf0
Empresas de Plataform Engineering
*https://www.dynatrace.com/
*https://humanitec.com/
*https://sunnysystems.com.br/


<br>
<br>
Linha 99: 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  ==


<br>
* 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.


Descreva os requisitos deste projeto
<br>


== Benefícios para quem for oferecer esta solução  ==
== Benefícios para quem for oferecer esta solução  ==


    Descrever em tópicos os benefícios que uma pessoa ou uma empresa podem obter: ganhos, receitas, novos negócios, novos produtos, novas parcerias
* 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.
<br>
* Possibilidade de novos negócios com parceiros interessados em otimizar seus processos de TI.


<br>


== Benefícios para o usuário  ==
== Benefícios para o usuário  ==


    Descrever em tópicos os benefícios para os usuários desta solução.
* Redução de custos operacionais e de desenvolvimento.
    Pode se inspirar no Canvas.
* 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.


<br>


== Direcionadores chave para esta iniciativa  ==
== Direcionadores chave para esta iniciativa  ==
Linha 130: Linha 212:
== Possíveis modelos de negócios  ==
== Possíveis modelos de negócios  ==


    Descrever em tópicos os 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  ==


    Descrever um exemplo de negócio que permita avaliar a solução comercialmente
* 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.
 
<br>


== Alinhamento com Lei do Bem ==
== Alinhamento com Lei do Bem ==
<br>
* Projeto possui algum elemento tecnologicamente novo ou inovador?
Elemento tecnologicamente novo ou inovador pode ser entendimento como o avanço tecnológico pretendido pelo projeto, ou a hipótese que está sendo testada
<br>
* Projeto possui barreira ou desafio tecnológico superável?
Barreira ou desafio tecnológico superável pode ser entendido como aquilo que dificulta o atingimento do avanço tecnológico pretendido, ou dificulta a comprovação da hipótese
<br>
* Projeto utiliza metodologia/método para superação da barreira ou desafio tecnológico?
Metodologia/método para superação da barreira ou desafio tecnológico pode ser entendido como aqueles atividades que foram realizadas para superação da barreira ou do desafio tecnológico existente no projeto
<br>


* Projeto é desenvolvido em parceira com alguma instituição acadêmica, ICT ou startup?
* Elemento tecnologicamente novo: Plataforma integrada para aceleração e simplificação de processos de desenvolvimento e operação em TI.
Se sim, o desenvolvimento tecnológico é executado por associado ou por alguma empresa terceira? qual o nome da empresa?
* Barreira tecnológica: Escalabilidade e gestão eficiente de recursos em ambientes dinâmicos.
Anexar cópia do contrato
* 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.
<br>
* 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 212: Linha 282:
=  Histórico  =
=  Histórico  =


''Responsável: [[fulano]]''
''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.
 


'''Semana de dd à dd/mm/yyyy'''
*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'''


'''Semana de dd à dd/mm/yyyy'''
* 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
*  


<br>  
'''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
 
 
<br>


= Pesquisadores  =
= Pesquisadores  =


*<br>
* Henrique Cabral Bastos
* Lucas Resende Gomes
* Vanius Silva de Oliveira
* Gabriel de Freitas Villela
<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

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

Curso: AWS, Kubernetes, DevOps e microsserviços - Henrique Bastos

Curso: Kubernetes Hands-On - Deploy Microservices to the AWS Cloud - Lucas Gomes

Estudo da Plataforma Humanitec

Estudo Dirigido


Conhecendo Platform Engineering (Evento PlatformCON)

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




Pesquisadores

  • Henrique Cabral Bastos
  • Lucas Resende Gomes
  • Vanius Silva de Oliveira
  • Gabriel de Freitas Villela