WONDERS OF CLOUD COMPUTING
INTRODUCTION:
In the fast-paced digital era, cloud computing has revolutionised the way businesses operate and individuals interact with technology. Cloud computing offers a scalable, flexible, and cost-effective solution to store, manage, and access data and applications over the internet.
Embracing cloud computing has become essential for modern enterprises. In this blog post, let's dive into the fascinating world of cloud computing, its benefits, challenges, and its impact on various industries.
Traditional Data Center:
A physical space where organisations keep the computer systems and related hardware required for their websites, applications or IT infrastructure is called as Traditional Data Centre. So a data centre is all about big computers and related hardware that are required to run a website or an app. You can add more systems and hardware based on the growth of your company.
Why Cloud Computing?
The challenges that are faced by the industries paved the way to move to a solving storm called Cloud Computing. Let’s have a look on the core challenges.
Cost!. Cost is a major challenge with the traditional data centre because setting up a data centre needs a huge upfront investment in building hardware, cooling power, ventilation equipment etc. You will have to spend a significant amount on the maintenance as well.
Capacity planning!!. They should always be ready to meet their demand and it's hard to predict the actual hardware requirement. If businesses grow five times, we need five times more servers. If businesses grow eight times, we need eight times more servers.
Also, if it does not grow at the expected rate, you will have extra servers. Due to this unexpected demand. Most of the time we end up over provisioning the servers. That leads to a waste of computing, space, cooling, electricity, etc. With everything running at once.
Staffing and technical skill sets!!!.So to monitor the data canters and troubleshoot them during any issue, we need skilled staff, which further leads to additional cost.
And that's where CLOUD COMPUTING comes to rescue us, because hosting applications and storing data has now become handy as you do not need to spend on physical space and maintain it regularly.
You can get compute, storage, database and network on demand without having to worry about setting up and maintaining data centres.
What is Cloud Computing?
Cloud computing, in simple terms, refers to the delivery of computing resources over the internet, allowing users to access and utilize services such as network, database, storage, processing power, and applications without owning and managing physical infrastructure.
Key Features Of Cloud Computing:
On-Demand Self-Service:
Users can access and provision resources automatically without human intervention, empowering them to scale up or down as needed.
Resource Pooling:
Cloud providers consolidate computing resources to serve multiple users simultaneously, optimizing efficiency and utilization.
Broad Network Access:
Cloud services are accessible via various devices with internet connectivity, including laptops, smartphones, and tablets.
Measured Service:
Users pay only for the resources they consume, eliminating the need for upfront investments in hardware and software.
Rapid Elasticity:
Cloud systems can swiftly scale resources in response to varying demands, ensuring seamless performance during peak periods.
Cloud Deployment Models:
Cloud Deployment models play a crucial role in determining how resources are provisioned, managed, and accessed in the cloud environment. Different organization has different requirements, they want different levels of control in their cloud infrastructure. Hence Cloud Deployment Model is essential. They are of three types.
Public Cloud:
A public cloud is a cloud computing infrastructure maintained and operated by a cloud service provider. Some of the public Cloud Service Providers (CSP) are Amazon Web Services, Microsoft Azure and Google Cloud. In the public cloud computing model, cloud services such as compute, storage, database and network are available over the Internet and anyone can access them.
Private Cloud:
When a cloud computing infrastructure is available for a certain organisation and to their internal people only, this is called private cloud. Private clouds are more expensive than public cloud, as huge upfront capital is required to set them up and maintain them.
However, private clouds are better for organisations that want to run their mission critical applications from their private data centre due to security reasons.
Hybrid Cloud:
As the name sounds it is a combination of private and public cloud. A hybrid cloud is a cloud computing infrastructure that benefits from both the public and private models and enables organizations to use both.
In other words, a hybrid cloud combines a public cloud and a private cloud to allow data and applications to be shared between them.
Key Concepts In Cloud Computing:
As a cloud learner, we enthusiasts must know few key concept terms that would come in and around throughout our learning journey. Those are Scalability that includes vertical and horizontal scaling, Elasticity, Agility, High Availability and Fault tolerance.
Scalability:
Scalability is the ability of the system to scale. In this case, scaling is a process of increasing or decreasing the compute power.
Think about the BIG BILLION DAY that would happen in e-commerce. When more people access particular application, it will require more computing power, which is nothing but CPU and memory to serve all the users.
So you we have to scale up this virtual machine by increasing its computing power. If you decide to increase the size of your existing virtual machine, you are moving along the vertical line, which is why this is called vertical scaling and increasing the size of resources called scaling up. If you decrease the size or power of the machine, this is known as scaling down.
Instead of increasing the size of your virtual machine, you can also scale up your resources by adding more virtual machines to your infrastructure. In this case, we are moving along the horizontal line. Hence, this type of scaling is called horizontal scaling. If you increase the number of your virtual machines, this is called scaling out. And if you decrease the number of the virtual machines, this is called scaling in.
Elasticity:
The ability to scale the virtual machines dynamically based on the demand of the application is known as Elasticity. If suppose the load of an application varies during the day and night, where we need more resources to handle the morning traffic and less in the night here Elasticity plays its role taking care of the load as required. If this process is done automatically it is called as AUTOMATIC SCALING.
Recommended by LinkedIn
Agility:
Agility's equivalent meaning is, ability to react soon. In order to achieve scalability and elasticity, rapid way of spinning up virtual machines is essential. In case of traditional data centres this would take days, weeks or even months. Well in cloud this would take minutes and not to be surprised at times within few seconds it would be done.
High Availability:
So high availability is the ability of a system to operate continuously without failure for a designated period. If suppose an application needs to be available for the users whilst same application needs to undergo upgradation, never expectation can be kept for the users to wait. Parallel way of handling this scenario is done in cloud by running same application on two VMs making high available for the users.
Fault Tolerance:
Tolerance means the ability of a virtual machine to remain up and running during component and service failures. Fault Tolerant refers to the ability of a system, computer network, storage, etc. to continue operating without interruption when one or more of its components fail.
Benefits of Cloud Computing:
Cost Savings:
Cloud computing eliminates the need for costly on-site hardware, maintenance, and upgrades. Organizations can pay for services on a subscription basis, optimizing their IT budget and reducing capital expenditures.
Scalability and Flexibility:
Cloud services can be easily scaled up or down based on demand, enabling businesses to adapt quickly to changing requirements. This flexibility allows for efficient resource allocation.
Enhanced Collaboration:
Cloud-based applications foster real-time collaboration, allowing teams to work together seamlessly, regardless of geographical barriers.
Security and Data Backup:
Reputable cloud service providers implement robust security measures and data redundancy, ensuring data protection and disaster recovery.
Accessibility:
Cloud services can be accessed from any device with an internet connection, enabling remote work and improving productivity.
Cloud Service Model:
As per the business requirement, cloud provides three main service models they are:
Infrastructure As A Service or IAAS .
Platform as a service or PAAS.
Software As A Service or SAAS.
Let’s take a metaphor of car to understand the service model in an interesting way.
IAAS:
Infrastructure As A Service is nothing but leasing a car. Color of the car, specification, performance should be reviewed well before the lease. Set of computing resources, networking, storage resources that have been virtualized already. As an application developer, we don't have to worry about the underlying core services and the team can now focus on the things that matter the most for your application.
PAAS:
Platform As A Service is all about renting a car. There’s no way we need to care about the color of the car, but paying for toll and gas should be handled. Just like that in this model, cloud providers will take care of runtime, middleware, and operating systems, along with the core services like networking, storage servers and virtualisation. It provides even more flexibility to the application development team so they can focus on application development, deployment and management.
SAAS:
Software As A Service is same as Uber or Taxi, where for everything we already pay, taking a ride is the only thing we do. Organisations will provide complete software that is developed and managed by a third party provider. It means cloud providers will be responsible for everything that is required to develop and deploy an application in SAAS offering.
Conclusion:
In conclusion, cloud computing has undeniably transformed the technology landscape, ushering in a new era of flexibility, cost-effectiveness, and global accessibility. From large enterprises to individuals, cloud services have become an integral part of modern life, empowering users to harness the power of the virtual realm. As technology continues to evolve, cloud computing is set to remain a driving force behind innovation, propelling us towards a more connected and efficient future.
P.S. If you read till the end, Thank You.
The article is part of the AWS Mastery (Become AWS Expert) by Pravin Mishra
For more AWS related content please visit the website.
Your welcome to help other cloud enthusiast to learn AWS by sharing the link AWS-MASTERY and joining our upcoming batch.
Very well-written Krithika! It is a perfect blog on cloud computing fundamentals and their impact.
Congratulations Krithika Priyadharshni on your first blog! Indeed a beautiful presentation crafted. Looking forward for such posts. 👏