The Oracle Cloud Developer Image — does it stack up?

Paul Guerin
5 min readDec 11, 2020

For development environments, a typical programmer will install all the development tools they need on their local workstation.

However there is an alternative….

If you are going to develop software for the Oracle cloud, then why not do the development in the Oracle cloud as well?

Even better if the image for the Oracle cloud contains all the tools you’ll ever need for development.

The Oracle Cloud Developer Image enables you to rapidly pre-install, and automatically configure and launch a comprehensive development environment on Oracle Cloud Infrastructure that includes the latest tools, choice of popular development languages, Oracle Cloud Infrastructure Software Development Kits (SDKs), and database connectors.

It’s a one stop shop for development.

So what’s included?

Languages and Oracle Database Connectors

Oracle Cloud Infrastructure Command Line Interface (CLI), Software Development Kits (SDKs) and Tools

Other

Let’s begin!

Provision using the Oracle Cloud Resource Manager

All the magic starts with the Oracle Cloud Resource Manager.

Resource Manager is an Oracle Cloud Infrastructure service that allows you to automate the process of provisioning your Oracle Cloud Infrastructure resources.

The advantage of the Resource Manager is the stack.

The stack is effectively an imported Terraform script. The Terraform script will setup the compute instance, and the compute instance will contain all the tools pre-installed.

Using Terraform, Resource Manager helps you install, configure, and manage resources through the “infrastructure-as-code” model.

The first step is to go to the Resource Manager. Often the easiest way is to search for the Resource Manager in the search bar at the top of the webpage.

Create a Terraform stack with the ‘Create Stack’ button.

Now from the ‘sample solution’ then Architecture tab, choose the Development Kit Application.

The second step is to choose the configuration.

Oracle can create new SSH keys by default, however if you already have a pair of SSH keys that you want to reuse, then just browse for the public key file.

Choose ‘Next’ then ‘Create’ to create the stack for the Oracle Cloud Developer Image.

So the stack is present now — but there is a message:

This stack was created using an Oracle solution. To deploy the resources defined by this stack, go to Terraform Actions and select Apply.

When using Terraform from the command line, after initialising, you still need to apply the script to provision the infrastructure.

With a Resource Manager stack, the same Terraform concept applies.

Go to ‘Terraform Actions’ and select ‘Apply’.

A job will run, which will create the image.

There is a log, and the start of the log should look like the following:

Initializing modules...
- compute in modules/compute
- network in modules/network
Initializing provider plugins...The following providers do not have any version constraints in configuration, so the latest version was installed.To prevent automatic upgrades to new major versions that may contain breaking changes, it is recommended to add version = "..." constraints to the corresponding provider blocks in configuration, with the constraint strings suggested below.*provider.oci: version = "~> 4.6"
*provider.tls: version = "~> 2.0"
Terraform has been successfully initialized!..

When the job is finished, the ‘Application Information’ tab will give you the IP address to use for the SSH login.

Connect to the Oracle Cloud Developer Image

So if using Putty, you’ll need to connect with the opc user.

You’ll also need to setup Putty to read the private key to supplement the public key you specified earlier.

On successful login, you’ll see something similar to below:

Using username "opc".====================================================================
OCI DEV KIT Usage
===================
This instance has OCI Dev Kit such as CLI, Terraform, Ansible, SDKs (Java, Python3.6, Go)
To update OCI Dev Kit to the latest version, run the following command: update-kit.shYou could use Instance Principal authentication to use the dev tools.For running CLI, type the following to get more help: oci --help
====================================================================
Authenticating with public key "rsa-key-20201209"
[opc@instance20201210013001 ~]$

Now do a quick identity check:

$ uname -a
Linux instance20201210062701 4.14.35-1902.306.2.el7uek.x86_64 #2 SMP Fri Aug 28 14:42:11 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux

Now do a quick check of our favourite language:

$ python --version
Python 2.7.5
$ python3 --version
Python 3.6.8

Python 2 and 3 are installed, so let’s start Python 3.

$ python3
Python 3.6.8 (default, Nov 27 2019, 14:21:59)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39.0.1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

So ready to go!

More information about the Oracle Cloud Developer Image can be obtained from this blog:

blogs.oracle.com/linux/announcing-the-oracle-cloud-developer-image-for-oracle-cloud-infrastructure

Paul Guerin is an international consultant that specialises in Oracle database. Paul is based from a global delivery center in South East Asia, but has clients from Australia, Europe, Asia, and North America. Moreover, he has presented at some of the world’s leading Oracle conferences, including Oracle Open World 2013. Since 2015, his work has been featured in the IOUG Best Practices Tip Booklet, and in publications from AUSOUG, Oracle Technology Network, Quest, and Oracle Developers (Medium). In 2019, he was awarded as a most valued contributor for the My Oracle Support Community. He is a DBA OCP, and continues to be a participant of the Oracle ACE program.

--

--