If you are taking your first steps towards cloud adoption, determining your approach to Cloud Application Infrastructure could be daunting. Don´t be scared. There is a lot of terminology relating to cloud computing that is going to seem alien to you, as it did to practically everyone who has taken this path before you. Our aim is to guide you along the path towards cloud adoption, explaining the terminology as we go.
In this particular article, we’ll explain how we got here in the first place, and then follow through cloud infrastructure and Infrastructure-as-a-Service before arriving at cloud application infrastructure. It is not a long or difficult journey; but, if you already have an understanding of cloud infrastructure and would like to skip ahead, please do not hesitate to click on any of the links below:
- How We Got to the Infrastructure as a Service Model
- A Quick Tour of Cloud Infrastructure
- How to Go About Building Applications for the Cloud
- Important Considerations to Keep in Mind
- Controlling Cloud Application Infrastructure Costs
How We Got to the Infrastructure As a Service Model
Back in 1951, the first computer built in the U.S. for commercial purposes – rather than for war-time purposes – was the UNIVAC 1. Costing the equivalent of nearly $10 million in today’s money and weighing 16,000 pounds, the processor for the computer occupied 382 square feet of floor space. Over the next three years, its manufacturer – Remington Rand – sold forty-six UNIVAC 1 computers to customers such as General Electric, U.S. Steel, and Pacific Mutual Life Insurance.
As technology advanced, computers became less expensive; but not so much that many businesses could afford to own one. Timesharing – in which businesses shared the cost of a computer or rented compute resources from a larger business – developed throughout the 1960s; during which time packet-switching technology led to the first networks being created. Emails followed in the 1970s, TCP/IP protocols were adopted in the 1980s, and the World Wide Web was made publicly available in 1991.
Early adoption of the Internet was slow – fewer than three hundred websites were launched in the first couple of years – but, as more consumers got access to the World Wide Web, businesses saw the advantages of having a web presence. This led to the “dot com boom” of the late 1990s and the mirror boom of data centers – huge facilities that could supply fast Internet connectivity and a range of solutions for systems deployment and operation.
Further demand was placed on data centers in the 2000s as consumers developed a taste for Internet-enabled smartphones. Virtualization – the ability to divide server resources between different applications – resolved the issue of limited physical capacity by creating a scalable system of multiple independent computing devices. This resulted in the more efficient use of resources, an acceleration of IT operations, and a reduction in costs.
Due to the economies of scale that could be achieved by large-scale operations, many businesses migrated from on-premises data centers to “the cloud”. Cloud Service Providers, such as Amazon Web Services, Microsoft Azure and Google Cloud Platform, now offer complete infrastructures that businesses can rent with the click of a mouse. Effectively, the cloud is the new timesharing of the 1950s, only with more flexibility, greater ease of use, and seemingly unlimited opportunities.
A Quick Tour of Cloud Infrastructure
The term “Cloud Infrastructure” relates to a virtual infrastructure that is accessed via a network or the Internet. The virtual infrastructure includes every component a business would have in an on-premises, physical IT infrastructure (servers, networks, processors, memory, storage, etc.) but without the capital expense of ownership. Because components can be rented “on demand”, cloud infrastructures are more flexible and scalable – and have lower maintenance overheads – than physical IT infrastructures.
Most businesses take advantage of the Infrastructure-as-a-Service (or IaaS) model offered by Cloud Service Providers. This model not only provides access to the individual components of a virtual infrastructure, but enables businesses to make use of services such as monitoring, load balancing and clustering. The IaaS cloud infrastructure model also helps businesses in regulated industries meet their compliance requirements by offering top level security, storage resiliency and disaster recovery services.
Choosing between Cloud Service Providers can be difficult, as most offer similar services at similar price points:
- Amazon Web Services (AWS) is the largest Cloud Service Provider as it was first to market (in 2006) and was able to achieve larger economies of scale faster than its market competitors. As well as being the driver in cloud infrastructure pricing, Amazon provides a wider choice of regions (to minimize latency) and offers a substantial number of developer APIs.
- Microsoft Azure is the next big player in the market, and benefitted from an existing customer database when it launched its Infrastructure-as-a-Service model in 2010. One of the major advantages Azure has over other Cloud Service Providers is it specifically designed to work with existing Windows servers – a benefit for businesses that want to operate hybrid clouds.
- Although last to market of the three biggest Cloud Service Providers (in 2013), Google Cloud Platform grew quickly due to its per-minute billing, faster boot times and higher IOPs delivery speeds. Google also benefited from Microsoft´s reticence (until 2015) to support Linux operating systems and provides a competitive range of developer APIs via its G-Suite brand.
It is not necessary to pay for an entire cloud infrastructure in order to benefit from the cloud. If a business already has an application ready to run, use containers to release the application via the Internet (the Platform-as-a-Service model). If a business wants to build applications – but not necessarily pay for an entire cloud infrastructure – it can purchase Virtual Servers with the compute, memory and storage specifications to meet the applications´ requirements (the Infrastructure-as-a-Service model).
How to Go about Building Applications for the Cloud
Cloud application infrastructure comes into the picture when the discussion changes to how to go about building applications for the cloud. This is because it is important to plan ahead and know what infrastructure components you are likely to need in order to avoid the under-performance of the application or overprovisioning (paying for too many – or too large – components for what is required). Overprovisioning results in the business unnecessarily paying more than it has to.
Although component sizes can be changed retrospectively, the deployment of virtual servers and cloud containers happens so quickly, the retrospective “rightsizing” of resources is frequently over-looked. Often, it is only when an application crashes, or the business receives an astronomical cloud bill, that the deployment of resources is reviewed. This can be a time-consuming process, so it is better to build applications right the first time – even if it takes a little longer.
The first thing to remember is that applications are best deployed as collections of cloud services, and therefore each application should be designed with specifications for the other services or microservices with which it will be integrated. This means it is important not to couple data too tightly to the application, as the cloud works more efficiently when cloud application infrastructures break out processing and data into separate components.
Breaking out processing and data into separate components may result in communication issues, so this consideration has to be taken into account in the construction of the cloud application infrastructure in order to avoid latency. However potential communication issues are addressed, it is important to also consider how the application will perform – and communicate – with an increased load. Although containers can quickly be deployed to cope with increased loads, this may introduce security issues.
Security issues are not exclusive to cloud containers. Security is often an afterthought when building applications for the cloud. A best practice to avoid security issues is to design an appropriate security system – one that is appropriate for the type of application being built (i.e. one that will address any compliance or data-level security issues) – and integrate it into the cloud application infrastructure. Thereafter, your cloud application infrastructure will make security systematic to each application.
Important Considerations to Keep in Mind
The adoption of the cloud is a big journey. It is one that can be taken in baby steps by migrating resources from a physical environment to a cloud environment little-by-little. However, before even starting to worry about building applications for the cloud and designing the correct cloud application infrastructure, there are several important considerations to keep in mind before taking the first of those baby steps.
What Do You Own in the Cloud?
This is a gray area. Most experts agree that applications created by a business remain the property of the business, but not necessarily the data it collects. This may vary according to Cloud Service Providers´ policies (so read and fully understand their Terms of Service before agreeing to them) and whether or not a regulatory-compliant service is being used to collect, process and store data.
Application and Data Security
The issue of security was previously discussed with regard to cloud application infrastructure, but should be at the forefront of strategy planning in every element of a cloud migration. There have been recorded instances of cybercriminals exploiting vulnerabilities in inadequately protected virtual servers to deploy malware and cryptocurrency mining software.
Resource Backups and Failure Tolerance
Most Cloud Service Providers have systems for backing up resources to be used for restores or disaster recovery when necessary. In the case of virtual servers, back-ups take the form of “snapshots” and are usually added to a storage allocation. Businesses should be able to access their data 99.9% of the time, as backups are distributed across servers and data centers.
Keep Costs Under Control
At least 30% of all the money businesses spend on cloud computing is wasted due to overprovisioning and because non-production resources (i.e. those used for development, testing and staging) are kept running when nobody is using them. Migrating to the cloud can be more financially viable than maintaining a physical IT infrastructure, but only if costs are properly kept under control.
Maintain Visibility of Your Cloud Accounts
One of the best ways to prevent security issues, schedule backups and prevent an escalation of costs is to implement a cloud management solution. There are many types of cloud management solutions with varying functionality, but in general they combine the monitoring tools provided by Cloud Service Providers to give you total visibility across your cloud accounts in order to enforce accountability and maintain governance.
Controlling Cloud Application Infrastructure Costs
There are multiple cloud management solutions available to prevent security issues, schedule backups and control cloud application infrastructure costs; and the key is to choose one that is cost-effective at achieving your objectives. Alternatively, the money saved by migrating to the cloud could be forfeited in an attempt to maintain visibility of the business´s cloud activities.
Here at ParkMyCloud, we believe we have the most cost-effective solution to achieve most businesses´ cost control objectives. Our cloud optimization  software enables businesses to automate the manual process of switching off non-production resources when they not required – saving up to 65% – and provides a single view of infrastructure that can help users identify overprovisioned and unused “zombie” resources.
ParkMyCloud also integrates seamlessly with the CloudHealth Technologies platform to maximize governance via policy-driven automation. CloudHealth can be configured to identify an imbalance in a cloud application infrastructure, a backlog of excessive backup snapshots, and security issues such as excess bandwidth use (a typical sign of malware) or excess resource use (a sign of cryptojacking).
To find out more about ParkMyCloud and its integrations, do not hesitate to contact us. Our team will be happy to discuss your current cloud strategy and offer you the opportunity to try ParkMyCloud for free. Whether you are contemplating a migration to the cloud or are already a mature cloud user, we believe we have the tools to minimize cloud application infrastructure costs and optimize your cloud.