#100DaysOfCloudDevOps Challenge — Day 01 — An Introduction to Cloud Computing & DevOps
Welcome to Day 01 of my #100DaysOfCloudDevOps challenge!
In this article, I'll share my understanding of Cloud Computing and DevOps.
What is Cloud Computing?
Cloud computing means getting computer services, like virtual machines, storage, databases, and network connection, without having to own the physical machines or owning servers in a datacenter. It's all done over the internet.
With cloud computing you don't have to worry about the physical infrastructure, the electricity to run those servers, the security or other factors related to maintaining a datacenter. Instead, you pay for what you use. To explain it in another word, cloud service providers let you rent their resources or services, for the time that you need them, so when you're done using these cloud resources, you return it back. Then you will only billed for what you use.
What are the Cloud Service Models?
In cloud computing cloud service models are the different ways to get, rent, or use the cloud resources. These are the three main models:
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Software as a Service (SaaS)
Infrastructure as a Service (IaaS) is like renting the hardware or physical machine that is located at a cloud service provider datacenter.
Platform as a Service (PaaS) is for developers who would like to rent a platform so they can just focus on building and running their software, without having to worry about the physical infrastructure, physical security, and connection to the internet.
Software as a Service (SaaS) is for end users using a fully-developed app or software that is available to use through a web browser. This can be email, finance and expense tracking software, business productivity applications and messaging applications.
What are the Cloud Deployment Models?
Cloud deployment models refers to variety of ways to deploy, setup or use the cloud resources. These are the primarily types:
Public Cloud: This is renting or using the resources from a cloud provider, such as Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform
Private Cloud: This is having your own cloud infrastructure that can only be used by your organisation. This may be also hosted on-premises or by a third-party provider or in a dedicated datacenter offsite.
Hybrid Cloud: This is a combination public and private clouds, with a safe network connections allowing data and applications to be shared between them
Multi Cloud: This is when you use multiple public cloud providers.
Community Cloud: This is cloud computing model where several organisations with common interests or requirements are sharing cloud resources and infrastructure.
Why Cloud Computing is important?
In this today's technology advancement, cloud computing made it possible so that we, as users, can access our data anywhere in the world we are and collaborate easily. For lots of big and small organisations it is to develop a new app or technology that can easily scale up or down based on the users needs, save money, optimise, innovate and reach customers globally.
What is DevOps?
First we need to be aware that DevOps is not a tool, it is also not a programming language. What is it then? It is the working together of the development and operations teams within a company. A "smarter" way of working together.
There are terminologies mostly mentioned when discussing about DevOps, these are: Automation, Scaling and Infrastructure.
What is Automation?
Automation is the use of one or more technology to do, mostly a repetitive, tasks with reduced human assistance and efforts.
What is Scaling?
Scaling is all about building the system with having the capability to adjust resources to meet the demand. There are two factors: vertical and horizontal.
Vertical scaling on how I can understand is adding more processing power, is like increasing more CPUs or RAM to the virtual machine when demand is high, and decreasing when these CPUs or RAM are not being used.
Horizontal scaling is adding more computers to spread the load and, either automatically or manually, scaling in if there is a significant drop of demand.
What is Infrastructure?
Infrastructure are the basic components necessary to run computer services, like servers, storage, networking, and software. It is the foundation or building blocks needed to support software development and deployment. With cloud computing infrastructure, businesses can efficiently handle and expand their infrastructure by leveraging automated tools and methodologies such as Infrastructure as Code.
Why DevOps is important?
It can speed up development in a more efficient manner.
Encourages better communication and teamwork between development and operations teams
In this article, I highlight how cloud computing and DevOps are an integral part of today's technology. Together, cloud computing and DevOps are organisations not-so-secret assets to innovate, adapt, optimise and deliver efficient solutions.
Find the GitHub repo here.
I hope you learned something from this blog. If you have, show your support by clicking heart or like, share this article as a conversation starter and join my newsletter so that we can continue learning together and you won’t miss any future posts.
Thanks for reading until the end! If you have any questions or feedback, feel free to leave a comment.
Subscribe to my newsletter
Read articles from anj directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by