Many IT organizations, driven by the ever-increasing demand on businesses to provide products and services on the Internet, are finding themselves more often turning to Cloud hosting options for their solutions. There are several infrastructure service providers to choose from, but as is true for any project, picking the right tools for the job is critical for success.
When researching an internal project recently that required the need for a significant amount of additional infrastructure, I was able to review three primary Cloud-based, self-service infrastructure providers: Amazon, Microsoft and Google. While each one offers similar general capabilities, the method in which the services are provided varies greatly from one provider to the other.
For example, all three service providers offer compute resources. This is essentially a virtual machine (VM) container with a specific amount of CPU, RAM and disk storage. Where the differences come in are the operating systems and tool sets that are available. All three services provide support for both Windows Server and Linux platforms, but when digging into the details, such as which platforms are available as stock images, the possible development tools and the support structure in place for the environments, it becomes clear that not all platforms are equal.
Differences Between the Cloud-Based, Self-Service Infrastructure Providers
Given Google’s extensive development in the Linux world, it is not surprising that the default images available for use in the Google Cloud Platform are Linux-based and many of the tools promoted are open source or heavily influenced by community development.
On the Microsoft Windows Azure side, platforms revolve heavily around Windows, with Linux support becoming available only a few years ago and the tool sets being heavily influenced by Microsoft products. This makes sense given the amount of time they have invested in these tools.
Amazon, on the other hand, is predominantly known for its beginning as a book seller. Its Amazon Web Services (AWS) offerings grew out of a vision to provide services that could grow out of the online platform. This platform was becoming more robust and ever larger in order to support the company’s growth as it branched out into other consumer retail markets. While Amazon does not release specific information regarding its AWS infrastructure, it is likely based on a Linux/Unix platform, given some of the information gleaned about the underlying technology and hints seen in its documentation examples and resource materials.
With the length of time that the AWS platform has been in development and on the market, the infrastructure options provided to the consumer have very good general support for both the Windows and Linux platforms. Strong support from the developer community and user base have provided Amazon a large framework of tools, resources and experience to leverage in its offering.
I have to say that all the platforms provide great services and value. So where did my internal IQMS project end up? When I went into the research of which platform to choose, I was quite sure that Amazon AWS would not be an option. With both Microsoft and Google being leaders in compute technology and having many years of experience in the technology market, one of them seemed like an obvious choice.
Having given each solution what I considered a fair review, much to my surprise I ended up choosing to go with Amazon AWS. Ultimately, the decision came down to the:
- Information I discovered in researching the history of AWS
- Number of years that AWS has been in the infrastructure business
- Strong ecosystem that has grown up around AWS
- Number of tools integrated into the environment for management of all aspects of the solutions in use
- Extensive support documentation
- Ability to customize and deploy images
- Ability to manage complex infrastructures
- Flexibility to work on either Windows or Linux without a perceived bias on the platform used
Amazon defined a market for cloud resources and while I knew this was the case, I did not expect the depth of experience that they had developed.
In the end, selecting an infrastructure service provider comes down to understanding the application and knowing what tools are needed. Take the time to research your targets and just like me, you may be surprised by the options that are available to you and where you end up landing.