Os microsserviços são uma abordagem de arquitetura para desenvolver software moderno. Cada função, ou serviço principal representa um contexto comercial relacionado, criado e implementado de forma independente. Os microsserviços fornecem agilidade na criação e manutenção de aplicações e representam um contraste com a abordagem monolítica seguida no desenvolvimento de software legado. Hoje, a modernização de aplicações é sinônimo de microsserviços.
Ao aprender mais sobre microsserviços, você verá o contraste com arquiteturas monolíticas, considerações para adotar a arquitetura de microsserviços, mecanismos de comunicação, metodologia de implementação de 12 fatores, implementação em Kubernetes, persistência de dados, malha de serviço e práticas recomendadas para projetar microsserviços.
Acelere o tempo de lançamento de novos recursos no mercado, permitindo a integração e a implementação contínuas com suporte a modelos de implementação blue-green para serviços.
Escale contêineres de serviços ou plataformas de dados independentemente por serviço para atender à demanda desse recurso.
Substitua ou desative os serviços independentes sem afetar a aplicação toda. As falhas de serviço individuais são tratadas com elegância pela degradação do serviço, em vez de travar a aplicação
Aprenda a criar um microsserviço na Oracle Cloud Infrastructure (OCI).
Um aspecto importante para microsserviços orientados por dados é a implementação da plataforma de gerenciamento de dados para implementar uma variedade de tipos de dados, oferecer suporte a vários bancos de dados em um contêiner e oferecer recursos de gerenciamento autônomo. O Oracle Autonomous Database na OCI oferece facilidade de implementação para a criação de microsserviços inteligentes orientados por dados.
O Oracle Transaction Manager for Microservices (MicroTx) simplifica o desenvolvimento e as operações de aplicações, permitindo transações distribuídas para garantir a consistência entre microsserviços poliglotas implantados no Kubernetes e/ou em outros ambientes.
Para a modernização da aplicação, várias tecnologias precisam ser integradas para construir a base certa de microsserviços em várias nuvens. O Oracle LiveLabs dá a você acesso às ferramentas e tecnologias da Oracle para realizar uma ampla variedade de laboratórios e workshops. Esses workshops mostram como usar tecnologias abertas junto com a Oracle para construir arquiteturas mais simples que fornecem flexibilidade de implementação. Crie microsserviços no Oracle LiveLabs com componentes de nuvem e híbridos disponíveis na OCI, incluindo Autonomous Database, Helidon, Micronaut, MicroTx, WebLogic Server, Java, Docker, Kubernetes e Istio Service Mesh. Para você começar sua jornada com os microsserviços, existem vários laboratórios para ajudá-lo a modernizar seus aplicativos empresariais monolíticos ou simplificá-los se você já tiver iniciado esse caminho.
Este Oracle LiveLab cria um aplicativo de entrega de comida móvel chamado GrabDish para destacar a simplicidade da arquitetura de dados com uma pilha de desenvolvimento moderna. Ele contrasta a complexidade dos bancos de dados para fins especiais tradicionalmente empregados como arquiteturas Lambda e Kappa na indústria (com sistemas separados para sistemas relacionais, de texto, espaciais, gráficos e de mensagens) com a simplicidade de criar microsserviços baseados em dados com o Oracle Converged Database. O laboratório é voltado para desenvolvedores e arquitetos para projetar novos microsserviços. Também ajuda os DBAs a entender a função do Oracle Database em projetos de modernização de aplicações. Autonomous Database, clusters de Kubernetes com contêineres docker, Oracle Advanced Queuing e Transactional Event Queues e Helidon são usados para mostrar microsserviços Java, Node.js e Python trabalhando com dados relacionais, JSON, espaciais e gráficos, com rastreamento e monitoramento configurado com Kiali, Jaeger, Prometheus e Grafana. Padrões de microsserviços, como fonte de eventos, CQRS e SAGAs, são ilustrados.
À medida que a arquitetura de microsserviços está ganhando popularidade, os desenvolvedores geralmente enfrentam problemas associados à consistência de dados, pois cada microsserviço geralmente tem seu próprio banco de dados ou outro recurso. MicroTx fornece um microsserviço de coordenação de transações para manter a consistência no estado de vários bancos de dados que participam de uma transação. O MicroTx suporta vários protocolos de transação distribuídos, como XA, LRAs (long-running actions) e TCC (try-confirm/cancel). Ele suporta transações distribuídas entre microsserviços poliglotas, como Java, node.js, C/C++ e PL/SQL. Neste LiveLab, os desenvolvedores podem aprender a obter consistência de dados em vários microsserviços usados em um aplicativo de amostra.
Plataforma completa e aberta para microsserviços
Para a modernização da aplicação, várias tecnologias precisam ser integradas para construir a base certa de microsserviços multicloud. O Oracle LiveLabs dá a você acesso às ferramentas e tecnologias da Oracle para realizar uma ampla variedade de laboratórios e workshops. Esses workshops mostram como usar tecnologias abertas junto com a Oracle para construir arquiteturas mais simples que fornecem flexibilidade de implementação. Crie microsserviços no Oracle LiveLabs com componentes de nuvem e híbridos disponíveis na OCI, Autonomous Database, Helidon, Micronaut, Weblogic, Java, Docker, Kubernetes e Istio Service Mesh, em uma pilha de plataforma de microsserviços completa. Existem vários laboratórios para ajudá-lo a modernizar as aplicações empresariais monolíticos para você começar sua jornada com os microsserviços ou para simplificá-la se você já estiver seguindo esse caminho.
Serverless - Nenhum estado persistente é necessário em um armazenamento de dados, as tarefas são executadas no estilo fly-fire e esqueça. Por exemplo, funções lambda e gateways de API.
orientado por API - Os microsserviços se comunicam usando APIs REST, por exemplo, um gateway de API. Cada microsserviço tem uma definição de API.
Microsserviços sincronizados - O acoplamento fraco é obtido com mensagens assíncronas por meio de filas ou software de streaming, por exemplo, com Oracle Advanced Queuing ou Apache Kafka.
Ações de workflow - fluxos de negócios (com humanos no loop) também representando transações de longa execução, por exemplo, com estruturas BPMN, como Camunda, Zeebe ou fluxo temporal.io.
Fluxo de trabalho automatizado - Tarefas que são executadas como um fluxo de trabalho simples de maneira automatizada (sem humanos no loop), por exemplo, com Apache Airflow e Argo (CNCF).
Orientado por dados - A arquitetura de dados direciona o consumo de dados no aplicativo para operações e tomada de decisão, geralmente com um armazenamento persistente, por exemplo, Oracle Converged Database ou com bancos de dados para fins especiais.
Nativo da nuvem - Um aplicativo desenvolvido inteiramente para a nuvem, por exemplo, com componentes CNCF e serviços OCI.
Microsserviços de nuvem híbrida - Microsserviços que funcionam em todo o data center do cliente (nuvem privada) e uma nuvem pública, por exemplo, com Kubernetes/malha de serviços para orquestrar entre uma nuvem privada e a nuvem pública (casos de uso de bursting na nuvem).
Microsserviços multicloud - Microsserviços que funcionam em pelo menos duas nuvens públicas e uma nuvem privada, por exemplo, com Kubernetes/malha de serviços para orquestrar em várias nuvens (para fornecer mitigação de risco e evitar um bloqueio em uma nuvem pública).
Embora os microsserviços sejam sinônimos de modernização de aplicações e sejam o caminho a seguir para todo o desenvolvimento de aplicações, existem algumas considerações que tornam a jornada para as arquiteturas de microsserviços mais eficiente.
Esta página foi traduzida automaticamente.