No results found

Your search did not match any results.

We suggest you try the following to help find what you're looking for:

  • Check the spelling of your keyword search.
  • Use synonyms for the keyword you typed, for example, try "application" instead of "software."
  • Try one of the popular searches shown below.
  • Start a new search.
Trending Questions
 

Getting started with Microservices

 

Microservices are an architectural approach to develop modern software. Each core function, or service, represents a related business context which is built and deployed independently. Microservices provide agility in building and maintaining applications and represent a contrast to the monolithic approach followed in legacy software development. Application modernization today is synonymous with Microservices.

In learning more about Microservices, you will see the contrast with monolithic architectures, considerations for adopting microservices architecture, communication mechanisms, 12-factor deployment methodology, deployment in Kubernetes, data-persistence, service mesh, and best practices for designing microservices.

Benefits of Microservices

Simplified deployment

Accelerate time to market for new features by enabling continuous integration and continuous deployment supporting blue-green deployment models for services.

Scale Performance on demand

Scale services containers or data platform independently per service to meet the demand of that feature.

Highly available by design

Replace or retire independent services without impacting the entire application, individual service failures are gracefully handled by degrading service, rather than crashing the entire application

Learn how to build a microservice on the Oracle Cloud Infrastructure.

 

Multi-cloud and Hybrid Deployments

 

Multi-cloud and Hybrid Deployments

With Kubernetes and a Service Mesh, Microservices can be deployed in an enterprise data center, or a hybrid cloud enviroment that is a mix of the enterprise data center and OCI. Additionally, with support for Kubernetes and service mesh in other public clouds, multi-cloud deployments are also supported. Best practices are shared in LiveLabs and Reference Architectures.

Oracle Converged Database Advantage

 

Oracle Converged Database Advantage

An important aspect for data-driven microservices is the deployment of the data management platform to deploy a variety of data types, support multiple databases in a container, and offer autonomous management capabilities. Oracle's Autonomous database on OCI provides ease of deployment for building intelligent data-driven microservices.

 

Simplifying Microservices Architecture with Oracle

Complete and Open Platform for Microservices

For application modernization, multiple technologies need be integrated to build the right multi-cloud microservices foundation. Oracle LiveLabs give you access to Oracle’s tools and technologies to run a wide variety of labs and workshops. These workshops show how to use open technologies alongside Oracle to build simpler architectures that provide deployment flexibility. Build Microservices in Oracle LiveLabs with cloud and hybrid components available in OCI, Autonomous Database, Helidon, Micronaut, Weblogic, Java, Docker, Kubernetes, and Istio Service Mesh, in a wholesome Microservices platform stack. There are multiple labs to help you modernize monolith enterprise apps to get you started on your Microservices journey, or simplify it if you’re already down this path.

Complete and Open Platform for Microservices

Data-Driven Microservices with Oracle Converged Database

One of the Oracle LiveLabs builds out a mobile-food delivery application (called GrabDish), to highlight the simplicity of the data architecture, with a modern development stack. It contrasts the complexity of special-purpose databases traditionally employed as Lambda and Kappa architectures in the industry, (i.e separate systems for relational, text, spatial, graph, messaging system) to the simplicity of building data-driven Microservices with the Oracle converged database. The lab is geared for developers and architects, to design new Microservices. It also helps DBAs to understand the role of the Oracle database in application modernization projects in the organization. Autonomous database, Kubernetes clusters with docker containers, Oracle AQ transactional messaging, Helidon, are used to show Java, Node.js, Python microservices working with relational, JSON, spatial, and graph data; with a tracing and monitoring set up with Kiali, Jaeger, Prometheus, and Grafana. Microservices patterns such as event sourcing, CQRS, SAGAs are illustrated.

Data-Driven Microservices with Oracle Converged Database

Building Blocks

Microservices bring together many technologies to work together in harmony. These components can either be managed cloud services on OCI, APIs available from a service provider, or application and infrastructure components operated within an enterprise data center. This page shares with you the building blocks necessary to build robust and highlight performing microservices architectures.

Microservices Terms

Serverless - No persistent state needed in a data store, tasks are executed on the fly - fire and forget style - e.g. with lambda functions and API gateways

API Driven - Microservices communicate with each other with REST APIs - e.g. with an API Gateway, each Microservice has an API definition

Async Microservices - Loose coupling is achieved with async messaging through queues or streaming software - e.g. with Oracle AQ or Apache Kafka

Workflow actions - Business flows (with human in the loop), also representing long running transactions - e.g. with BPMN frameworks like Camunda, Zeebe, or temporal.io flow

Automated workflow - Tasks that run as a simple workflow in an automated manner (with no human in the loop) - e.g. with Apache Airflow, Argo (CNCF)

Data-driven - data architecture drives consumption of data in the app for operations and decision making - usually with a persistent store e.g. Oracle converged database, or with special purpose databases

Cloud-native - Application developed entirely for the cloud - e.g. born on the cloud, with CNCF components and OCI services

Hybrid cloud Microservices - work across own datacenter (private cloud) and a public cloud - e.g. with Kubernetes/Service Mesh to orchestrate across own cloud and public cloud (cloud bursting use cases)

Multi cloud Microservices - work across at least two public clouds and own datacenter (private cloud) - e.g. with Kubernetes/Service Mesh to orchestrate across multiple clouds (risk mitigation and preventing a lock-in to one public cloud)

Microservice challenges

While Microservices are synonymous with Application Modernization, and it is the way forward for all application development, there are a few considerations that make the journey to Microservices architectures more efficient.

  • Choosing the number of independent microservices for an application – A microservices deployment becomes complex when 1000s of microservices have to be deployed and expected to perform in harmony when the context of each service is very tiny. Experience indicates that when 20-50 microservices are identified with the right bounded contexts, the transition to microservices have delivered better on the promised advantages.
  • Implementing transactions across microservices boundaries have been a challenge with the XA transactions ( synchronous and performance limiting in some cases), and asynchronous SAGAs have shown to be a higher performing and robust, which are further being simplified with support in the converged Oracle database.
  • The need for loose coupling between microservices poses a challenge with using synchronous REST API services, and messaging/queuing systems make this communication asynchronous and more scalable in deploying applications in a hybrid cloud environment.
  • Tracing and observability is not only important at the application tier or the mid-tier, but also at the data-tier, for a holistic end-to-end deployment and support of Microservices architectures. Tools and analytics integrations are just beginning to address this important aspect for hybrid deployments.

Microservices Customer Successes