![Superando os desafios de trabalhar com uma API FinTech móvel](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715270406_Superando-os-desafios-de-trabalhar-com-uma-API-FinTech-movel-150x150.jpg)
Superando os desafios de trabalhar com uma API FinTech móvel
9 de maio de 2024![BASIC aos 60: Como esta linguagem mais simples impactou a programação](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715296925_BASIC-aos-60-Como-esta-linguagem-mais-simples-impactou-a-150x150.jpg)
BASIC aos 60: Como esta linguagem mais simples impactou a programação
9 de maio de 2024A engenharia de plataforma surgiu como uma forma de gerenciar fluxos de trabalho de DevOps em escala. Mas, como toda nova tecnologia, a abordagem monolítica para o desenvolvimento de plataformas apresenta limitações inerentes.
A maioria das plataformas internas de desenvolvimento (IDPs) luta com funcionalidades isoladas, conjuntos de ferramentas complicados e infraestrutura em constante expansão que revelam sua falta de flexibilidade.
A arquitetura combinável é uma mudança significativa em relação aos rígidos projetos arquitetônicos do passado. Sua natureza inerentemente modular o torna um alicerce ideal na engenharia de plataformas modernas. Uma pesquisa do Gartner em 2022 previu que a combinação da capacidade de composição com uma abordagem holística de hiperautomação poderia desencadear uma redução de 40% nos custos de iniciativa individual até 2024.
Esta transição para plataformas combináveis — quer implementadas em ambientes privados, híbridos ou multicloud — promete capacitar as empresas para aproveitarem o investimento das suas tecnologias existentes. Isto apresenta uma forma alternativa e inovadora de enfrentar os desafios do desenvolvimento de plataformas tradicionais e levanta uma questão crítica: Poderiam as plataformas combináveis e auto-serviço serem a solução mágica para a engenharia de plataformas?
Vamos mergulhar no seguinte:
- O papel da composição na engenharia de plataforma
- As limitações das plataformas tradicionais
- A promessa de plataformas combináveis
- Como a composição potencializa a engenharia de plataforma
Por que a abordagem tradicional precisa ser abandonada
A engenharia de plataforma tradicional oferece uma abordagem única para melhorar a experiência do desenvolvedor por meio de uma plataforma interna de desenvolvedor, que fornece às empresas um conjunto pré-construído de ferramentas e serviços para automatizar tarefas e permitir o autoatendimento.
No entanto, estes IDPs são compostos por vários componentes e, no seu núcleo, são um portal de desenvolvimento, um orquestrador de plataforma e uma plataforma DevOps. A gestão da infra-estrutura também é frequentemente incluída e, por vezes, é a componente principal. Quando uma organização compra esses deslocados internos pré-embalados de um fornecedor, eles geralmente ficam presos aos componentes fornecidos pelo fornecedor, que às vezes são recursos desnecessários – bagagem extra que sobrecarrega o sistema.
Algumas limitações comuns que os desenvolvedores e equipes de engenharia enfrentam com esses grandes IDPs não combináveis incluem:
- Serviços genéricos: Pode ser difícil criar um equilíbrio entre as exigências de equipas específicas e a necessidade de serviços amplamente aplicáveis. As equipes de plataforma geralmente criam serviços genéricos que podem ser adotados por todas as equipes de qualquer organização. Embora esta abordagem promova uma adoção mais ampla, ela pode remover os recursos especializados dos quais algumas equipes dependem para suas tarefas específicas.
- Mude um, mude tudo: Devido à natureza interconectada dos serviços da plataforma, as atualizações exigem uma consideração cuidadosa de vários fatores, incluindo dependências e configurações.
- Escala: A maioria das ferramentas da plataforma não foi desenvolvida para lidar com flutuações no tráfego de usuários à medida que a plataforma cresce ou que as demandas dos usuários aumentam, sem comprometer o desempenho.
- Raio do desastre: Os desastres são inevitáveis mesmo para ferramentas de plataforma. Contudo, alguns deslocados internos não dispõem de disposições para uma contenção ideal de desastres. Portanto, quando ocorre um desastre, ele pode afetar todos os serviços executados nessa plataforma.
- Estendendo para a região: A expansão para novas regiões pode ser lenta e complexa para algumas soluções de plataforma. Muitas vezes, leva tempo e esforço significativos para instalar, integrar e gerenciar vários componentes antes da implantação. Isto resulta frequentemente em atrasos na criação de novos clusters ou ambientes regionais.
- Experimentação limitada: A integração de novas ferramentas, especialmente as intrusivas, como scanners de segurança ou malhas de serviço, pode ser um desafio para integrar sem interromper os sistemas existentes.
Como a Composibilidade resolve esses problemas?
As plataformas combináveis são uma nova maneira de pensar em plataformas que permitem às equipes integrar vários componentes e adaptar cada um às suas necessidades. Em vez de oferecer tudo como um serviço pré-executado, as equipes da plataforma podem criar pacotes instaláveis para a maioria dos componentes. Esses blocos de construção são como miniplataformas que podem ser combinadas para criar uma solução personalizada. Por exemplo, você pode começar construindo sua plataforma de infraestrutura porque esse é o seu principal problema, depois adicionar a plataforma DevOps e o resto. Dessa forma, seu PDI evolui junto com seu negócio.
Quais são as vantagens de adotar uma abordagem combinável?
A possibilidade de composição em PDIs promete resolver algumas destas limitações, introduzindo os seguintes benefícios:
- Arquitetura modular: A capacidade de composição em plataformas é fornecida por uma biblioteca de sistemas e serviços fracamente acoplados que são personalizáveis para atender às necessidades do seu produto. A ideia é decompor as funcionalidades de cada plataforma em componentes independentes e bem definidos. A abordagem modular dessas plataformas combináveis significa que as ferramentas da plataforma podem ser atualizadas, substituídas ou expandidas com interrupção mínima para todo o sistema. Isso garante que as empresas permaneçam à frente da curva com os recursos de plataforma mais recentes.
- Interface padronizada: As plataformas combináveis prometem uma abordagem de infraestrutura semelhante à Lego, permitindo conectar facilmente serviços e ferramentas existentes (seja em ambientes privados, híbridos ou multicloud). O design de arquitetura combinável acomoda integração e comunicação perfeitas entre serviços e ferramentas de plataforma de ponta. As equipes de engenharia e desenvolvedores não precisam mais ficar confinadas à compatibilidade limitada das plataformas tradicionais.
- Escalabilidade, flexibilidade e desempenho: Plataformas combináveis, construídas a partir de componentes intercambiáveis, prometem escalabilidade. Eles permitem que você aumente ou diminua dinamicamente os recursos (por exemplo, capacidade de processamento, armazenamento) com base nas demandas em tempo real. As equipes de engenharia de plataforma podem integrar facilmente componentes personalizados ou serviços de terceiros por meio de montagem personalizável e padrões de integração abertos. O uso de componentes pré-construídos e otimizados e plataformas combináveis pode garantir que cada ferramenta seja bem projetada e tenha um desempenho eficiente.
Como a Composability pode impulsionar o sucesso na engenharia de plataformas?
Ferramentas como o Mia-Platform Console oferecem um hub de desenvolvedor unificado para centralizar a governança de projetos e agilizar e automatizar processos de DevOps. A plataforma fornece um mercado repleto de modelos e plug-ins pré-construídos que as equipes podem integrar ao seu PDI.
Embora a capacidade de composição ofereça muitas vantagens para ferramentas de plataforma, não é uma solução perfeita em todas as situações. Plataformas distribuídas construídas com essa abordagem podem ter desvantagens que você deve conhecer antes de mergulhar. Esses incluem:
- Maior complexidade de gerenciamento: Os recursos computacionais nesses ambientes estão mais dispersos, o que pode complicar os processos de gestão. Como resultado, envolver-se em tarefas como recuperação de desastres, resolução de problemas ou segurança pode exigir um esforço extra, especialmente se as tarefas envolverem ambientes contextualizados que não foram inicialmente integrados.
- Maior consumo geral de recursos: Quando várias equipes executam mais instâncias do que o necessário, a plataforma corre o risco de sobrecarregar recursos. Algumas ferramentas de plataforma podem precisar de ajuda para gerenciar a distribuição excessiva, o que pode levar a problemas de consumo de recursos no futuro.
As plataformas combináveis podem ser consideradas uma ‘bala de prata’?
A capacidade de composição completa em IDPs pode promover significativamente o sucesso entre as equipes de engenharia de plataforma. Veja como:
- Ferramentas sob medida: A capacidade de composição permite que os usuários adaptem a plataforma às suas necessidades específicas, selecionando e combinando apenas os componentes relevantes. Esse nível de personalização aumenta a satisfação e o envolvimento do usuário, pois os usuários podem criar fluxos de trabalho e experiências personalizadas que se alinham às suas preferências e requisitos.
- Volatilidade contida: Quando uma plataforma é construída com componentes combináveis, alterações ou atualizações em um componente podem ser isoladas de outros. Essa contenção ajuda a gerenciar riscos e reduz a chance de regressões durante o desenvolvimento.
- Raio de explosão reduzido: Quando ocorrem interrupções nessas plataformas, elas podem estar contidas no componente específico que está enfrentando o problema. Por exemplo, uma interrupção do DNS não afetaria outros serviços executados em clusters separados. Isso minimiza o tempo de inatividade e simplifica a solução de problemas.
- Abertura à experimentação: A natureza isolada das plataformas combináveis torna mais fácil para as equipes experimentarem diferentes configurações e funcionalidades ao construir ferramentas personalizadas. As equipes podem iterar rapidamente e refinar suas ferramentas sem afetar a plataforma principal.
- Atualizações de plataforma contidas: Com plataformas combináveis, as atualizações podem se tornar gerenciáveis ao lidar com componentes menores e independentes em comparação com a natureza monolítica das ferramentas de plataforma tradicionais. São necessárias menos trocas de contexto e menos dependências para agilizar o processo de atualização.
Resumindo
As plataformas combináveis são soluções poderosas que provavelmente desempenharão um papel crucial para muitas empresas que exigem um alto grau de personalização e agilidade. No entanto, os conceitos de composição e engenharia de plataforma ainda são novos e estão em evolução. É importante lembrar que as ferramentas da plataforma visam capacitar os desenvolvedores com recursos imediatos. Portanto, se a remoção e adição frequentes de componentes se tornarem a norma, isso poderá contrariar toda a ideia de ferramentas de plataforma que simplificam os processos de desenvolvimento.
No geral, as plataformas combináveis são uma abordagem promissora, mas ainda são conceitos em evolução. Não podemos considerá-los uma solução mágica para o desenvolvimento de software.
A postagem Plataformas combináveis são promissoras, mas não são uma bala de prata apareceu pela primeira vez em The New Stack.