Traditional software business models have been based on delivering installed software for up front license fees and annual maintenance charges, or more recently, subscription based software-as-a-service (SaaS). In recent years, the SaaS model has become prevalent, due partially to the expansion of mobile applications and pervasive broadband Internet infrastructure.
In both cases, software development models have been similar. Software development is typically accounted for as an operating expense in the year it is made. Less often, a portion of development expenses are capitalized and put on the balance sheet of the company (something known as “capitalized R&D”). Most of the capital expense of software businesses has gone to data center hardware and network infrastructure. On the operating expense side, cost of goods sold (COGS) includes third party software licensing fees. In the case of SaaS models, COGS also includes data center, networking, and hosting charges. Gross Margins, defined as Gross Profit (revenues less COGS) as a percentage of revenues are typically in the 90-95% range for traditional installed software businesses and 70-80% for SaaS businesses.
The cloud changes these numbers significantly. By cloud, we refer to application hosting through commercial Infrastructure as a Service (IaaS) providers, such as Amazon Web Services (AWS), Microsoft Azure, and the Google Cloud Platform. These providers combine application hosting on virtual machines and network services with a set of APIs and services that provide critical application services, such as storage and databases, analytics, load balancing and scaling, deployment and monitoring.
Higher level, Platform as a Service (PaaS) cloud offerings combine the characteristics of IaaS with programming language capabilities and built-in services and APIs, such as user authentication APIs and NoSQL data stores to create scalable applications and backends. Examples of these include: 1. Google App Engine, which scales web applications automatically, depending on load without the developer having to explicitly manage servers, 2. Microsoft Azure, which provides a full .NET programming capability, and 3. Salesforce.com’s Force.com, which allows developers to create multi-tenant auto-scaling applications that integrate into the main Salesforce.com application. Force.com applications are built using Apex (a proprietary Java-like language) and Visualforce (an XML syntax used to generate HTML UIs) and are hosted on Salesforce.com’s infrastructure.
These IaaS/PaaS providers supply a rich application hosting and support environment that can be used to build software services with global reach, high availability, horizontal scaling, and operational features to create a sophisticated cloud distributed product offering with very little up-front investment in capital expenditures (hardware and networking). Using this type of cloud-based environment, software companies can now focus on developing core software and services that maximize value to the customer and limit infrastructure investment. When combined with open source offerings that round out the services that are needed to build large scale distributed applications, SaaS providers can now strive for Gross Margins in the 80-90% range, similar to well-developed traditional installed software vendors.
This changes everything when it comes to building new SaaS based businesses, either startups or existing companies. Let’s look deeper at what the cloud means for developing and running a SaaS based business.
Traditional Software Development and Operating Model
Traditionally, the development of a new software product has required capital investment in hardware for the development team, servers on which to test and deploy the software, and in the case of SaaS businesses, data centers and networking infrastructure in which the software operates. The up-front investment can range in the hundreds of thousands of dollars for hardware and network infrastructure. Data centers, power, and HVAC are typically leased as an operating expense and accounted for as cost of goods sold, or COGS. The infrastructure required to support high availability, global reach, and horizontal scaling increases these costs. Support staff for data center operations, hardware, and networking support are also considered COGS.
At the application level, development may include proprietary mechanisms to support distributed operations, scaling, and availability/redundancy, which adds to development costs beyond core capabilities. While open source and third party software has reduced the amount of platform development for a new product, it can still be a significant part of the costs of developing a new product.
Operations costs include deployment of applications and configuration management of the server environments. In the SaaS model, load balancing at the network level is typically used to distribute load between multiple server instances. The provision of multiple servers for high availability, redundancy, and load balancing must be architected and deployed up-front, and explicitly managed by the operations team. The provisioning and configuring of new resources to accommodate a new customer are part of operating costs. The more robust the SaaS application, the more automated and instantaneous the provisioning process.
Cloud-based Software Development
Moving to the cloud using a commercial IaaS or PaaS provider changes much of the cost structure of developing and deploying SaaS applications. Up front capital expenses are reduced to providing development workstations (these can be relatively low cost desktops or laptops, given the power of today’s client systems). Internet access or office LANs can be leased or bought at relatively low cost. By using a cloud provider, capital expenses for server, data center, and network hardware turn into operating expenses on a pay as you go or pay for what you need basis. With today’s global cloud providers, such as Amazon, Google, and Microsoft, global reach and high availability are accessible to small software developers, such as startups.
Just as important, the availability of platform-based APIs, such as those found in Amazon AWS, Google Cloud, and Microsoft Azure, reduce the amount of development required, allowing software developers to focus on core application capabilities. This amplifies the leverage obtained from using open source and third party products. Table 1 shows some of the services that are available from these cloud platform providers.
Table 1. Some Common Services on Commercial Cloud Platforms
Once the application is deployed in a cloud environment, the support model changes as well. Where traditional SaaS providers needed to employ data center operations, hardware, and network support personnel, in the IaaS/PaaS world a smaller operations team is needed, mainly focused on applications support and operations. Some PaaS platforms, such as Google App Engine or Force.com, go even further, allowing automated scaling of applications in response to demand. This allows SaaS businesses to pay only for resources that are needed to fulfill demand and reduces the need to provision servers explicitly.
The Bottom Line
Comparing traditional SaaS development, hosting, and operations with cloud-based IaaS or PaaS models show the advantages afforded by the use of these platforms:
- Lower up-front capital expense
- Development expense focused on core application functionality
- Access to global reach, availability, and redundancy
- Scalable hardware and network infrastructure as an operating expense
- Smaller operations teams focused on applications support rather than infrastructure support
Table 2 compares the traditional and PaaS models and their impact on the bottom line.
Table 2. Comparison of Traditional and Cloud Based Models
A New Model for Software Businesses
The move to cloud based platforms represents a sea change in software business models. It lowers the barriers to startup SaaS businesses, allows more innovation at the application level, and shifts the focus to value-added development and away from me-too plumbing. Large businesses are benefiting from this trend as well: Netflix, Walmart, and Staples, are examples of large mainstream companies that have invested in moving much of their Web infrastructure to cloud-based platforms. Indeed, for many types of software businesses outside highly regulated verticals, such as financial services, this model is the wave of the future and should grow to be the prevalent model.
[Contributed by Rob Gurwitz, Strategy Consulting]