APEX in Azure

Today we are going to look and see what it takes to get Schema as a Service running in the Microsoft Azure Cloud. Our last two entries looked at Schema as a Service, or Application Express, or APEX, running in the Oracle Public Cloud for free, $175, $900, or $2000/month or running in the Amazon RDS Service for $50 – $2700/month. The idea behind Schema as a Service is that you are leasing a database instance on a compute server in the cloud. You get automated backup, html and htmls interfaces into the database, tools to load and unload data, interfaces to run ad-hoc queries or scripted queries, and REST apis to access our data. The pricing on the Oracle Public Cloud is based on how much storage that you consume for your database. The cost on Amazon RDS is based on the compute power allocated to the database. Storage is charged separately and the more you consume, the more you get charged.

Azure uses the Amazon model for pricing in that it charges on a processor shape. Automated backup and the APEX interface/libraries are not included and requires a separate step to install and configure the software on top of the Oracle database. The default operating installation is Windows Server and you are billed monthly for this shape as well. Azure does not offer backup or any other part of a managed service but only provided a virtual image with the Oracle database pre-installed on a Windows Server in the cloud. The pricing for this software is

Shape Cores RAM Disk Standard Edition Enterprise Edition Shape price
A0 Basic or Standard 0.25 0.75 GB 19 GB $1.11/hr or $826/mo $3.16/hr or $2,351/mo 0.02/hr or $15/mo
A1 Basic or Standard 1 1.75 GB 224 GB $1.11/hr or $826/mo $3.16/hr or $2,351/mo 0.09/hr or $67/mo
A2 Basic or Standard 2 3.5 GB 489 GB $1.11/hr or $826/month $3.16/hr or $2,351/mo 0.18/hr or $134/mo
A5 Standard 2 14 GB 489 GB $1.11/hr or $826/month $3.16/hr or $2,351/mo 0.33/hr or $246/mo
A3 Basic or Standard 4 7 GB 999 GB $1.28/hr or $952/mo $6.32/hr or $4,702/mo 0.036/hr or $268/mo
A6 Standard 4 4 28 GB 999 GB $1.28/hr or $952/mo $6.32/hr or $4,702/mo
A4 Basic or Standard 8 14 GB 2,039 GB $2.55/hr or $1,897/mo $12.63/hr or $9,397/mo 0.72/hr or $536/mo
A7 Standard 8 56 GB 2,039 GB $2.55/hr or $1,897/mo $12.63/hr or $9,397/mo 1.32/hr or $982/mo
A8 Standard 8 56 GB 382 GB $2.55/hr or $1,897/mo $12.63/hr or $9,397/mo
A10 Standard 8 56 GB 382 GB $2.55/hr or $1,897/mo $12.63/hr or $9,397/mo
A9 Standard 16 112 GB 382 GB $5.10/hr or $3794/mo $25.27/hr or $18,801/mo
A11 Standard 16 112 GB 382 GB $5.10/hr or $3794/mo $25.27/hr or $18,801/mo
D1 Standard 1 3.5 GB 50 GB $1.11/hr or $826/mo $3.16/hr or $2,351/mo $0.14/hr or $104/mo
D2 Standard 2 7 GB 100 GB $1.11/hr or $826/mo $3.16/hr or $2,351/mo $0.28/hr or $208/mo
D11 Standard 2 14 GB 100 GB $1.11/hr or $826/mo $3.16/hr or $2,351/mo $0.33/hr or $246/mo
D3 Standard 4 14 GB 200 GB $1.28/hr or $952/mo $6.32/hr or $4,702/mo $0.56/hr or $417/mo
D12 Standard 4 28 GB 200 GB $1.28/hr or $952/mo $6.32/hr or $4,702/mo $0.652/hr or $485/mo
D4 Standard 8 28 GB 400 GB $2.55/hr or $1,897/mo $12.63/hr or $9,397/mo $1.12/hr or $833/mo
D14 Standard 16 112 GB 800 GB $5.10/hr or $3,794/mo $25.27/hr or $18,801/mo $2.11/hr or $1571/mo

Note that this is a generic database pricing with compute shape pricing. It is not a Schema as a Service pricing. We still need to layer APEX on top of the generic database installation. This provides the cheapest option for deploying Schema as a Service as $841/month or $1.13/hr for Standard Edition or $2,366/month or $3.18/hr for Enterprise Edition. We can basically stop here. Running an Oracle database on a single core with less than 1 GB is unusable. Going to the A1 Basic or Standard shape increases the memory to 1.75 GB which might work for a single schema and the 70 GB of disk will store enough tables for most use cases.

Let’s walk through creation of an Oracle database on Azure. First we go to Azure portal and search for the Oracle virtual machine by clicking on New.



We are looking for either the Enterprise Edition or Standard Edition of the database.

We select the Standard Edition and ask that it be provisioned.

Once we select the product, we select the shape that we will run this instance on. The shape recommended is relatively large so we have to look at all shapes and we select the A1 shape primarily for cost reasons. We should look at what we are trying to do and load the right core count and memory footprint.


We select the network and storage models for this instance. We go with the defaults in this example rather than adding another storage instance since we are just looking for a small footprint.

Some things to note here. First, we have the option of a username and password or ssh to connect to the operating system. Second, we are never presented with any information about the operating system. Based on the documentation that we read earlier, I assume that this would be Windows Server. It turns out that is actually Oracle Enterprise Linux 6.7. Third, we are never asked information about the database. We are not asked about the SID, password for sys, or ports to open up or use to connect to the database. It turns out that the database is installed in the /u01 directory but no database is created. You still need to run the dbca to create a database instance and start a listener. There are other OS options available to install the database on. We theoretically could have selected Windows 2012 but these options did not come up with our search.

It took a few minutes to start up the database virtual machine. We can look up the details on the instance to find the ip address to connect to and use putty or ssh to connect to the instance.





When we log in we can look at the installation directory and notice that everything is installed in /u01. When we look at the /etc/oratab we notice that nothing is configured or installed. We will need to run oratab to create a database instance. We will then need to download and install APEX to configure Schema as a Service.


In summary, we can install and run an Oracle database on Azure. The installation is lacking a bit. This is more of an Infrastructure as a Service with a binary pre-installed but not configured. This is not Database as a Service and lacking when we compare it to Schema as a Service. To get Schema as a Service we need to download software, install it, change the network configuration, and update the virtual machine network (we did not show this). Microsoft has a good tutorial on the steps needed to create the database once the virtual machine is installed. You do get root access to the operating system. You do get sys access to the database. You do get file system access through the operating system. The documentation says that the service is on Windows but got provisioned on Linux. We might have done something wrong looking back or the documentation is wrong. The service is priced for generic database starting at $800/month or more based on the shape you select. This installation is not DBaaS or PaaS. Backups are not automatically done for you. Patches are not configure or installed. You basically get an operating system with a binary configured. The database is not configured and ports are not configured to allow you to connect across the internet.