O que são microsserviços? | Glossário da VMware | BR

O que são microsserviços?

 

Microsserviços se referem aos milhares de padrões da Web, linguagens de programação, plataformas de banco de dados e componentes de servidores independentes da Web que são encontrados no ciclo de vida de desenvolvimento de software contemporâneo como ferramentas de desenvolvedor. Da perspectiva tradicional, as empresas já focaram na arquitetura orientada a serviços (SOA), que representava a tecnologia de hardware e software integrada a partir de uma única empresa de TI. Com os microsserviços, há milhares de componentes diferentes recebendo suporte em aplicativos de software em nuvem e servidores da Web de empresas de desenvolvimento independentes ou comunidades de código aberto. Os departamentos de TI precisavam de uma nova filosofia para gerenciar os microsserviços que estão em produção em ambientes isolados com multilocatários, em data centers de nuvem pública em hiperescala. Para solucionar isso, adotaram amplamente as soluções de virtualização com padrões SDDC orientadas pela tecnologia de rede de serviços. Os microsserviços formam os blocos ou fundamentos básicos, plataformas e estruturas fundamentais sobre os quais o código é criado e operado em servidores da Web em um data center na nuvem.

Arquitetura monolítica versus arquitetura de microsserviços

  • Arquitetura monolítica: tradicionalmente derivada da era do mainframe IBM e do período de monopólio do SO Microsoft Windows nas empresas. 
  • Microsserviços: originalmente desenvolvidos a partir de comunidades de código aberto, desenvolvedores de terceiros e start-ups com programadores independentes que contribuem com código que estenderia a funcionalidade básica das plataformas de servidor Web mais populares em uso. Agora, a maioria das grandes empresas de TI lança seus próprios microsserviços e contribuições para projetos de código aberto, em que os padrões são adotados em diferentes verticais e equipes, a partir de um mercado mais amplo de soluções sobre fundamentos exclusivos. Os microsserviços operam com o mesmo princípio de inovação do desenvolvedor por meio de soluções de código aberto para aplicativos em nuvem — embora os microsserviços licenciados por proprietários também sejam comuns hoje em dia.

 

Benefícios dos microsserviços

  • Inovação rápida: empresas e startups podem trazer inovação ao mercado mais rapidamente do que ao usar arquitetura monolítica, quando for necessário criar novas funcionalidades para aplicativos de software. Os clientes que usam aplicativos da Web e móveis exigem novos recursos. A tecnologia inovadora recebe financiamento por meio da adoção popular e da aceitação da empresa. Há uma vantagem para as principais empresas e também startups de TI para que permaneçam na vanguarda da programação e desenvolvimento, integrando novos microsserviços.
  • Maiores níveis de automação do data center: os desenvolvedores preferem usar determinadas plataformas ou padrões para o trabalho e isso inclui suporte para linguagens de programação e bancos de dados em aplicativos da Web/móveis com microsserviços. Os microsserviços se conectam por meio de processos com script, como APIs, que podem levar a maiores níveis de automação do data center.

 

Como os microsserviços funcionam?

Os microsserviços funcionam principalmente aumentando a funcionalidade disponível em um servidor da Web com relação ao que é fornecido pelo sistema operacional padrão, rede ou plataforma de gerenciamento de data center. Alguns microsserviços são extensões de pilha de servidores da Web, como plataformas de linguagem de programação e estruturas de banco de dados. Para desenvolver aplicativos PHP e MySQL, o ambiente do servidor da Web deve ser configurado com suporte da plataforma LAMP. As soluções baseadas em microsserviços competem amplamente com a arquitetura orientada a serviços fornecida pela Microsoft, Oracle, IBM e outras grandes empresas de TI com relação às distribuições de código fechado. Agora, as empresas devem oferecer suporte a vários aplicativos desenvolvidos em PHP, Python, Ruby-on-Rails, Java, C ++, ASP.net etc. em tandem ou simultaneamente na produção. Em outras situações, um data center pode ter várias estruturas de bancos de dados em operação via VMs no hardware com multilocatários. Um servidor da Web deve ser configurado para oferecer suporte a extensões personalizadas para streaming de mídia, integrações de API ou ao adicionar utilitários proprietários para técnicas de análise. Sempre que todos esses serviços terceirizados e de código aberto são agrupados, eles equivalem a milhares de microsserviços em um servidor da Web típico em produção, sendo então, multiplicados por milhões de VMs em hiperescala em um ambiente de serviço de computação em nuvem pública.

 

História dos microsserviços

O uso dos microsserviços como termo se desenvolveu principalmente após a era da Web 2.0, pois a TI corporativa precisava de uma nova maneira de conceituar o ambiente de desenvolvimento de software para refletir o ecossistema atual e as práticas recomendadas. O uso de microsserviços para o desenvolvimento de aplicativos da Web e móveis levou a uma complexidade aumentada para os administradores de data center oferecerem suporte nas operações da empresa. Em vez de simplesmente contratar a Oracle, a IBM ou a Microsoft para todas as soluções de software e data center necessárias, as empresas agora precisam lidar com um cenário com milhões de projetos de código aberto que oferecem soluções de nível empresarial para uso comercial. Muitos padrões da Web têm versões concorrentes de diferentes empresas. Muitas linguagens de programação e bancos de dados abrangem a mesma funcionalidade usada. Cada equipe de desenvolvimento tem suas próprias preferências por ferramentas e métodos de programação. O gerenciamento de toda essa complexidade, na era da nuvem e em um departamento de TI corporativo unificado, levou à necessidade de oferecer suporte a microsserviços no desenvolvimento profissional de software em muitas organizações complexas de todo o mundo.

 

Como entender a arquitetura dos microsserviços

A melhor maneira de entender a arquitetura de microsserviços é imaginar as camadas de software como uma pilha de servidores da Web. O sistema operacional pode ser Windows, Linux ou BSD para o servidor da Web. Existem ferramentas para gerenciamento de data center e balanceamento de carga na rede. As opções incluem Apache, IIS, NGINX, Caddy, Tomcat etc. para servidor da Web. A seguir, é apresentada a camada para suporte à linguagem de programação instalada, como PHP, ASP.net, Python, Ruby, Perl, Java e Go. Depois, a camada para estruturas de banco de dados como MySQL, MSSQL, PostgreSQL e MongoDB. Outra camada para utilitários de cache, como Varnish, Redis, CDNs e recursos de otimização. Outras camadas de suporte incluem servidores de borda, plataformas sem servidor e integração de AI/ML. Em um ecossistema de nuvem pública, existem milhares de microsserviços operando simultaneamente que precisam ser gerenciados na rede de serviços para oferecer suporte à interoperabilidade, roteamento e comunicação.

 

Arquitetura orientada a serviços (SOA) versus Microsserviços

A arquitetura orientada a serviços (SOA) geralmente vem de um único fornecedor ou inclui um pacote de soluções de hardware e software que podem ser implementadas para uma necessidade bem definida do setor. A SOA oferece suporte ao data center, ao servidor da Web e à camada de pilha por meio de diferentes distribuições ou modelos de produtos. A SOA está disponível em soluções proprietárias e de código aberto pelo fornecedor. Os equipamentos de rede e as conexões de fibra são gerenciados de maneiras diferentes nos data centers em nuvem e nos data centers privados internos. Os microsserviços são necessários para a inovação no estado atual de desenvolvimento de software. Até as maiores empresas precisam adotar microsserviços para dar suporte às equipes de programação Agile que lançam novos aplicativos da Web/móveis no mercado. Nesses casos, o suporte ao produto pode incluir milhares de marcas ou domínios. Os microsserviços são frequentemente necessários para a modernização e a conteinerização do software corporativo legado. 

Soluções, produtos e recursos relacionados aos microsserviços da VMware

O que é armazenamento definido por software?

O armazenamento definido por software da VMware é uma arquitetura de data center de armazenamento simples e inteligente, que se alinha às demandas de negócios e aplicativos. Saiba mais hoje mesmo.

Definição de serviços de computação em nuvem

Estabeleça as bases de um modelo operacional orientado a serviços e orientado a negócios usando as práticas recomendadas de definição de serviços de computação em nuvem.

O que é virtualização?

A virtualização é a maneira mais eficaz de reduzir as despesas de TI e, ao mesmo tempo, aumentar a eficiência e a agilidade para empresas de todos os portes.

Qual é a diferença entre ser orientado a projetos e orientado a serviços?

As organizações de TI atuais usam "projetos" como constructo para gerenciar o trabalho. Adotar uma orientação ao serviço pode garantir um aprovisionamento mais rápido e reduzir custos.

Conjunto de nuvem empresarial

Conjunto de nuvem empresarial é uma coleção integrada de produtos para gerenciar nuvens híbridas e fornecer aprovisionamento por autoatendimento.

Crie a definição de serviço e um endpoint virtual correspondente

Você deve usar as APIs do NSX Manager para criar uma definição de serviço e um endpoint virtual para o appliance em sua nuvem pública.