Over the past several years, the “cloud” went from being a buzzword to being the standard. In today’s day and age, the expectation is that information will be readily available anywhere, whether that be your personal data such as photos and messages or your favorite media, such as movies and tv shows. Instead of having to wait for DVDs to be sent to our houses, we can now watch practically anything we want anywhere, anytime, all thanks to the power of the cloud. But, do you know what the cloud actually is? Let’s find out!
What is Cloud Computing?
Here’s a cloud computing definition for you: cloud computing is the on-demand delivery of computer resources over the internet. In most cases, cloud computing features a pay-as-you-go model, which means that you only pay for the amount of compute resources that you use. Cloud computing enables customers (students, developers, companies) to access services such as storage and compute power without the need to buy and maintain their own servers. As a consequence of the customer not having to manage their own computer resources, customers are able to work from any location and deliver their product to anywhere and everywhere with ease. The advantages of cloud computing cannot be understated.
We know what you’re probably thinking: what are the drawbacks to cloud computing? Since cloud computing offers all these great benefits, there must be at least some disadvantages, whether it be the cost, difficulty of use, or something else entirely. Well, that’s partially correct—there are some disadvantages to cloud computing, but they have nothing to do with cost or ease-of-use! In fact, for the vast majority of cases, it’s significantly cheaper to use the cloud than it would be to purchase and maintain servers on-site. Furthermore, cloud providers usually offer various pre-configured servers that make it super easy to get started with product deployment.
When it comes to the cloud, there are three major drawbacks: control, security, and internet-reliance.
Control: you pay to use computer resources, but since you don’t own the system, you have no control over things such as system updates, scheduled downtime, or pre-set defaults.
Security: when you use the cloud, you’re sending all your precious data over the internet to a third party system. Make sure that all your data is always encrypted at rest and in transit!
Internet-Reliance: you don’t own the system and the only way you can access the servers holding your data or hosting your website are through the internet. Without internet access, you have no way of managing resources.
These considerations are very real—it’s tempting to always have complete control and access to your cloud computer, but it’s probably not something you truly need. Consider that corporations of all sizes, whether it be small startups or multi-billion dollar juggernauts, all use cloud computing even if they can’t have complete control and access to the systems they pay a lot of money to use. If all these companies, some in industries that have strict legal requirements regarding data handling and privacy, are able to use cloud compute resources, then you can too.
Cost, Convenience, and Control
Otherwise known as the 3 C’s of cloud computing, cost, convenience, and control define the cloud computing services landscape. When customers shop for a computing platform, they’re searching for a solution that minimizes costs and maximizes convenience and control. Let’s break these three considerations down.
In general, one of the best benefits of cloud computing is the cost-savings. This is true whether you’re a single developer working on a personal project or whether you’re a massive company working on a global platform—but costs may matter to the two of you for different reasons. A brief lesson on corporate budgeting: there are two kinds of costs: capital expenditures and operational expenditures.
Capital expenditures: large purchases of fixed assets to be used long-term
Operational expenditures: the costs to run the business on a day-to-day
In general, managers and executives don’t want to be associated with large costs (buying more servers for the data center) and so they have a large incentive to instead pay for things over time (pay-as-you-go compute services). By sheer coincidence, it would most likely be cheaper for a company to pay for cloud compute services anyways! And if you’re someone working on a personal project, it will probably always be cheaper to use the cloud than to buy your own server, especially with all the free options offered by services such as AWS, Google Cloud, and Microsoft Azure.
What’s more convenient than on-demand?!
Don’t know how to set-up a development-ready computing environment from scratch? Cloud services providers have tons of pre-configured options that you can use so that you can focus on your product and not on managing the underlying infrastructure.
Are you launching a product soon and are expecting a large number of visitors to your website? Don’t worry, most cloud services providers are able to scale the amount of compute power dedicated to you when required without any action needed to be taken on your part whatsoever!
Are you expanding to a new market? Cloud services providers offer services in different geographical zones that encompass the entire globe. With small configuration changes, you’ll be able to serve your product to people anywhere in the world at lightning speed.
Most of the time, people want to have as much control over their infrastructure resources as possible. With cloud computing, you don’t have as much control as you would if you had a physical server room—it’s not possible to walk up to the cloud and plug in a computer like you could do with an on-site server. Plus, if your internet connection is down, then you have no control over your cloud services at all! How do cloud services providers deal with these two issues?
Most of the time, you don’t need as much control as you may think you do. While it may be fun to tweak the infrastructure to be exactly how you want it, there are established industry standards that will most likely work for you out-of-the-box. But, that’s not to say that cloud service providers don’t offer products for people who want complete control (or no control) over their infra resources. In general, there are three types of cloud computing:
Infrastructure-as-a-Service (IaaS): basic building blocks of IT, but on the cloud. Infrastructure engineers are expected to build and manage the infrastructure to create the solution that will best support the company’s goals.
Platform-as-a-Service (PaaS): no need to manage underlying resources! Develop and deploy your application on the cloud and the cloud service provider will take care of capacity planning and software updates for the underlying infrastructure.
Software-as-a-Service (SaaS): no need to care about the underlying resources or services! All you have to think about is how you’ll use the software to achieve your objectives.
What are cloud services providers’ answer to the internet connectivity problem? In truth, they don’t need one: if your internet is down and your infrastructure was located in-house, then none of your customers would be able to reach your services! What would you prefer, to not be able to control your services for a few minutes or for your customers to not be able to use your services for a few minutes? For the vast majority of cases, it’s much better that the customers stay satisfied with the product at the cost of a little control.
Now that we’ve gone over all the benefits of cloud computing, you’re probably dying to get started working on the cloud. The great thing is that the cloud is finally mainstream—you can get started today! And, if you’re interested in working in the tech industry and creating cool cloud-powered products, then we think that there’s no better place to start than Ironhack’s bootcamps. We offer bootcamps for just about every role in tech, and there’s never been a better time to join the industry. Let’s learn to make the most of the cloud; we can’t wait to see you in class!