Tendências em aplicativos de negócios que terão impacto em 2021
O ano passado gerou uma onda de novas necessidades de software, especialmente após a COVID-19 e o aumento das necessidades de disponibilidade. Aqui estão algumas tendências de 2020 que tomarão forma em 2021.
A natureza da gestão de software empresarial tem mudado dramaticamente nos últimos anos, caracterizada principalmente pelo aumento da demanda para aplicações altamente modulares e inteligentes. Como tal, pode-se dizer que os desenvolvedores hoje têm uma voz mais influente do que nunca quando se trata do panorama de fornecedores, o que impulsiona os fornecedores de ferramentas e plataformas a atrair especificamente programadores de nível empresarial.
Por exemplo, os principais provedores de nuvem da Microsoft Azure e VMware estabelecem estratégias para atrair especificamente desenvolvedores de Java com ferramentas. A Azure Spring Cloud agora oferece uma abordagem refinada de gerenciamento de contêineres por meio da aquisição de Lens e Sentry.
Vamos dar uma olhada mais de perto em algumas das grandes notícias de 2020 sobre as tendências de aplicações empresariais, incluindo o que poderia significar para as empresas a partir de 2021.
Nova ferramenta de monitoramento de desempenho alerta desenvolvedores em tempo real
Os problemas de desempenho e disponibilidade são uma ameaça aos resultados de uma empresa e estudos mostram que as organizações podem perder potencialmente centenas de milhares de milhões de dólares em receitas e despesas operacionais se esses problemas não forem resolvidos. Isso fez com que os fornecedores respondessem à solicitação de melhores ferramentas de monitoramento e gestão do desempenho.
Sentry, provedor de ferramentas para monitoramento de aplicativos, lançou uma nova oferta em julho de 2020 que permite aos desenvolvedores encontrar e resolver problemas de performance em tempo real com apenas cinco linhas de código adicional. A ferramenta notifica os desenvolvedores sobre um erro e o que afetou, como usuários, dispositivos e navegadores. Para fornecer um maior entendimento, ele fornece todos os metadados sobre o problema e de onde vem o código.
Em adição ao monitoramento de erros, ele fornece informações sobre a saúde e resumos de transações para encontrar indicadores de desempenho pobre, como o tempo de duração. Também pode detectar métricas de desempenho que não atendem aos limites predefinidos.
"É o mesmo de sempre", diz Chris Gonsalves, vice-presidente sênior de pesquisa da The 2112 Group. “As organizações não precisam necessariamente de ‘ferramentas maravilhosas’ super sofisticadas movidas por inteligência artificial para descobrir essas coisas. Elas precisam de bloqueios e abordagens básicos, com os quais o Sentry lida muito bem.
Microsoft e VMware criam Azure Spring Cloud GA
Azure Spring Cloud, um serviço gerenciado para aplicativos Spring Boot, foi colocado à disposição geral em setembro de 2020. Com este serviço, os desenvolvedores de Java podem se concentrar mais no desenvolvimento de aplicativos Spring Boot e Steeltoe .NET Core no lugar de operar infraestrutura.
"Na maioria das pesquisas de Java, Spring é o framework mais popular. Para a Microsoft, tudo o que gira os botões do Azure é bom: .NET, Java, Linux, tudo é bom", aponta Jeffrey Hammond, analista da Forrester Research.
Para simplificar a implantação dos aplicativos, a Microsoft e a VMware projetaram diversas ferramentas e frameworks para o serviço, incluindo o registro do serviço, o equilíbrio da carga do lado do cliente e mecanismos de switches automáticos.Também inclui kpack, um serviço de compilação nativo de Kubernetes de código aberto que automatiza a criação e atualização de imagens de contêineres em Kubernetes por Cloud Native Buildpacks.
O Azure Spring Cloud também se integra a outros serviços do Azure, como Azure Active Directory, Cosmos DB e Key Vault. Seu componente de monitoramento distribuído é popular entre os desenvolvedores, pois eles ajudam a identificar e resolver problemas rapidamente. O serviço também inclui a descoberta de serviços e gerenciamento de configuração integrado.
Mirantis compra o IDE do Lens Kubernetes para obter os desenvolvedores
Mirantis, um provedor de nuvem de código aberto, continua a fortalecer seu foco nos contâineres de aplicações. Em agosto de 2020, adquiriu o Lens, um IDE para Kubernetes para fornecer a seus usuários mais funções, como o gerenciamento de múltiplos clusters em tempo real para desenvolvedores que criam aplicativos para ambientes Kubernetes.
O IDE Kubernetes vai mais além dos recursos normalmente associados a um ambiente de desenvolvimento integrado tradicional e, de fato, fornece ferramentas para o pessoal de operações de TI e para os desenvolvedores. Para refletir isso, Hammond se refere a ele como um IOE ou ambiente operacional integrado. O analista da Forrester, Dave Bartoletti, o descreve como um painel K8 de vários clusters. E o CEO da Mirantis, Adrian Ionel, comparou o Lens com o Microsoft Visual Studio.
Um elemento atraente da ferramenta é que os desenvolvedores podem trabalhar com vários clusters de Kubernetes em qualquer nuvem a partir de um único ambiente, como:
- Minikube
- Docker Desktop
- Docker Enterprise
- Amazon EKS
- Microsoft AKS
- Google Kubernetes Engine
- Rancheiro
- Red Hat OpenShift
COVID-19 alimenta a demanda por COBOL
A COVID-19 expôs uma falta preocupante de programadores COBOL a nível empresarial em 2020, devido aos sistemas de seguro de desemprego ultrapassadas que experimentaram um aumento na sua utilização. COBOL, uma linguagem que hoje tem mais de 60 anos, é uma linguagem crítica para aplicativos hospedados em mainframe. Na verdade, ainda há milhares de milhões de linhas de código COBOL residentes em sistemas informáticos críticos de organizações como a Administração da Segurança Social.
Infelizmente, há muitos poucos planos de estudos universitários que enfatizam COBOL e a maioria dos programadores familiarizados com ele estão aposentados. Enquanto programadores voluntários têm se intensificado com a escassez, as agências governamentais requerem arquitetos e engenheiros treinados que compreendam a linguagem, seu papel na arquitetura de mainframe e como manipular a sua escalabilidade.
Para fazer frente à crise, a IBM e a The Linux Foundation lançaram um fórum de programadores COBOL, onde os programadores COBOL podem postar seus currículos e oferecer sua experiência. De maneira similar, o Fórum Técnico de COBOL é outra comunidade onde os programadores experientes podem dar conselhos grátis sobre como trabalhar com COBOL e compartilhar cursos de treinamento COBOL de código aberto.
A escolha de GraphQL em comparação com REST direciona o desenvolvimento de microsserviços
Devido à importância cada vez maior das APIs derivadas do desenvolvimento baseado em microsserviços, muitas organizações agora estão enfrentando a escolha entre desenvolver GraphQL ou desenvolver API REST. Enquanto REST tem desfrutado de sua posição como protocolo padrão, GraphQL está ganhando popularidade rapidamente devido ao seu protocolo de banco de dados de gráficos e benefícios de segurança adicionais.
Pantheon Platform, uma empresa especializada em serviços de hospedagem de sites WordPress e Drupal, era uma empresa que precisava tomar a decisão entre GraphQL e REST. A empresa queria adotar microsserviços , mas precisava de uma forma distribuída e compatível com as versões anteriores para coordenar a comunicação dos microsserviços. O desenvolvimento de API primeiro era uma opção ruim para a empresa, uma vez que impediu os desenvolvedores de aplicativos para usuários e serviços de fundo de começar seus ciclos de desenvolvimento e conduzir testes com um esboço ao mesmo tempo.
"[Isso] não é algo que você pode fazer com desenvolvimento focado em API", aponta Michelle Krejci, engenheira e líder de serviço da Pantheon. "Tivemos que esperar que alguém criasse a API após [projetá- la]."
No presente caso, a Pantheon recorreu à Apollo GraphQL Server, uma versão federada da plataforma GraphQL da ferramenta que ajuda a gerenciar as comunicações entre serviços, obter maior eficiência da rede, permitir consultas detalhadas sobre relações de objetos, monitorar terminais e dissociar o desenvolvimento de back-end do front-end .
No entanto, existe uma curva de aprendizado pronunciada para desenvolvedores mais familiarizados com os conceitos REST, já que precisam mudar novas técnicas de codificação para esquemas de gráficos. Além disso, o GraphQL apresenta inconvenientes, incluindo a incapacidade de usar o armazenamento em cache HTTP em navegadores web e móveis ou usar códigos de estado HTTP famíliares.