X

Best Practices from Oracle Development's A‑Team

Introduction to OKIT the OCI Designer Toolkit

Before building your OCI Infrastructure you will need to spend time designing and visualising your architecture. This can be done using a variety of tools, Microsoft Viso and Draw.io to name a few, but these are only diagrams useful for discussing the architecture missing key information that would allow you to translate the design into a working solution. To address these huge shortcomings of traditional design tools we decided to build OKIT.

The OCI Designer Toolkit (OKIT) is a, standalone / offline, OpenSource browser-based Drag-n-Drop design tool for OCI providing rapid design and prototyping of OCI based infrastructure. Once the design is complete Terraform / Ansible scripts can be generated that can then be executed to build what has been designed.

Interface

OKIT provides a simple, context-aware, minimalistic interface with 3 distinct areas.

Palette

On the left of the screen is a slide-out palette displaying all the currently implemented OCI artefacts. These are logically grouped into functionality. Moving the cursor over the icon will cause a short description / tooltip to be displayed. Clicking the icon will allow you to drag it onto the canvas.

Canvas

Central to the screen is the canvas where the infrastructure diagrams will be built. When initially open or New canvas selected it will display just a top level compartment.

Properties

On the right of the screen we have a slide-out panel that will allow editing of the properties associated with the selected artefact.

OCI Infrastructures can quickly be built by dragging and dropping the artefacts from the palette onto the appropriate canvas element (OKIT will only allow drop on relevant container artefacts) automatically laying out the diagram in an ordered manner. This allows Infrastructures to be designed and modified on the fly without the need to connect to an OCI environment.

Once the graphical design is complete we can move on to providing key property information that will be used during the generation of Terraform / Ansible scripts.

Properties

Each artefact on the canvas has a set of properties, that are required to build them within OCI. Clicking on an artefact will allow the user to edit those through the slide-out properties panel. Once open we can see that the user has access to the, required, properties that are available when creating the artefact within the OCI Console or through the Terraform / Ansible APIs.

Having edited the properties for all artefacts Terraform / Ansible script can be generated by simply selecting the appropriate menu item which will return a zip file containing the code script.

Extracting the zip will provide the user with a number of script files that can be execute using normal Terraform / Ansible commands to build the designed infrastructure in you specified OCI Region / Compartment.

Future Posts

Look out for our future posts that will discuss some of the advanced and interesting features in OKIT, such as Fragment, Templates and Query.

GitHub Project

OKIT is provided as an OpenSource project residing in the Oracle GitHub project oci-designer-toolkit.

Installation

Full installation guides can be found Installation Guide.

Usage

The OKIT User Guid and Examples can be bound at User Guide.

 

Join the discussion

Comments ( 2 )
  • Eric Yen Saturday, May 16, 2020
    ‪Just a wild thought/question. Any plans OKIT be integrated into to the OCI Console ?‬
  • Andre Friday, May 22, 2020
    This is a great tool, really excellent work! Even if it doesn't support all artefacts yet, OKIT creates a good starting point for creating OCI designs and for working with Terraform and Ansible scripts. And I especially like the Query feature, although getting that to work was a bit of a puzzle. What's missing in the Installation Guide is doing the OCI config prerequisite as mentioned in the Usage Guide. And then there is one more step that is not mentioned anywhere yet: after starting the container, open a cli to it and create the .ssh directory and the oci_api_key.pem file in it (cat > oci_api_key.pem, paste in your key, followed by Control-D to close the file). After that the Search feature will connect to your tenancy and display your own Compartments and the OCI regions.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha