Oracle Cloud Development for Free!
Most of us that live in the Oracle World are by now familiar with the Always free tier in Oracle Cloud Infrastructure; however, there's other free components in OCI and components embedded within the free tier that give you a lot of power, plus what does it all really mean?
My favorite feature so far is the free autonomous database (you actually get two free), and although there's strict limits to resources within the free database, if you are smart about it you can do a lot with it.
Let's see how we can provision a free autonomous database and the features we get at no cost, also, it makes for a great development environment where you can quickly innovate by using productivity tools that would normally be heavy to implement in an On-Premises ecosystem.
Let's assume you have a trial or paid OCI subscription, if you don't, you can go here to get a free trial account. Once you are in, navigate to the below:
- Navigate to the Database section and click on either of the Autonomous DB offerings, then choose to Create an Autonomous Database.
- Here you have a few options, depending on your need you can go with the warehouse offering or transactional workload type, but the key is the "Always Free" toggle. If you turn it on, it defaults all the options to the free tier; notice the limitations around CPU cores and storage, as well as the database version, only 18C is available in this option. However, we will later touch on why this doesn't necessarily matter too much in some use cases.
Once you have created your autonomous database, you can navigate back to the home screen and go into your instance, mine is named as DBDEV2.
- Now that you are in, you will notice a lot of cool features, like the performance hub and service console, which DBA's will use heavily. However, if you interact with the "Tools" menu, then you will discover some features that your database comes with natively and are ready to go as soon as your instance is provisioned.
First is SQL Developer Web, which is already integrated with your environment, makes setup easier, but more importantly, we have Oracle Application Express. This post will not go into details regarding APEX because there's a tremendous amount of content on it out there, but APEX really empowers database developers to create amazing apps with the data already sitting on their database, and in many other forms. The issue with APEX historically has been that it is heavy to deploy On-Prem in a production grade fashion. This is because APEX will require a middle tier, such as Web Logic or Apache Tomcat, as well as Oracle Rest Dataservices (ORDS), if you want to do it right; however, all of those steps are abstracted away from you in this offering. Here you just click on "Open APEX" and that's it, ORDS is already embedded in this offering and the middle tier is not something you have to manage, so you can turn your Autonomous Database into a powerful development environment to develop visually appealing applications right away.
That above alone is worth the price of paying for the Autonomous Database offering (it's also very quick to provision and manages itself in some areas), but let's say that you want to remain free while you can, well, you can always interact with an On-Prem Oracle database via REST, all that would require is deploying ORDS in your On-Prem asset and having APEX talk to it from your Autonomous DB. This of course won't work well for an enterprise application, but it opens up some additional capabilities without having to do a heavy APEX deployment On-Prem. If storage is a problem but your application doesn't require a lot of resources, you can use Object Storage (also free up to 20GB) in OCI to store your attachments and things of that nature and bypass the storage limitations on your free database, another option would be to rely on Oracle Functions to do heavier processing and still use APEX as the main engine of your application, and just call Functions to perform heavy computations (Functions is a serverless offering so you only pay for what you consume when you call your resource).
At the end of the day, the free offering is meant to show you the power of the Autonomous Database, and once you unlock that power you will likely end up upgrading as needed. However, you could utilize all of the free resources in conjunction to create Production grade applications, as long as the user base is not great in numbers, below are all the free assets you can provision and continue to use (regardless of when your trial expires):
- Compute (up to two instances)
- Autonomous Database (up to two database instances)
- Load Balancing (one load balancer)
- Block Volume (up to 100 GB total storage)
- Object Storage (up to 20 GiB)
- Vault (up to 20 keys and up to 150 secrets)
As you see, you can extend your database storage capabilities by using block storage, and hook your APEX applications into object storage for other needs, you also get free vault features for security and a free load balancer. The following resource has all the specifics about the free assets, including specs and limitations.
Here's a slide from Oracle Cloud Day Online, a couple of weeks ago, that summarizes well the development capabilities the Autonomous Database brings to the developer community:
There are other free resources and offerings in OCI, such as Oracle Developer Cloud (soon to be renamed), as well as the Data Safe feature under the Database section in OCI, which we didn't cover here but adds tremendous value, I may write about those in the future!
For reference, below is another slide from Cloud Day, that paints a good picture of Application Development capabilities in Oracle Cloud:
I would throw the Application Integration suite in the above as well, which contains Integrations (with Process and Visual Builder), in addition to other features like the Notifications and Events Service, which can be leveraged together to write compelling applications. In the screenshot, the OCI Marketplace is also visible, there you can provision many different applications from it, including some that have free features that are really solid, like Oracle Data Integrator (ODI). In fact, there's many free applications you can download, where you may just have to pay for the Compute. I'll write a different Blog Entry to discuss some of those options.
Stay Safe!
Julio