Many users of Oracle Cloud have either large and complex environments or complicated internal billing scenarios. Although we have cost analysis and usage reporting tools available today in Oracle Cloud Infrastructure, these users need more flexibility in reporting to rationalize their usage across multiple cost centers or business units. Flexible reporting will let them and even their end users better realize the value of using Oracle to meet their goals on their journey to the cloud.
The solution introduced in this post lets Oracle Cloud users manage and control their costs in the cloud to drive maximum efficiency. Any organization with complex internal billing scenarios can use this solution, especially managed service providers (MSPs) and large enterprise customers. These users typically manage one large tenancy that they "carve up" among multiple customers or cost centers, or they manage multiple tenancies that are each allocated to a customer or cost center. Then they must divide the usage between their internal management and monitoring infrastructure and services, and what is used by their business applications.
Because these users implement their management in multiple ways, a flexible reporting solution is required. After they have such a solution in place, they can start to build projection and analysis models to better plan for future usage and billing scenarios.
MSPs and large enterprises are just two examples of users that drove the original development of this solution. But the solution isn’t limited to them. Any user of Oracle Cloud can realize the benefits of improved insight into their Oracle Cloud usage.
Many of the users I mentioned are existing users of a variety of Oracle products. With this in mind, I looked at what options are available to present usage and cost data using other Oracle Cloud services. This leverages skill sets that the users likely already have, and hopefully makes it simple to adopt.
An important feature of this solution is its flexibility. At its core, the solution is a Python script, because Python can run virtually anywhere, not just in Oracle Cloud or on Oracle Linux. The script downloads the usage data and formats it for import into another system. This system could be Oracle Database or any other data management solution into which usage CSV data can be imported. Here we are using Autonomous Data Warehouse (ADW) because of its security, ease of use, and resource allocation flexibility. Then, the data is available for a reporting tool. In this case, we are using Oracle Analytics Cloud (OAC) because it’s a managed PaaS with low maintenance overhead and a rich feature set available directly in Oracle Cloud. However, you can use any reporting, analytics, or business intelligence solution that supports your chosen data storage system.
Here’s a brief overview of the solution: its logical data flow and an example of the Oracle Cloud resources that could be used to implement the solution.
As part of its implementation, this solution should be placed in the area of the larger deployment that is set aside for “shared services” (in the same tenancy, compartment, and VCN). These are services that are used to manage the environment holistically and aren’t necessarily the responsibility of a single organization or cost center.
Following are some examples of what the resulting reporting data can look like, to help you get your costs and usage under control on Oracle Cloud.
This first report breaks down a multiple-tenancy environment and reports cost per tenant, region, and compartment for the month of August.
This report is a stacked graph that shows per-day usage across tenancies.
And finally, this report shows the most expensive services per tenancy.
With the script and just an hour of deployment, this solution immediately provides flexible views into your use of Oracle Cloud. Now you can focus on managing your applications instead of worrying about how you’re going to manage your costs.
The code and detailed documentation will be available soon, and this post will be updated to reflect links to that content. I will be demonstrating the deployment and use of this solution live at Oracle OpenWorld. Join me on Wednesday, September 18, 3:45–4:30 PM PT in Moscone South - Room 152A for Custom Cost Reporting Solutions for Oracle Cloud Infrastructure.