This Refcard will walk you through the basics, from where exactly clouds are located, to deciphering the differences between cloud service types (IaaS, PaaS, SaaS), and the key benefits you can expect to receive.
Table of Contents
Cloud computing as an idea encapsulates a wide range of business and consumer services. At its most basic, cloud computing refers to using resources over the Internet that are housed somewhere else in the world for specific purposes.
Interacting with a cloud service is usually done through a web browser or command line interface. There is usually no software to install, no hardware to set up, and no data center to rent space from.
Google and Amazon were two of the earliest to the field of cloud computing, soon followed by Microsoft. The portfolio of products offered by cloud companies has matured and evolved over time, and so has the competition. Firms such as IBM and Rackspace, among others, have joined the fray. The field of cloud computing now includes a myriad of companies all offering services. This card will focus on Google, Amazon, and Microsoft since they are the market leaders at the time of this writing, and have the most mature product sets.
Cloud computing can be broken down into three main categories: IaaS, PaaS, and SaaS. Each is discussed below in more detail.
Infrastructure as a Service is what people usually think of when discussing cloud computing. IaaS emulates the hardware that companies traditionally purchased to create internal and external networks. The chore of installing hardware and connecting it to physical networks has been replaced with the task of creating robust configurations. Almost every part of a traditional network is offered as a cloud service.
Examples
Benefits
Cons
Software as a Service is so common in the modern Internet age that it is almost overlooked as part of the cloud computing field. Software as a Service describes any Internet-based product that provides a specific set of operations. This includes everything from email to contact management.
Interacting with a SaaS product had traditionally been done through a web browser. This has been slowly changing with the ubiquity of mobile devices. Most SaaS products now include web and mobile device clients.
Examples
Benefits
Cons
Platform as a Service products has received less attention than their SaaS and IaaS siblings until recently. The power that a platform can provide is becoming much more appreciated in recent days, which has led to a boom in PaaS products. PaaS products sit in the middle between IaaS and SaaS. PaaS services allow customers to create a customized experience on top of an existing set of tools.
Examples
Benefits (similar to SaaS products)
Cons (similar to SaaS products)
The Cloud is shorthand to describe the huge interconnected network of servers designed to deliver computing resources without a sense of location. In other words, The Cloud feels to users like a giant formless mass of computing power that runs everything from email to mapping to mobile applications.
In business terms, there is no “The Cloud.” Cloud computing is really a collection of licensed services provided by different vendors. Cloud services take technology management and technology acquisition away, and replace it with products that are managed elsewhere and are only active when needed.
In order to better understand what cloud services provide, let’s compare cloud to other traditional technology location options:
Consumers and businesses use different cloud services with such ease and for so many purposes that clouds can feel very ephemeral. When you begin using cloud computing with vendors directly, you are very quickly reminded that geography does matter. Although it may be true that most applications can be reached anywhere, unless geography is taken into account, it will not be the same experience everywhere.
Cloud computing products are generally region aware. All providers will give you some control over where to locate your environments. The location and scope of a region will differ per provider.
The number and location of regions you need will largely depend on the scope of your application, network, latency tolerance, and SLAs. The particular services required will also impact the choice of regions. Not all services are available in all regions.
The biggest factor that often creeps into conversations about regions is latency. The amount of time it takes data and resources to travel from the server to the client can make the difference between an application being adopted or abandoned. An application serving static web content can probably be in fewer zones. The lighter data load means transit will be faster. However, an application serving large datasets should probably be located in the region closest to the user base. Larger data sizes traveling farther distances will accrue more latency.
Latency is an important factor for networks as well as applications. The number of hops that network packets need to take can quickly impact system response time. A load balancer can help with controlling traffic but if traffic has to go through several networks hops before hitting the load balancer, then the balancer’s impact is minimal. Consider network latency as well as application latency when choosing regions to host your network.
Amazon Regions (as of 3/2017)
Google Regions (as of 3/2017)
Microsoft Regions (as of 3/2017)
Cloud computing has evolved a lot over the last few years. What was once an external addition to business’ infrastructure has become an integral component. The concept of the hybrid cloud is a reflection of that evolution.
A hybrid cloud is one that integrates cloud resources with other on-premise, off-premise, and third-party resources. In most cases, these integrations are transparent to the user. For example, a local file server might host tomorrow’s presentation, but employees working on it are using Office.com’s cloud-based Powerpoint product.
Some cloud services even allow physical integrations to meet security, latency, and other business needs. Vendors often refer to these connections as connecting to a cloud’s edge. Amazon’s AWS Direct Connect, Google’s Interconnect, and Microsoft’s Express Gateway are all examples of this configuration.
Cloud company product offerings tend to be wide, specific, and designed to fill niches. Collectively, it is possible to run an entire organization’s technology stack on the cloud. The more common case is to use cloud providers to enhance existing pieces of infrastructure, or add pieces that are missing. Google, Amazon, and Microsoft all provide a combination of IaaS, SaaS, and Paas products for companies to pick and choose from.
The tables below attempt to identify the most widely applicable offerings in each of the big three that perform similar operations. Some of the categories may differ slightly as not all providers use all the same nomenclature. The table uses the category that matches the majority when there is a discrepancy.
Big Data and Big Data Analytics - Data warehouses and tools to analyze the data
And That’s Not All ...
Pay Only What You Consume
Until a few years ago, the costs of providing off-site services were similar to a leasing plan; a certain amount of allocated resources and an incurred cost whether such resources were consumed or not. Cloud computing as it's known today has changed this. The various offerings provided by all major cloud computing platforms function on a consumption-based plan. The use of services is charged based on the applicable resources of that service. For example, a virtual machine will incur cost based on the computing power used and the server uptime. Meanwhile, a data warehouse service might charge based on the amount of data stored and the frequency with which reports are run against it.
This pricing structure may seem convoluted, but it greatly benefits the customer. Cost incurred for use means companies of all sizes can use resources that would be cost prohibitive if they had to acquire all the hardware, software, physical space, and connectivity on their own. An on-premise data warehouse can be extremely costly. A cloud based, consumption priced data warehouse is much more affordable.
One Time & Alternative Pricing
Cloud services are often subject to traffic spikes due to one time events (e.g. National broadcast exposure, SuperBowl commercial, etc.). Not only can this type of provisioning be expensive, but oftentimes difficult to achieve.
Cloud computing platforms allow applications to access additional resources immediately and as needed without additional configuration..
In addition to peak and one time pricing, some services allow for other alternative pricing structures. One example is pricing that becomes cheaper after peak hours. If operations can occur when there is a predictable lull in resource use, such as midnight to early morning for that region, then those operations can sometimes be done at a cheaper rate.
Alternatively, if operations have very flexible usage requirements, then some providers allow customers to bid on access to resources only when they become available for however long they are available at a price calculated by current resource use. For example, a large batch process can be scheduled to occur when computing resources at that region become available for $0.x/minute due to transitory low usage windows until resource usage returns to normal or the batch process completes.
Finally, there is sometimes the option of dedicated resources. These are often the most costly of cloud resources. For some resources, such as disk storage or servers, it is possible to engage a lease type pricing model where a company pays for a resource to be dedicated only to them. This is useful for:
Mission critical applications, networks, and processes that cannot risk being affected by regular virtualization or co-hosted processes
Regulatory situations where the benefits of cloud computing are necessary but co-hosting would break regulatory requirements
Automated Growth & Scalable Technologies
Cloud resources are virtualized and configured for specific requirements but not a physical piece of hardware. This means that it is very easy to launch more of any specific resource needed by the company. If a customer is in a period of rapid growth, then the cloud can easily increase the amount of resources available without intense installation or configuration. This is also true in reverse. If a company needs to reduce cost, then turning off resources or using less of a resource does not require much effort.
Scaling is also extremely easy to do since cloud services can be as permanent or temporary as needed. An application designed for high usage on a cloud provider can easily scale from a small amount of used resource to a large amount without little extra configuration. The cloud service will often instantiate additional resources as needed, for only as long as needed.
Other Cloud Computing Providers
Amazon’s, Google’s, and Microsoft's cloud computing platforms may dominate the cloud computing space, but other providers have also emerged. Some of these providers include:
Openstack Public Cloud
IBM Cloud & BlueMix
Heroku
Many of these providers rely on industry standard virtualization and operating system technology making them competitive to the other cloud computing platforms. However, comparing these other providers to Google's, Microsoft's, or Amazon’s cloud computing platforms can be more difficult due to the maturity and robustness of the big three’s platforms.
Nevertheless, some of these other cloud computing providers have carved out niche markets in the cloud computing market. Some do so by adopting more aggressive pricing structures, catering to the specific needs of certain communities (e.g. Ruby/Rails, or Linux), or providing better customer service than their larger rivals.
Clouds Do Get Disrupted (Rarely)
Customers should hold their cloud providers to a 99+% uptime. Cloud providers are well aware of customer expectations on this point, and do everything to meet that threshold. However, if the mind-boggling number of hours that services are available is considered, then even a 1% downtime is likely to affect you. No technology is perfect.
All Cloud providers offer status pages so customers can be aware of any disruptions that occur:
Google Cloud Status Page:
https://status.cloud.google.com/
AWS Status Page:
https://status.aws.amazon.com/
Microsoft Azure Status Page:
https://azure.microsoft.com/status/
IBM Cloud Status Page:
https://www.ibm.com/cloud-computing/social/maintenance/
Rackspace Status Page:
Cloud Computing Team Blogs
In order to keep abreast on the latest offerings made by cloud computing providers, we recommend you consult each platform's team blog.
Google Cloud Platform Blog:
https://cloudplatform.googleblog.com/
AWS blog:
https://aws.amazon.com/blogs/aws/
Microsoft Azure team blog:
https://azure.microsoft.com/blog/
IBM Cloud blog:
https://www.ibm.com/blogs/cloud-computing/
Rackspace blog:
Thanks for reading ❤
If you liked this post, share it with all of your programming buddies!
Follow us on Facebook | Twitter
☞ AWS Certified Solution Architect Associate
☞ AWS Lambda vs. Azure Functions vs. Google Functions
☞ Running TensorFlow on AWS Lambda using Serverless
☞ Deploy Docker Containers With AWS CodePipeline
☞ A Complete Guide on Deploying a Node app to AWS with Docker
☞ Create and Deploy AWS and AWS Lambda using Serverless Framework
#cloud #aws #web-service #serverless #microservices