Clouds & the cloud computing are new buzz words all over the Internet.
Noble Desktop:
Currently, cloud computing is one of the most in-demand skills you can have on your resume. (January 2023)
NextGen Education Foundation:
LinkedIn reported that cloud computing-related jobs have a growth rate of 30% year over year, making it one of the fastest-growing jobs (March 2023)
Well, if you are on dev.to then you already known that it's not all just about a fluffy thing up in the sky. In the tech realm, "the cloud" is a beast of its own.
Short historical view
Once upon a time, back in the 1960s, a computer scientist named John McCarthy mused, "computation may someday be organized as a public utility."
Did he glimpse the future?
Yes, he did
But he didn't invented the cloud. And in my opinion, it's hard to say that cloud computing was really invented in the '60s (more like 70s), but if we need to point to a father, J. C. R. Licklider is our best bet. He was certainly dedicated to implementing the cloud computing concept with his work on ARPANET, connecting people and data from anywhere at any time.
Fast forward to the 90s and early 2000s, the internet became a landing place for applications and services. Modern business lives on the Internet or in "the clouds". This set the stage for the cloud's grand entrance.
In 2006, Amazon Web Services (AWS) introduced its cloud storage service. It marked the dawn of an era where the cloud was no longer a distant idea but a reality for businesses and individuals alike.
Since then, tech gigants like Google Cloud Platform and Microsoft Azure joined the market fray. The cloud, once a mere concept, has now become a cornerstone in the tech industry.
The iconic cloud symbol we often spot in diagrams became the namesake for this popular tech.
What is cloud computing in simple words?
How is it difftent from classic hosting for our applications?
Cloud computing refers to the use of hosting services such as: data storage, databases, networks or software over the Internet. Resources including memory and computing power are shared and available on demand in the amount user needs
and do not require user management (or require very little effort).
Traditional hosting is carried out on a single server. This is your space, manage it as you wish, install as you wish, remember to updated software, BUT if you exceed the limit, the application will be unavailable.
In the case of Cloud Services (cloud-based hosting), there is no predetermined number of servers assigned to our service. Software & many services are delivered and configured by default (or again require very little effort).
Imagine you're renting a single apartment in single building (**classic hostingat *) versus having the ability to instantly enlarge the area of the apartment, rent more apartments or reduce the number as needed in the same building or even diffrent buildings (cloud computing*). Classic hosting gives you a fixed space, while cloud computing is more flexible, allowing you to use more or less space and resources based on your needs.
Pros & Cons of Cloud Computing
PROS:
💰 Cost-Efficiency: You only pay for what you use, which typically means it's cheaper.
🤷 No Guesswork: No need to predict how much capacity you'll require.
🛠️ No Hardware Hassles: No need for your own equipment or data centers; low-level administration isn't your concern.
🌍 Global Reach: Launch a geographically independent application in minutes.
Quick Resource Access ⚡: Get more resources on-demand in just a few moments.
CONS:
💸 Potential Hidden Costs: While it may seem cheaper, unexpected charges can arise. Nightmar of developers, with scalability comes the price.
🔒 Security Concerns: Storing data off-site might raise security, privacy and legal issues. Clouds are generally secure this days, but there's always risk of a leak.
⏳ Downtime Risks: Relying on third-party providers can lead to unexpected downtimes - single huge AWS outage Dec 2021 caused outage of hundreds global services.
🎛️ Limited Control: Less control over infrastructure and software updates (this can be both a good and bad thing; it depends)
📡 Data Transfer Costs: Moving data in and out of the cloud after some time can be...crazy costly.
In the grand selection of tech, cloud computing is both a blessing for developers and business and a challenge.
Types of the Clouds
Public Cloud: This refers to cloud resources managed by an external cloud service provider. They offer computing assets like servers, software, and storage via the internet.
Private Cloud: This is a cloud solution dedicated solely to a single business or organization. It can be hosted on-site at the company's data center or by an external provider.
Hybrid Cloud: This blends both public and private cloud structures. Integrated technologies enable them to share data and applications. This setup offers businesses greater flexibility and a variety of deployment choices.
Public Cloud | Private Cloud | Hybrid Cloud | |
---|---|---|---|
Definition | Owned and operated by third-party providers. Examples: AWS, GCP. | Cloud resources used exclusively by one organization. | Combines public and private clouds. |
Characteristics | Resources shared among multiple users. Accessed via web browsers. | Resources not shared, offering more control and security. | Offers flexibility by moving workloads between cloud solutions. |
Use Cases | Web apps, development/testing environments, big data analytics. | Strict data security, regulatory compliance, infrastructure customization. | Keep sensitive data in private cloud, use public cloud for high-volume, less-sensitive data. |
Advantages | Cost-effective, no physical maintenance, high scalability. | Greater control, enhanced security, customization options. | Flexibility, more deployment options, optimizes existing infrastructure. |
Disadvantages | Might be less secure due to shared resources, potential latency. | More expensive, requires in-house expertise, limited scalability. | More complex to manage, requires |