I have worked quite a bit in Oracle Cloud, starting back in 2015. I have used many different OCI services – such as Integration, Streaming, Functions, OKE, API Gateway, Object Storage, DBaaS and several more. However, for some reason I have almost complete avoided the almost simplest service of all: […]
Oracle Cloud
Oracle Analytics Cloud, Oracle Big Data Service, Oracle Big Data SQL Cloud Service, Oracle Cloud Infrastructure, Data Catalog, API Gateway, Blockchain Platform, Container Engine for Kubernetes, Container Registry, Functions,
Oracle MySQL Database Service, Oracle NoSQL Database Cloud Service,
Oracle Visual Builder, Autonomous Data Warehouse, Autonomous JSON Database, Autonomous Transaction Processing
Oracle Cloud Go SDK and Instance Principal based Authentication
In a recent article, I described the use of the OCI SDK for Go(Lang) – in my example to interact with the ObjectStorage service. In the article, I used authentication based on tenancy and user ocid, fingerprint and private key. However, when the Go application is running in an OCI […]
Interacting with OCI Object Storage using Go SDK (first steps)
I am still fairly new at working with Go. I have the ambition of working with and perhaps even on several open source projects that all use Go as their implementation language. It seems like the number of open source projects that use Go is increasing [rapidly]. It seems that […]
Getting started quickly with querying OCI from Terraform in Cloud Shell
Terraform is all about infrastructure (and platform) as code. Creating OCI resources through Terraform is probably the best way to manage your cloud resources. I have written several articles about that. In this article I will quickly show the steps you can take for querying OCI resources using Terraform – […]
Creating, Building and Invoking a Function on OCI with Terraform
Automation through infrastructure as code is the name of the game. And I am a player in that game. In the last few weeks I have spent a lot of time on creating resources on Oracle Cloud Infrastructure. Through the console, using Terraform and the Resource Manager and Stacks, with […]
OCI DevOps Build Pipeline for Functions
Oracle Cloud Infrastructure offers the Functions service, a FaaS offering with serverless functions, based on container images built with the Project Fn FDK. In a previous article, I introduced the OCI DevOps Deployment Pipeline for Functions – a free service on OCI that automated the deployment of a Function from […]
OCI DevOps Deployment Pipeline for Functions–automation on Oracle Cloud
Oracle Cloud Infrastructure has a free DevOps cloud service that includes build and deploy pipelines in addition to source code and artifact repositories. I have written about OCI DevOps Deployment Pipelines and its Build Pipelines in earlier articles. In this article, I will show you a deployment pipeline on OCI […]
How to open IDCS Console from OCI– Finding the entry to Identity Cloud Service
I have just spent way too much time on finding the way to the Oracle IDCS console from within my OCI (Oracle Cloud Infrastructure) console. I was reading a bunch of interesting articles on using IDCS to protect access to OCI Functions and I was trying to follow along. However, […]
Simple queries against Oracle Cloud NoSQL Database
I have been struggling in my first simple steps with querying data in a NoSQL Database table on Oracle Cloud. Creating the table is easy enough – either in the console or through Terraform or the CLI. However, the data that my Node application creates in the table seemed very […]
Cleaning Out a Compartment on Oracle Cloud using Terraform provider
The situation: a Compartment on OCI should be removed. Or at least all its resources should be purged. Or at least most of the resources should be removed. The challenge: there is no “purge compartment” available that will delete the resources in the compartment. Removing each resource one by one […]
How to use single sign on between multiple OCI environments
Since we provide support for several clients in OCI, we regularly need to login into different OCI-tenancies. How nice would it be to have Single Sign-On (SSO) functionality between these different customer environments. Just 1 credential for all environments, granting and revoking access a lot easier. Also no need to […]
Create OCI Function running a Playwright scenario
TL;DR – How to create a Function on Oracle Cloud Infrastructure that uses the Playwright library for running headless browser scenarios, for example for Web UI Health Check and Performance Monitoring, for tactical integration and simple RPA and for web based reporting. The article shows a custom Docker container image […]
First code and cli free steps with Oracle Database 21c in Oracle Cloud
Oracle Database 21c has been released – for now only in the cloud. Starting to explore – that is what we call playing with it – it easy and free of any charge in the OCI Always Free Tier that includes two Oracle Database instances that now can be 21c […]
OpenAPI Support in Oracle API Gateway
Today I read the announcement of OpenAPI (fka Swagger) support in API Gateway on OCI. I was wondering what that entailed and I decided to try it out. In short, this support means that an API definition can be uploaded to API Gateway, is validated for correctness and can be […]
Run SonarQube on OCI– 10 minutes to get going using Docker Container on always free VM
In this article I want to describe how I run a SonarQube instance (that I intend to use from my automated CI/CD pipeline) on OCI, using a simple VM and a simple Docker container image. The VM gets a public IP address and I need to SSH into it in […]
Oracle Functions–Mental Picture vs. Physical Reality
Oracle Functions are the Functions as a Service (or FaaS) offering on Oracle Cloud Infrastructure. Functions are the serverless, stateless execution engines that play such an important role in cloud native applications. Functions handle requests and events, contributing to live application behavior, streaming activities and integrations. Functions are also used […]
Demystifying Blockchain for Enterprise – Realizing its potential?
The goal of this series of blogs – Demystifying Blockchain for Enterprise – is to take away the cloudiness and complexity around blockchain. In this second part I will explain where in my opinion the potential of the technology is within certain industries and explore what kind of problems blockchain in the enterprise space can solve.
Demystifying Blockchain for Enterprise – What’s the buzz?
The goal of this series of blogs – Demystifying Blockchain for Enterprise – is to take away the cloudiness and complexity around blockchain. In this first part I will explain the technology behind enterprise blockchain, using of smart contracts as decentralized application, and how it compares to a traditional database.
Oracle Cloud Infrastructure – Vault Service to generate, manage and encrypt & decrypt using Keys
The Vault service lets you create vaults in your tenancy as containers for encryption keys and secrets. Vaults are logical entities where the Vault service creates and durably stores keys and secrets. The type of vault you have determines features and functionality such as degrees of storage isolation, access to […]
Example of OCI Function as Resource Principal [enabled] to invoke OCI services
Resource Principal is an OCI resource that through its membership of a Dynamic Group and permissions granted through policies to the Dynamic Group is given access to OCI resources and services. Examples of Resource Principals are Function and API Gateway. A Function that is resource principal enabled can for example […]
Reading Query Parameters in GET requests to Project Fn Functions (and Oracle Functions as a Service)
TLDR: query parameters can be retrieved from the Fn-Http-Request-Url header in the ctx parameter passed by Fn to the Node function handling the request; using url.parse() on that header retrieves the url query parameters Project Fn is an open source container native serverless framework. Project Fn provides a runtime […]
A Quick how-to RMAN backup to OCI Object Storage
This is a quick how-to article on setting up RMAN to backup to Object Storage on OCI. This is applicable when you build your on Oracle database on an OCI instance, or when you have a database on-premise you wish to backup to the (OCI) cloud.
Migrating an old (10.2.0.4) database to Oracle Cloud with minimal downtime
Unlike most of our posts this post will contain almost no code or examples. But it hopefully will help somebody who ends up to be in the same situation we landed on: migrating data from very old versions to a new environment. Recently we were tasked with the migration of […]
Mapping Azure and Oracle Cloud Infrastructure core concepts – Part One
All major public clouds are organized in similar ways. However, terms used for certain similar constructs can be (quite) different, or the same terms are used for quite different constructs. This article attempts to outline some of the most relevant concepts for both Azure and Oracle Cloud Infrastructure and to […]
(Many ways) How to upload files into Oracle Cloud Infrastructure – Cloud Shell
Oracle Cloud Infrastructure Cloud Shell is VM that runs inside OCI -to be used for manipulating OCI resources using various means, including OCI CLI, Terraform and Ansible. We may want to be able to get files into Cloud Shell – scripts, source code, Infrastructure as Code and more. There are […]
Install SQLcl on Oracle Cloud Infrastructure Cloud Shell and make it work against an Autonomous Database
Cloud Shell on Oracle Cloud Infrastructure is a versatile management and development environment to access and manage Oracle Cloud Infrastructure resources. Cloud Shell comes with many tools and runtime out of the box (or rather inside the box) including OCI CLI, Java and SQL*Plus. However, the Oracle SQL Developer Command […]
Connecting SQL*Plus in Cloud Shell to an Autonomous Database
Objective of this article: connect SQL*Plus in Cloud Shell to an Autonomous Database instance (in a free tier – in the same or a different cloud tenancy) The starting situation: I have an autonomous database instance running somewhere in Oracle Cloud Infrastructure. I have Cloud Shell as a versatile management […]
Access OCI OKE Kubernetes Dashboard locally through Cloud Shell Proxy and ngrok
This article tells you how to access the Kubernetes Dashboard on top of an Oracle Cloud Infrastructure OKE Cluster Instance from a browser – without locally installing kubectl. This trick uses OCI Cloud Shell to run kubectl to proxy to the dashboard application running inside the K8S Cluster and it […]
Oracle Cloud Infrastructure Cloud Shell – integrated OCI CLI, kubectl, terraform, SQL Plus, Docker and Maven
Cloud Shell in Oracle Cloud Infrastructure is a free browser based command line tool for various types of interactions within your OCI Tenancy. When you start Cloud Shell, a command line is opened in your browser. You are in a Linux environment (Oracle Linux 7.7) that runs within the OCI […]
Getting started with NoSQL Database Service on Oracle Cloud Infrastructure
This morning I discovered a new entry in the menu on my Oracle Cloud Infrastructure Tenancy (on Ashburn, USA): the NoSQL Database service had been added overnight. The service offers a key-(schema-less) document store. It also supports ACID transactions, SQL on JSON documents, joins across tables, structured tables and if […]
Very first steps in Oracle Cloud Infrastructure as Code with Terraform
Resources in Oracle Cloud Infrastructure can be managed through the console – the browser based UI. That works great but requires manual steps – no automation – that take time and easily go wrong (and become extremely boring over time). Additionally, it is a rather individualistic way of working that […]
Secure browsing using a local SOCKS proxy server (on desktop or mobile) and an always free OCI compute instance as SSH server
Oracle provides several services as ‘always free’. In contrast to Azure and Amazon, these include compute instances which remain ‘forever’ free to use. Although there are some limitations on CPU, disk, network resources, these instances are ideal to use as a remote SSH server and with a little effort a […]
Use OCI Monitoring, Alarms and Notifications for Your Own Custom and Functional Metrics
In earlier articles, I have discussed features in Oracle Cloud Infrastructure for monitoring metrics published by virtually all OCI services. These metrics get published when functions are invoked, files are written, the API Gateway handles a request, events are published, a user is created and a network transfers a packet. […]
Run Always Free Docker Container on Oracle Cloud Infrastructure
In this article, I want to show how you can very quickly run a Docker container for free on Oracle Cloud Infrastructure – using a VM in the Always Free Tier of OCI. As an example, I will run an NGINX container image and access that from a client over […]
Oracle Cloud Infrastructure Resource Monitoring – Alarm triggers Notification when Metrics satisfy Condition
Oracle Cloud Infrastructure gathers metrics from all OCI resources. These metrics can be visualized and analyzed with the Metrics Explorer. And Alarms can be defined with rules evaluating the metrics that publish to a Notification Topic to signal a situation of interest. Subscriptions can be defined on these Notification Topics, […]
Somewhat Stateful Serverless Functions on Oracle Cloud Infrastructure – Implementing a DIY Cache
We call them serverless and we consider them stateless. Functions on Oracle Cloud Infrastructure (and on other cloud platforms). Of course they are neither. They run on servers. And they can carry some state, though largely opportunistic and not reliably. Functions on OCI run inside a container. The container is […]
Asynchronous Function Calls through API Gateway on Oracle Cloud Infrastructure
In a recent article, I described how serverless Functions on Oracle Cloud Infrastructure can invoke each other: synchronously and asynchronously. Although asynchronous calls are the desired state, such calls currently are possible only with quite a bit of hassle – using a Stream for queuing asynchronous requests and a Listener […]
OCI Serverless Functions invoking other Functions – synchronous and asynchronously through API Gateway and Streaming
OCI allows for cloud native application development, using facilities such as serverless functions, a light weight API gateway, a streaming service for asynchronous communication based on event messaging and built-in monitoring. In previous articles, I have gone over several aspects of serverless functions and API Gateways to create and expose […]
Using OCI Monitoring Healthchecks to Schedule execution of Serverless Functions on Oracle Cloud Infrastructure
Execution of scheduled jobs based on a time schedule is a frequent requirement. Jobs on Oracle Cloud Infrastructure are often implemented using cloud native, serverless Functions – that can be exposed through (public) HTTP endpoints on an API Gateway. I recently published an article describing how execution of functions can […]
Oracle Cloud Streaming Service – Scalable, Reliable, Kafka-like Event service on OCI
Oracle Cloud Infrastructure offers the Streaming service. This service is easily described as a Kafka-like fully managed event platform for high volume streams of data that can be processed in real or delayed time in a durable, reliable way. And from the documentation: “Streaming can be used for messaging, ingesting […]