O blog da AWS
Substituindo o Monólito com a AWS, Micro Frontends e Modyo
Por José Antonio Silva, CTO de Modyo
Todas as iniciativas de transformação digital devem ter uma plataforma que lhe permita lançar e controlar o ciclo de vida dos seus produtos digitais. Esta plataforma deve estar estrategicamente localizada entre os usuários finais e os principais sistemas de negócios, controlando a experiência digital e medindo continuamente fluxos e interações para aprender com seu comportamento digital.
Durante muito tempo, a indústria tem sido dominada por soluções que promovem arquiteturas de implantação monolítica, que ao longo do tempo e crescente complexidade dos desenvolvimentos se tornam complicadas de manter e dimensionar. Isto deve-se principalmente aos custos associados à implantação e manutenção subsequente de soluções dissociadas.
Com o surgimento de técnicas de devops, como automação de infraestrutura como implantação de código e contêineres, essa realidade mudou, tornando mais fácil do que nunca dissociar o monólito em vários subsistemas, cada um governado de forma independente. Manter várias linhas de implantação paralelas e automatizadas é uma tarefa que se tornou rotina para equipes de devops.
Enquanto os sistemas intermediários e backend se beneficiaram rapidamente desta nova arquitetura, a proliferação de interfaces construídas em um modelo de aplicação de página única (SPA) usando estruturas Javascript modernas como Angular, React e Vue criaram um novo tipo de monólito, mas desta vez na camada superior, de modo a emular a dissociação ao nível de microsserviços emergem micro frontends.
As arquiteturas baseadas em microfrontend permitem que você implante desenvolvimentos frontend em módulos independentes, que são capazes de interagir entre si, permitindo que as equipes sejam mais ágeis e independentes ao publicar alterações. Como esta forma de trabalho é relativamente nova, atualmente não existem muitas soluções no mercado que possam atuar como um repositório e ambiente de execução para elas.
A velocidade com que os mercados evoluem exige que as empresas pensem cada vez mais na forma de produtos digitais em vez de projetos simples, assumindo que a maior diferença entre eles é que os projetos terminam, enquanto os produtos evoluem de forma constante.
A fim de garantir a evolução contínua dos produtos digitais, plataformas flexíveis devem estar disponíveis para cuidar das mudanças contínuas que as empresas exigem. A transformação digital tem sido apresentada como um desafio para a maioria das organizações que procuram melhorar sua experiência de interação com o cliente
produtos digitais, que precisam ser desenvolvidos em arquiteturas que priorizem a rápida entrada no mercado e a capacidade de fazer modificações de forma eficiente.
Sobre Modyo
A Modyo é Parceira de Tecnologia da APN de nível Selet há mais de 8 anos e podemos dizer com orgulho que, em 2019, fomos reconhecidos como “Parceiro de Tecnologia do Ano” para o Chile e o Perú.
A Plataforma Modyo nasceu como uma alternativa leve e flexível às soluções que existem atualmente no mercado. Modyo mantém em seu núcleo a funcionalidade necessária para gerenciar a experiência do usuário do site, delegando todo o processamento transacional para APIs e micro serviços que são implementados como parte dos produtos digitais construídos, em um tempo de execução separado. A Modyo permite que seus clientes para incorporar elementos arquitetônicos modernos, tais como micro frontend usando Widgets, e Progressive Web Applications controlando ativadores técnicos como Service Workers e manifestos. Além disso, a Modyo possui um catálogo completo de experiências digitais para o setor financeiro, que pode ser usado como base para projetos ambiciosos de Bancos Transacionais.
Nossos clientes enxergam a Modyo como um aliado estratégico que lhes permite modernizar suas plataformas de construção de experiência digital, em um sistema moderno e dissociado que é nativo da nuvem e que pode crescer ao ritmo de seus negócios.
Embora os produtos e soluções da Modyo possam operar em ambientes fora da nuvem da AWS, a Modyo recomenda a implantação de 100% de sua solução na nuvem, garantindo a disponibilidade e a escalabilidade das soluções e fornecendo um ambiente de execução seguro e confiável que permita que as equipes se concentrem na resolução de negócios problemas em vez de se preocupar com infra-estrutura.
Além disso, para clientes que já adotaram DevOps e microsserviços no início, a Modyo fornece um serviço abrangente chamado Modyo Managed DevOps, com o qual podemos implantar pipelines de frontend e backend automatizados usando o AWS CodeBuild e o AWS Codedeploy, que implantam microsserviços em contêineres do AWS ECS em um gateway comum da API.
Arquitetura de referência na AWS
Modyo tem uma arquitetura de referência que aproveita os melhores elementos que existem hoje na oferta de nuvem da Amazon Web Services, respondendo assim a questões importantes, como segurança, escalabilidade elástica de componentes e uma estratégia de resiliência baseada no uso de várias zonas de disponibilidade.
Sendo uma solução dissociada, toda a integração nos principais sistemas de negócios de nossos clientes é feita por microsserviços que expõem uma API, para a qual os Widgets (micro frontends) implantados na plataforma são comunicados diretamente. Modyo participa do ciclo de login direcionando o usuário para o componente Single Sign On (SSO) configurado para a solução e obtém de volta os dados mínimos necessários para o perfil da experiência digital do usuário.
A implantação da plataforma Modyo na AWS envolve o uso de contêineres do AWS ECS em uma rede privada virtual que oferece suporte apenas ao tráfego em portas da Web e cuja saída para a Internet é controlada por meio de um gateway NAT. Vários contêineres com diferentes funções (serviços) são implantados para ativar o software Modyo dentro de configurações de autoescalabilidade. O conteúdo estático e imutável que dá vida aos sites e produtos digitais de nossos clientes é distribuído por meio do AWS CloudFront, o que garante menor latência e acesso mais rápido a esses tipos de elementos.
No nível de dados e usando ferramentas poderosas como o Amazon Aurora e o Amazon Elasticsearch, a Modyo pode dar aos clientes a tranquilidade de que seus dados estão seguros e disponíveis para o aplicativo. A plataforma também usa o Amazon ElastiCache para gerar diferentes níveis de cache interno, o que permite acesso mais rápido ao conteúdo gerado dinamicamente.
Do ponto de vista da segurança, toda a solução ativa elementos como o AWS CloudTrail, que captura eventos relevantes, e o Amazon GuardDuty, que processa e alerta padrões suspeitos que precisam ser abordados. Além disso, toda a solução é monitorada continuamente pelo Amazon CloudWatch.
No caso da implantação de microsserviços, isso pode ser realizado externamente pelo mesmo cliente, ou internalizado como parte da implantação da plataforma através de um serviço chamado Modyo Managed DevOps.
O Modyo Managed DevOps contempla o uso de ferramentas de logon único (SSO), como o Amazon Cognito, em conjunto com o Amazon API Gateway, que fornece a interface necessária para expor microsserviços que são implantados na plataforma de contêiner do Amazon ECS. Dependendo dos requisitos desses serviços, mais elementos da AWS podem ser considerados, como usar conexões VPN com outros sistemas ou usar mecanismos de armazenamento de dados.
Tanto a implantação da plataforma Modyo quanto o serviço Managed DevOps consideram o uso de pipelines de automação criados com o AWS CodeBuild, o AWS CodePipeline e o AWS CodeDeploy. Além disso, ambas as implantações são regidas por modelos de infraestrutura, como o código do AWS CloudFormation.
A Modyo, através desta arquitetura, é capaz de processar as cargas de trabalho mais exigentes, angariando recursos sob demanda e fornecendo um esquema de segurança que facilita o cumprimento das normas de segurança dos nossos clientes. Para obter mais informações sobre Modyo, visite www.modyo.com.