Como as tecnologias de código aberto e nativas da nuvem estão modernizando a estratégia de API
Com novas tecnologias, desde pilhas de código aberto e ferramentas DevOps até IA, a camada comum de proteção e gerenciamento é a camada de gerenciamento de API.
Recentemente, tive a oportunidade de falar em diversos eventos sobre o tema estratégia de API para os mais recentes softwares de código aberto e tecnologias nativas da nuvem, e essas foram boas sessões que receberam feedback positivo. Em um movimento incomum para mim, nesta ocasião, juntei primeiro os slides e depois o artigo. A boa notícia é que, com essa abordagem, me beneficiei de discussões e comentários anteriores antes de começar a escrever. O que torna este tópico único é que ele não é abordado a partir dos pontos de discussão usuais sobre estratégia de API, mas sim da perspectiva da discussão das tecnologias mais recentes e de como o crescimento do software de código aberto e dos aplicativos nativos da nuvem estão moldando a estratégia de API.
Começarei discutindo a inovação. Todas as inovações de software mais recentes são software de código aberto ou baseadas em software de código aberto. Realidade aumentada, realidade virtual, carros autônomos, IA, aprendizado de máquina (ML), aprendizado profundo (DL), blockchain e muito mais são tecnologias construídas com software de código aberto que usam e se integram a milhões de APIs.
O desenvolvimento de software hoje envolve a criação e o consumo de APIs. Tudo está conectado com APIs e, em algumas organizações, há até API sprawl, que se refere à ampla criação de APIs sem controle ou padronização.
Pilhas de tecnologia e aplicativos nativos da nuvem
No desenvolvimento de software moderno, existe o conceito de pilhas. Os desenvolvedores e as organizações têm tantas opções que podem escolher uma combinação de tecnologias para criar sua própria pilha e, em seguida, treinar ou contratar os chamados desenvolvedores full-stack para trabalhar nessas pilhas. Um exemplo de pilha inclui, em sua maior parte, software de código aberto, como Linux, uma linguagem de programação, bancos de dados, tecnologia de streaming, tempos de execução e ferramentas DevOps, todos usando e integrando APIs.
Das pilhas de tecnologia, existem aplicativos nativos da nuvem que se referem a aplicativos baseados em contêineres. Hoje, existem muitas opções nativas da nuvem em todas as tecnologias; o cenário básico da computação em nuvem nativa da nuvem é uma amostra do ecossistema nativo da nuvem disponível.
Quando as organizações passam de aplicativos em poucos contêineres para aplicativos em dezenas ou até centenas de contêineres, elas precisam de ajuda para gerenciar e orquestrar toda essa infraestrutura. É aqui que o Kubernetes entra em ação. O Kubernetes se tornou um dos projetos de código aberto mais populares do nosso tempo, tornou-se a infraestrutura padrão para aplicativos nativos da nuvem e levou à criação de um novo e crescente ecossistema de operadores de Kubernetes; o software mais popular agora tem seu próprio operador para facilitar a criação, configuração e gerenciamento em ambientes Kubernetes e, é claro, os operadores se integram às APIs do Kubernetes. Muitas tecnologias de dados disponíveis agora possuem operadores Kubernetes para facilitar e automatizar o uso de aplicativos com estado que se integram às APIs Kubernetes.
Qual é a camada de gerenciamento de API?
Um ambiente nativo da nuvem também tem pilha, infraestrutura de nuvem, sistema operacional, orquestração de contêineres, operadores de contêineres, código de aplicativo e APIs. Tudo isso dá suporte a uma solução de software que integra e expõe dados a dispositivos móveis, aplicativos web ou outros serviços, incluindo dispositivos IoT. Independentemente da combinação de tecnologias, tudo deve ser protegido com funcionalidades da plataforma de gerenciamento de API. A plataforma de gerenciamento de API é a camada superior dos aplicativos nativos da nuvem que deve ser protegida à medida que os dados e APIs são expostos fora das redes das organizações.
E, falando em arquiteturas tecnológicas, é muito importante que a plataforma de gerenciamento de APIs tenha opções flexíveis de implantação. A estratégia e o design devem sempre incluir portabilidade, a capacidade de migrar e implantar em diferentes arquiteturas (por exemplo, PaaS, local, nuvem híbrida, nuvem pública ou arquiteturas multinuvem).
[ Experimente o gerenciamento de API para desenvolvedores: Red Hat OpenShift API Management ]
3 estratégias de API a serem consideradas para tecnologias nativas da nuvem
Para projetar uma estratégia de API para as tecnologias mais recentes, existem múltiplas opções que podem ser resumidas em três áreas principais. Primeiro, é uma estratégia de modernização, desde a divisão de aplicativos monolíticos em serviços até a adoção de sistemas nativos da nuvem e, é claro, a integração com aplicativos de missão crítica em mainframes. Para esta estratégia, APIs seguras são construídas e mantidas. Uma segunda área para projetar uma estratégia de API é conhecida como arquitetura headless, o conceito de adicionar recursos e funcionalidades às APIs primeiro e depois, opcionalmente, fornecer essa funcionalidade à interface do usuário. Uma arquitetura granular projetada com microsserviços ou totalmente baseada em APIs para facilitar a integração e a automação. A terceira área de estratégia de API em que devemos nos concentrar são as novas tecnologias, desde a criação de ecossistemas de API para atrair clientes e parceiros que contribuem e consomem APIs públicas, até a seleção de pilhas de tecnologia e sua integração com novas tecnologias, como IA , computação sem servidor e computação de ponta. Acima de tudo, toda estratégia de API deve incluir gerenciamento de API e uma mentalidade de segurança.
As plataformas de gerenciamento de API devem incluir a funcionalidade completa do ciclo de vida para design, teste e segurança de API. Recursos adicionais, como análises, business intelligence e um portal de API, permitem que as organizações aproveitem o DevOps e o gerenciamento completo do ciclo de vida para o desenvolvimento, teste, publicação e consumo de APIs.
Alguns outros exemplos das tecnologias mais recentes e como o conhecimento e o uso delas podem fazer parte de uma estratégia de API incluem o seguinte: O primeiro é a integração DevOps. Há uma variedade de opções comerciais e de código aberto para automação DevOps. As peças principais incluem integração contínua e ferramentas de entrega contínua. O outro espaço muito relevante são os dados e as tecnologias de IA, um espaço crescente com milhares de opções para cada estágio do ciclo de vida de desenvolvimento de IA, desde a coleta e organização de dados até a análise de dados e a criação e treinamento de modelos de ML e DL. A etapa final do ciclo de vida de desenvolvimento de IA deve incluir a implantação e manutenção automatizadas desses modelos de ML e DL. Todas essas etapas devem ser combinadas com a integração total das diferentes tecnologias via APIs e para integrações externas, incluindo fontes de dados, com a importante camada de uma plataforma de gerenciamento de APIs.
Código aberto e a camada de gerenciamento de API
Em resumo, com todas essas novas tecnologias, desde pilhas de código aberto e ferramentas DevOps até IA, a camada comum de proteção e gerenciamento é a camada de gerenciamento de API. Deveria haver uma estratégia de API que priorizasse a segurança, impulsionada pelo gerenciamento de API, e é importante lembrar que, nos dias de hoje, as APIs estão em toda parte e que as pilhas de tecnologia moderna serão integradas por meio de APIs com tecnologias de dados (bancos de dados e armazenamento), DevOps , e IA liderando o grupo. Não se esqueça de projetar e gerenciar APIs tendo a segurança em mente. Independentemente da estratégia de API selecionada para modernização, como uma arquitetura headless ou baseada em nova tecnologia, a estratégia de API deve andar de mãos dadas com suas escolhas tecnológicas e visão para o futuro.
[Faça o curso on-line gratuito: Implantação de aplicativos em contêineres]