The image shows an OCI Region containing a DevOps Project, OCI Functions, OCI Queue,
Logging, Notifications, and IAM.
The DevOps project contains the OCI Code Repository, Deployment Pipeline, Build Pipeline,
and Artifact Repository/Container Registry, Container Engine for Kubernetes, and a
queue-fn-automation application.
- Developer updates application code in the OCI Code Repository and
executes the build pipeline.
- On execution of the build pipeline, a container image with the latest application
version is pushed to Oracle Container Image Registry (OCIR), and the deployment
pipeline is triggered.
- On execution of the deployment pipeline, the Kubernetes manifest from
Artifact Registry is used to deploy the application to Oracle Container Engine for
Kubernetes (OKE).
- The application regularly polls the configured queue to fetch new
messages, invokes a configured function using fetched messages, and on successful
execution, removes the messages from the queue. It responds to a message spike in
the queue by increasing the
get_message
request rate.
OCI Queue and OCI Functions integration flow:
- Producer pushes messages to OCI Queue.
- queue-fn-automation application:
- Gets messages from OCI Queue.
- Invokes function with message(s) in body from OCI Functions.
- Captures invocation response code from OCI Functions.
- Deletes the successfully processed messages from OCI Queue.