There can be little doubt cloud computing has revolutionized the way digital services are delivered over the last decade, greatly reducing initial costs and time to market. Web Services, APIs, and backend databases can be provisioned in an instant, helping to release software faster.

It’s the back office though where change is truly noticed.  Gone are the server rooms consuming space, power, and a maintenance crew.  Everyone from the CFO and CTO through to DevOps engineers are grateful to no longer be managing physical assets, and more time can be spent delivering service to customers.

Though when it comes to cloud costs, things can balloon in unexpected ways, especially with Infrastructure as a Service (IaaS), where virtual machines are provisioned and charged through monthly metering.  

Read further on how this can be mitigated, particularly through choosing other types of cloud computing: Software as a Service (SaaS) and Platform as a Service (PaaS)

 

Pay As You Grow

All IaaS providers make it easy to provision servers.  A 1Gb Linux server can be deployed in minutes on Digital Ocean for $5 per month – a remarkable testament to the power of the cloud.  The initial project cost is quickly determined from the price list by simply adding up the number of test and production servers required.

As more customers and users are acquired, the size of the virtual machine estate will grow.  Hopefully, revenues also increase in line so that everything matches and scales nicely.

But sometimes, these monthly cloud costs grow faster than expected.  For all its flexibility, IaaS still leaves a lot of responsibility with the service provider, in a way that other PaaS and SaaS do not.

 

Metering Mania

The heart of IaaS billing is the principle that resource use is metered and you only pay for what you use.  Cloud pricing usually consists of a long laundry list of items, often measured in a variety of units: per hour, per megabyte, per kilobit, per piece.  

Careful capacity planning is required to make sure the expected usage of your service matches these accumulating unit costs.  For example, network bandwidth is a critical resource for every cloud service and you will need to pay close attention to how it is billed.

Different cloud providers have vastly different pricing models. Digital Ocean, for example, has a pool of bandwidth based on the total number of virtual machines provisioned and counts inbound, outbound, and intra-VM traffic against that pool.  

Amazon AWS on the other hand has free inbound and intra-regional transfer in most locations and only charges for outbound traffic.  As of June 2021, AWS is priced at $0.09 per GB outbound, so these costs may mount if there are unexpected surges in your traffic.  

 

Costing Security

Another area of surprise for some companies has been the additional costs of securing their cloud configuration.  IaaS providers typically offer a Virtual Private Cloud (VPC) where all the virtual machines and other resources are placed.

Application servers are only a subset of the overall IaaS requirements.  Once you go past a handful of virtual machines, there will be additional resources like load balancers, firewalls, VPNs, bastion ssh access, and more.  Each of these will be metered in the usual way, and add to your overall cost.

If you have a particularly complex virtual machine architecture, you may also end up needing to outsource the security and configuration management to a third party.  This can be a painful additional cost if it only comes to light after the project has begun.

At this point, it should be clear that IaaS still demands a lot of expertise and responsibility to manage.  Some of this pressure can be relieved by using low code platforms such as Kaholo, which allows you to easily automate infrastructure, using a visual approach.  

 

Service, not Software

Over the last decade, the biggest revolution in digital service delivery has been the wide availability of SaaS for every imaginable task.  

Take CRM as an example.  Not too long ago, companies would buy a software license, configure the system on virtual machines, integrate the platform to sales channels and invoicing systems, and employ teams of people to operate the whole thing. The shift to virtualization did nothing to stem the costs. 

Now you can buy CRM SaaS like Salesforce, HubSpot, and others which contain all the functionality you need.  The pricing of these services is typically based on usage such as the number of seats, CRM records, monthly emails sent, and other service-oriented transactions.

You simply have a monthly fee, related directly to your business needs instead of all the underlying components and people costs.

 

Specialist Expertise

To some extent, hidden costs associated with deploying virtual machines in an IaaS environment can be overcome by forward planning and designing the configuration carefully.

There is, however, a fundamental component that cannot be avoided.  With IaaS, you are still responsible for every aspect of software development, configuration, and deployment.  This requires a team of specialists covering areas such as web development, networking, security, and database management.

As a business, you will want to consider carefully which parts of your architecture are unique to you, and which tasks are common, out-of-the-box that just need to work reliably.  You can then concentrate the bulk of your people onto those unique elements, and use SaaS solutions for the rest.

 

Day to day operations

Let’s consider one major area where a SaaS solution can substitute both labor and IaaS.  Typically, your VPC will be managed by a DevOps team.  They carry out many tasks, but we’ll use the example of a database that needs monitoring and storage increases when it reaches a certain limit.

DevOps deploy a vast array of tools to monitor the virtual estate and then carry out remediation work when errors are detected.  Monitoring is often done by creating a dedicated DevOps VM cluster. Of course, this also adds another hefty chunk into the monthly cloud bill.  But it doesn’t stop there. 

Once the DevOps cluster detects that the database has reached the threshold, an alert will be raised.  An engineer then has to locate the component and manually increase the storage using the IaaS console.

Multiply this by the hundreds, or even thousands, of daily tasks and it’s easy to see how monthly costs mount up. 

However, a new breed of low-code platforms, like Kaholo, can do this automatically.  We automate many common DevOps tasks and integrate seamlessly with major cloud vendors as well as on-prem environments. All-inclusive pricing removes hidden costs. 

 

Low Code, Low Cost

Low Code platforms offer both the flexibility of designing custom applications and the certainty of cost. Workflows are created directly inside the browser using visual tools and deployed at the push of a button. This works especially well in DevOps where there is typically a wide range of standard components that need to be integrated into a custom pipeline.  

Continuing the example above, using the auto-remediation capabilities of a low-code platform, you can create a workflow to monitor a particular database, set a policy limit on storage threshold, and define a remedial action such as increasing the disk space of the managed database.

This workflow can be created in minutes and the platform connects directly to your VPC. Once set up, the monitoring and remediation work is completely automated. No dedicated DevOps clusters required or manual engineer interventions, just a simple monthly fee.

With a platform like Kaholo, your workflows are represented by visual process maps and an intuitive dashboard displays the status of automation tasks.  It’s much simpler for your teams to troubleshoot and debug applications, and has no hidden costs.