Mais lidas
1

Inovação

'Contar histórias de pessoas LGBTQIAP+' é ferramenta para promoção da diversidade em empresas

2

Inovação

Boticário cria unidade de tecnologia para aprimorar programas de fidelidade

3

Liderança

Cristiane Gomes assume transformação digital do Grupo CCR

Inscreva-se na nossa Newsletter

Fique ligado!

Obtenha os mais recentes artigos e atualizações de tecnologia que você precisa saber, você ainda receberá recomendações especiais semanais.

News

E-mail Cadastrado com sucesso! 😄

IT Forum
Fóruns
Notícias
Colunas
Estudos
Vídeos
Podcasts
HIT - Materiais Gratuitos
Newsletter IT Mídia
IT Mídia

3 momentos
no ano

Visite o site
post

IT Forum Ibirapuera

Redescoberta Criativa no maior parque do Brasil.
post

IT Forum Trancoso

Saiba tudo sobre liderança no mercado de TI
post

IT Forum Itaqui

Saiba tudo sobre liderança no mercado de TI

Edições anteriores

Veja todas as edições
(Em breve)

TODAS

Mais recentes

As últimas no IT Fórum

CATEGORIAS
Especiais

Especiais

Artigos exclusivos
produzidos pelo IT Fórum

Liderança

Liderança

Saiba tudo sobre liderança
no mercado de TI

Carreira

Carreira

Notícias para impulsionar
sua carreira

Negócios

Negócios

Grandes empresas,
startups, franquias e mais

Tendências

Tendências

Descubra o que está em
alta em TI

DA REDE

ComputerWorld

O porta-voz do mercado de
tecnologia.

CIO

Gestão, estratégias e
negócios em TI.

Estudos

Estudos destinados a TI e ao mercado

Executivo de TI

CIOs e executivos da indústria de TI que tiveram iniciativas
de destaque.

Antes da TI

Pesquisa com objetivo de
ajudar na tomada de decisões em TI.

As 100+ Inovadoras

Inovação nas maiores empresas do país.

Página de estudos

Veja todos os estudos

IT Forum
  • Home
  • Fóruns
  • 3 momentos
    no ano

    Visite o site
    post

    IT Forum Ibirapuera

    post

    IT Forum Trancoso

    post

    IT Forum Itaqui

  • Notícias
    • Especiais Especiais
    • Liderança Liderança
    • Carreira Carreira
    • Negócios Negócios
    • Tendências Tendências
    • Ver todas as Mais recentes
    • Brandchannels
    • Brandspaces
  • Colunas
  • Estudos
  • Estudos destinados a TI e ao mercado
    • Executivo de TI
    • Antes da TI
    • As 100+ Inovadoras
  • Vídeos
  • Podcasts
  • HiT - Materiais Gratuitos
  • Anuncie
    Envie Seu Release
    Fale Conosco
    Revistas
    Newsletter
    IT Forum IT Forum IT Forum IT Forum
X
CONTEÚDO ORIGINAL
Agora os conteúdos da CIO estão no IT Forum! Para saber mais clique aqui
  • Home >  
  • Notícias >
  •  CIO

Como aplicativos e microsserviços nativos da nuvem afetam o processo de desenvolvimento

Melhores práticas, como refatoração de código e uso de padrões de design de microsserviço, ajudam desenvolvedores a trabalhar em alta velocidade

Isaac Sacolick
16:10 pm - 11 de outubro de 2021
Shutterstock

Fui um desenvolvedor prático e diretor de tecnologia durante os dias de programação orientada a objetos, plataformas web de três camadas, arquitetura orientada a serviços (SOA) e hospedagem em servidores virtuais no data center. Tanta coisa mudou desde então!

As equipes de desenvolvimento de software mais avançadas estão desenvolvendo microsserviços e permitindo experiências ricas de usuário front-end usando JavaScript do lado do cliente. As opções de hospedagem explodiram e incluem plataforma como serviço (PaaS), contêineres como serviço (CaaS), funções sem servidor e outras arquiteturas. Os aplicativos que os desenvolvedores criam estão aproveitando fluxos de dados em tempo real, conectando-se a modelos de machine learning e fazendo interface com SaaS e sistemas corporativos.

As ferramentas de desenvolvimento de hoje evoluíram significativamente. Eles permitem que equipes de desenvolvimento distribuídas globalmente operem de forma independente, liberem alterações frequentes e respondam a problemas rapidamente. Integração e entrega contínuas (CI/CD), testes contínuos, infraestrutura como código (IaC) e AIops permitem que as equipes automatizem a integração, a implantação, a configuração da infraestrutura e o monitoramento.

As mudanças também incluem transformações culturais e práticas, como a adoção de planejamento contínuo em agile, instrumentação de shift-left testing, abordagem proativa de riscos de segurança e instituição de engenharia de confiabilidade do local.

Procurei vários especialistas para ir a um nível mais profundo e sugerir as melhores práticas sobre como o processo de desenvolvimento muda ao construir e implementar aplicativos nativos da nuvem e microsserviços.

Alta velocidade requer coordenação e consciência de operações

Minha primeira preocupação com as equipes de desenvolvimento que visam a construção de muitos microsserviços pequenos, atômicos ou frequentemente implantados é quando suas velocidades de implantação não levam em conta a colaboração necessária e os guarda-corpos de segurança.

Falei com Jason Walker, CTO da BigPanda, sobre suas experiências com equipes de desenvolvimento que criam, implantam e aprimoram microsserviços com sucesso. Ele reconhece: “O impacto mais significativo é a velocidade, e o tempo de ciclo de desenvolvimento de teste e implantação é drasticamente reduzido. Desenvolvendo na nuvem para um serviço baseado em nuvem e aproveitando um ecossistema de microsserviços para entradas, uma equipe ágil pode se mover muito rapidamente”.

Walker sugere que o ambiente de trabalho deve ajudar as equipes a se manterem no caminho certo e a agregar valor ao negócio enquanto operam em alta velocidade. Ele recomenda várias práticas:

  • Os líderes em todos os níveis devem compreender e alinhar as metas estratégicas para evitar que as equipes se desviem dos objetivos de negócios.
  • Scrum masters devem adotar métricas ágeis, pontuar histórias com precisão e monitorar a velocidade da equipe ao longo do tempo, observando e acomodando a variabilidade para o planejamento de longo prazo.
  • Processos de gerenciamento de conhecimento e entrega de documentação precisos e atualizados devem ser incorporados ao ciclo de vida de desenvolvimento de software para evitar que equipes modulares se dispersem umas das outras e desenvolvam incompatibilidades.
  • Uma estratégia de monitoramento acionável é necessária. A telemetria sintética e do cliente podem ser macroindicadores úteis do desempenho geral do serviço, e a relação sinal-ruído no monitoramento deve ser medida.

Refatoração de código aprimora microsserviços

Uma das disciplinas de codificação mais importantes na programação orientada a objetos e SOA é a refatoração de código. As técnicas permitem que os desenvolvedores reestruturem o código à medida que entendem melhor as considerações de uso, fatores de desempenho ou problemas técnicos de dívida.

Refatorar é uma técnica-chave para transformar aplicativos monolíticos em microsserviços. As estratégias de refatoração incluem separar a camada de apresentação, extrair serviços de negócios e refatorar bancos de dados.

Robin Yeman, membro do Conselho Consultivo Estratégico da Project and Team, passou a maior parte de sua carreira trabalhando em sistemas governamentais e de defesa em grande escala. Robin admite: “As maiores barreiras tecnológicas para a utilização de agile na construção ou atualização de sistemas legados complexos são as muitas dependências na arquitetura de software, forçando várias transferências entre as equipes e atrasos na entrega”.

Robin sugere que a refatoração deve se concentrar na redução das dependências. Ela recomenda: “Refatorar a arquitetura de software de grandes sistemas legados para utilizar aplicativos nativos da nuvem e microsserviços reduz as dependências entre os sistemas e as equipes que os suportam”.

A refatoração também melhora os microsserviços de maneiras importantes, como:

  • Atualizar os modelos de domínio quando o modelo de negócios evolui;
  • Reduzir os serviços para estar em conformidade com o princípio de responsabilidade única;
  • Melhorar as mensagens em arquiteturas orientadas a eventos;
  • Melhorar a capacidade de observação e validação de erro;
  • Lidar com mudanças nos pipelines devops ou na configuração do contêiner.

Kit Merker, COO da Nobl9, oferece este conselho para organizações em transição para aplicativos e microsserviços nativos da nuvem. “Você não pode simplesmente reescrever tudo – você precisa fazer a transição em fases. Uma prática recomendada é definir objetivos claros de nível de serviço que sejam agnósticos de implementação e gerenciem a impressão do usuário sobre seu serviço, mesmo durante a transição para implementações nativas da nuvem”.

Adote padrões de design de microsserviço

Os padrões de projeto sempre foram usados como ferramentas para estruturar o código em torno de conjuntos de problemas comuns. Por exemplo, as categorias de padrões de projeto orientados a objetos são criativas, comportamentais e estruturais; eles são usados para resolver problemas comuns em design de software. Os padrões de design SOA existem há mais de uma década e são um precursor dos padrões de design da API REST e da API em nuvem de hoje.

Usar padrões de design de microsserviço é fundamental para o sucesso a longo prazo. As organizações de tecnologia buscam serviços independentes, resilientes e de provisionamento automático que oferecem suporte ao isolamento de falhas, entrega contínua e um modelo de governança descentralizado. Isso pode ser desafiador se as equipes de desenvolvimento não tiverem uma linguagem comum, arquitetura de microsserviço e estratégia de implementação para desenvolver com padrões de design.

Tyler Johnson, cofundador e CTO da PrivOps, explica que o desenvolvimento de microsserviços é uma estratégia-chave para reduzir a complexidade. Ele diz: “Uma maneira de descrever os aplicativos nativos da nuvem é como um conjunto de sistemas complexos, distribuídos e interativos. Essa complexidade pode rapidamente se tornar incontrolável, e é por isso que uma arquitetura modular de microsserviços padronizada, incluindo ferramentas padronizadas de devsecops, APIs e modelos de dados é necessária”.

Michael Bachman, Arquiteto Global e principal Tecnólogo da Boomi, sugere que o uso do padrão de design de microsserviço composto permite que os desenvolvedores se concentrem na experiência do usuário. Esse padrão de design é particularmente importante quando os desenvolvedores criam aplicativos conectados a serviços multicloud e APIs de plataforma SaaS.

Bachman explica: “O composto é uma coleção de endpoints apresentados por meio de uma visualização abstrata. Os desenvolvedores podem acessar um catálogo de serviços, fazer chamadas para um composto e não se preocupar com o que está por baixo. Estamos nos aproximando do usuário final e possibilitando uma experiência confiável por meio de um serviço composto de alto nível”.

Em resumo, construir aplicativos e microsserviços nativos da nuvem exige que as equipes de desenvolvimento se sobressaiam em práticas de desenvolvimento de software de longa data, como colaboração, refatoração de código e desenvolvimento de serviços reutilizáveis e confiáveis. Como as equipes estão desenvolvendo esses serviços em uma escala significativa, é importante aprender, adaptar e amadurecer essas práticas recomendadas.

Tags:
microsserviços
Em alta

Inovação

'Contar histórias de pessoas LGBTQIAP+' é ferramenta para promoção da diversidade em empresas
Em alta

Inovação

Boticário cria unidade de tecnologia para aprimorar programas de fidelidade
Em alta

Liderança

Cristiane Gomes assume transformação digital do Grupo CCR
Load more
IT Forum

FÓRUNS

Todos os FórunsIT Forum IbirapueraIT Forum TrancosoIT Forum Itaqui

NOTÍCIAS

Mais recentesLiderançaCarreiraNegóciosTendências

COLUNAS

ESTUDOS

Executivo de TIAntes da TIAs 100+ Inovadoras

VÍDEOS

PODCASTS

HIT

Anuncie
Envie Seu Release
Fale Conosco
Revistas
Newsletter
IT Forum
Política de PrivacidadeTermos de Uso

© Copyright IT MÍDIA - Todos os direitos reservados

Política de PrivacidadeTermos de Uso

© Copyright IT MÍDIA - Todos os direitos reservados