In the spirit of the Fourth of July, I wanted to take a little bit of time to talk about freeing yourself from the system administration and high overhead costs that come with hosting your own server hardware and infrastructure. Ever since the creation of the first websites and database applications, the same conversations have always happened. First the development team creates hardware requirements, which are given to the infrastructure team to be reviewed, discussed, debated, and – eventually – allocated. If there is an existing server with enough space to accommodate the request, the requirements may be minor – but more often, a new piece of hardware must be acquired and installed to handle the new application requirements. This process can take days to get approved, weeks to procure the equipment for, and months to finally get fully installed and integrated. As you might imagine, this can get very costly, due to loss of productivity by development resources as well as the increased burden on the infrastructure team to keep up with security patching and system upgrades. The increased burden has led to companies looking for other options to help their overwhelmed teams, which has led to the creation and growth of the Cloud Services sector.
What are Cloud Services?
According to Microsoft, “cloud computing is the delivery of computing services – servers, storage, databases, networking, software, analytics, and more – over the internet.” Cloud services providers can help supplement your current on-premises resources in three major ways, each with their own unique quirks: Software as a Service (SAAS), Platform as a Service (PAAS) and Infrastructure as a Service (IAAS). Each type of service, as explained below, requires its own particular type of effort when it comes to administration of internal services. We start with the services that take the least amount of effort and continue to the most.
Software as a Service (SAAS)
Software as a Service (SAAS) allows a company to pay a certain dollar amount per user per month (or per year) to license a particular piece of software to be delivered over the internet. Microsoft Office 365 uses this model for productivity software, Dropbox for storage, Zendesk for HR systems, and so on. This level of service offers the least amount of server admin access, and depending on the type of asset being purchased, your company’s data might be available only so long as continuity of service is maintained. For example, if your company relies on Dropbox for data storage and they have an outage, you will not be able to restart servers or services – you’re dependent on Dropbox to fix the issue. An advantage to this is that often the software that is purchased is hosted online and does not have to be downloaded on to individual computers or tablets, thus freeing up space on local hard drives and servers.
Platform as a Service (PAAS)
Another way to consume cloud services is by using a Platform as a Service (PAAS). This type of service gives an end user access to a platform on which they can create any number of different applications or services. For example, Microsoft Azure Analytics Services, Amazon Web Services Elastic BeanStalk and Google’s App Engine are examples of PAAS offerings. These services allow a company’s IT admins to select certain services, which are then created in a virtualized environment, which gives the company greater access to operating system settings and a greater ability to troubleshoot issues compared to SAAS. The pricing model associated with this type of offering tends to be based on usage, with hourly rates attached – but they can be easily turned off when not in use.
Infrastructure as a Service (IAAS)
The final way to use cloud services is via an Infrastructure as a Service (IAAS) offering. IAAS gives a company and its administrators the greatest level of control over the service’s environment and performance. Examples of IAAS include Microsoft Azure Virtual Machines, Amazon Web Services Virtual Networks, and Google Virtual Machines. The largest downside to using IAAS is the fact that all security patching, server updates, and networking must be handled by the end user. Cost with this type of service are often based on monthly rates.
Benefits of Cloud Services
Cloud services can have many benefits, but for this blog we will focus on cost, ease of deployment and the enhanced flexibility and administration.
Cost is an important consideration when evaluating any new technology. Yet, we find that attempting to compare the costs of cloud services with their existing on premises architecture “apples to apples” often leads clients astray. In our experience, most applications use only a small percentage of an on premises server’s resources and thus a majority of the server’s resources go unused. We have found that by looking at the resources actually used by a client’s current applications over time, we can usually suggest a smaller, better-performing, and more cost-effective server to fit their needs.
Ease of Deployment
The next advantage of cloud services is ease of deployment. In our earlier example, a request for a new on premises development server could take weeks or even months to get approved and installed, but by acquiring the same services through the cloud, the same services – including databases, virtual machines, web front ends, and complex analytical tools – can be accessed near-instantaneously with a click of a mouse. Most cloud services take between 5 and 15 minutes to provision, meaning a developer can be off and running using standard tool sets or new state-of-the-art technology for proofs of concept in little to no time. Instead of installing bulky software or changing security settings to allow for a program to be installed, by using cloud services companies can keep their development teams active and producing instead of creating down time waiting on server resources to complete their tasks.
Enhanced Flexibility and Administration
Finally, and I feel most importantly, working with cloud services provides a much greater degree of flexibility from the administration point of view. Cloud services give a company’s IT administrator the ability to scale their assets and infrastructure up or down using either a web front end or PowerShell commands. Having multiple options allows for administrators to be prepared to help eliminate the possibility of downtime due to abnormally high demand on an application. This same flexibility is also what allows a company to control costs by more effectively deploying smaller resources for smaller workloads. Additionally, most of the major cloud services providers have security features baked directly into their offerings, making securing assets incredibly easy and time efficient.
The benefits and ability to mix and match service types have led to an explosion in the variety of cloud services currently in use by businesses across the globe. Each of the big four in the technology sector – Microsoft, Oracle, Google, and Amazon – have all dived head first into trying to grab the largest possible share of the market. Each of these providers have similar offerings, though their cost structures vary – and there are many other providers out there as well. The broad range of available options in the cloud services space can easily present an overwhelming amount of information, which can lead to confusion. But we can help you with that. If you are looking to free yourself from server upgrades or purchasing expensive hardware that eventually becomes under-utilized and outdated, then please reach out to us at [email protected]. We would love to help you through the transition from self-hosted to cloud-hosted architecture and would be happy to discuss the additional benefits and potential pitfalls that are often overlooked in considering a cloud-hosted service to meet your application or data needs.