About this article
This article will tell you the basic and foremost concepts of “Cloud Computing” and “Azure Infrastructure”. You’ll learn more about cloud computing and Azure in my coming articles. So, stay tuned for the next articles. Read this article, then feel free to give your feedback.
The topics to be covered are,
- Introduction and Background
- What is Cloud Computing?
- Why do we need it?
- Benefits of Cloud computing
- Uses of Cloud Computing
- Cloud deployment model and its types
- Cloud services model and its types
- Getting started with Azure
Introduction and background
In this article, you will learn about cloud computing and Azure infrastructure. First, we’ll look at what cloud computing is and then why we need it. Also, we’ll look at different types of cloud computing and cloud services. Let’s dive into it.
What is Cloud Computing?
“Cloud computing is the flexible and up-to-date delivery of computing services such as servers, storage, databases, networking, software, analytics, intelligence etc. over the internet.”
In cloud computing, you only pay for the service that you use. Through this, you run your infrastructure efficiently and scale up and scale out the services according to your business needs. Cloud computing also decrease your operating costs.
The company providing the above-mentioned computing services is called Cloud Provider. Some well-known cloud providers are Microsoft, Amazon, and Google. The cloud provider is usually responsible for providing the up-to-date physical hardware to fulfill your needs. The services given by the cloud providers can vary but normally the common services are like below.
- Compute power - Cloud providers provide you with Windows or Linux Virtual Machines.
- Storage - Cloud providers provide an opportunity to store your data over the cloud.
- Applications - Cloud providers provide you with the opportunity to create applications like web applications, database applications etc.
- Networking - Cloud providers provide us with a service to set up the networks (virtual networks) of our virtual machines.
- Analytics - Cloud providers also help us to visualize the telemetry and the performance data.
Let’s discuss the first two services provided by cloud providers.
Compute Power
If you are interacting with the computer and perform any task, then you are using the hardware to do the task. So, we may say that you are using the Compute Power.
In the context of cloud computing, you can use compute power on pay-as-you-go. Let’s say if you want to maintain the data over the cloud, you can create a Virtual Machine VM over the cloud. As you know, VM is a physical computer machine that runs Windows or Linux, hence VM contains a full copy of the operating system.
There are two concepts that are like VM but are more efficient in terms of performance:
- Containers
- Serverless Computing
Containers
A container is a standardized unit of software in which we package up the code and other dependencies of an application so that the application can run more efficiently on multiple computing environments. Multiple containers can run on the same machine and share the OS Kernel with other containers. Containers take less memory than VMs (in some MBs) and can handle more applications and require fewer VMs and operating systems for running the applications efficiently. Containers virtualize the operating system instead of hardware like VMs.
VM turns one server into many servers. The hypervisor component allows multiple VMs to run on the single machine. As we know, VMs are physical computer machines that run Windows or Linux, hence VM contains a full copy of OS. For running applications, VM contains OS, code and essential libraries and dependencies of the application, which makes VMs slow and larger in size (in GBs).
So you can see the difference between the VMs and Containers that Containers virtualize the OS instead of hardware like VMs. So, containers are more portable and efficient than VMs.
One more concept is Docker Container - a platform for developers and sysadmins to develop, deploy, and run the applications by using containers. The use of Linux containers to deploy the application is called containerization. By using Docker containers, we can deploy applications efficiently while keeping them lightweight. They allow different components of the application to be deployed separately into different containers. Multiple containers can reside on a single machine. This portability of the container makes applications very easy to be deployed in different environments.
Serverless Computing
In serverless computing, we don’t need to maintain and provision servers. In this, we only focus on our application behavior. It eliminates infrastructure management tasks like provisioning, OS maintenance etc.
Storage
Cloud providers provide an opportunity to store your data over the cloud. They provide us with services to read and/or write data over the cloud. If we want to store a single text file over the cloud then we can do it. So cloud providers provide us storage.
Why do we need cloud computing?
Now, you know cloud computing very well, it is time to know about its importance. There are the following major reasons why we need a cloud.
- Reduced capital expenditure (CapEx)
- Up-to-date technology
- Easy scaling
- Accessing the services
- Flexibility in infrastructure
Let’s understand these major reasons.
Reduced capital expenditure
CapEx means Capital Expenditure. If you are maintaining your own data center, you have to maintain all the computing services. So if you are creating computing services on your own, then it will become very costly.
OpEx means Operational Expenditure. If you are not creating and maintaining your own services and only use the built-in service of the service provider, then it’ll have much more benefits.
Hence through cloud computing, we only need to bear operational expenditure. We’ll pay for what we use. So this is the reason we need cloud computing for our businesses.
Up-to-date Technology
If you are running your own business on premises, then you have to maintain your hardware according to the up-to-date technology. As you know, after 4 to 5 months the hardware becomes obsolete in the market and new hardware with the new technology replaces the previous one. So, you need to bear the expenditure of both - the hardware and the technology.
But cloud computing makes it easy for us because the cloud providers’ responsibility is to provide up-to-date computing services to the customer. So we don’t need to worry about handling or managing the hardware as well as technology.
Easy scaling
Scaling in cloud computing is of two types,
If you are running your own business on premises and if your business grows in some specific season then you have to increase the computing services (hardware, technology, computer machines etc.). So the demand for computing services of any business can be varied. This is called Scaling Up. It is costly if you want to do it yourself.
If the specific season of the business is gone then your all services become extra. So it’ll become idle and useless. Then you eliminate some of your hardware devices. This is scaling out.
In the first case, we can’t scale up because it becomes very costly. And in the second case, we make our service useless. So cloud computing solves both of these problems. And provides you with an automatic way to scale up and scale out according to your business needs. Cloud providers increase or decrease the services through scaling up or scaling out for customers respectively.
Accessing the services
Cloud computing gives access to computing services without any borders. Where there is an internet connection, the computing services provided by cloud providers can be accessed. So we need cloud computing to grow the services of our business.
Now you have learned that why we need cloud computing. Let’s move towards the more benefits of cloud computing.
Benefits of Cloud Computing
Cloud computing can have the following benefits,
- Cost Effectiveness
- Scalable
- Elasticity
- Focused
- Reliability
- Security
Cost-effectiveness
Cloud computing can affect our costs. Normally it reduces the costs of computing services that we need to run our business properly. Cloud computing provides us pay-as-you-go pricing model. It means only pay for what you use. So it automatically reduces our cost.
Scalable
We have already seen about scaling. There are two types of scaling,
- Vertical scaling
- Horizontal scaling
Vertical scaling is also called “Scale-up” is the process in which cloud provider increase the power of an existing server. For example, if you already have a computer machine then you can scale up by adding additional memory, faster CPU etc.
Horizontal scaling is also called “Scale-out”, and is the process in which the cloud provider adds more servers to provide best computing services to the customer rather than to increase the computing power of each individual server.
Elasticity
The best benefit of cloud computing is its elasticity. It means if there is an increase in the workload of your business then the cloud provider increases the computing services. It is automatically done by the cloud provider with the wish of the customer. So the cloud is elastic.
Focused
On cloud computing, you are only focused to build and deploy the applications. You don’t need to think about the management and maintenance of the software patching, hardware setup, up gradation or IT management tasks. All these tasks are purely handled by the cloud provider.
Reliability
The benefit of cloud computing is its reliability. Here reliability means, cloud providers provide data backup, disaster recovery and data replication services to make sure your data is always safe. So cloud computing provides us reliability.
Security
In cloud computing, there can be two types of security,
- Physical security
- Digital security
Physical security is about, who can access the data centers’ building, who can touch the server racks etc.
Digital security is about, who can access your data over the network.
Cloud provider is responsible for handling both physical and digital security. For physical security, cloud providers pay for best cameras, walls, gates, and security guards to protect the physical asset. An only authorized user can access the data center to ensure physical security. For digital security, cloud providers provide you with some tools to secure your data over the internet. This means only authorized users can access your own virtual machines. And the digital security of the data center is the responsibility of cloud providers, they prevent your data from hacking or penetration like problems.
Uses of Cloud Computing
There are some vital uses of cloud computing that every cloud computing provider must provide,
- You can create, deploy and scale your web/mobile or API applications on any platform. In cloud computing, you’ll have access to resources that can help you to maintain the security and performance of your applications.
- You can build an application at low cost and in less time. And you can scale up and down your application according to your business needs.
- You can store and backup your data on the cloud. Cloud provider provides the facility of recovering your data in case of any disaster. You can also replicate your data over the different data centers.
- You can connect your audience anywhere, anytime and on any device with the HD audio and video quality.
- You can deliver software on demand with the latest versions and updates to customers anywhere and anytime.
Cloud deployment models
Cloud deployment models define, where the customer’s data stored, how the customer access it, where the customer’s application runs, how much the customer manage the cloud infrastructure?
Types of Cloud deployment models
There are three cloud deployment models,
- Public cloud
- Private cloud
- Hybrid cloud
Public cloud
This is the most common type of cloud. In this type of cloud infrastructure, you store your data on the cloud provider’s hardware, not on your own hardware. So you don’t need to keep up-to-date your own hardware. Its benefits are,
- Scalability - You don’t need to buy a new hardware in order to scale up your resources, because you are using cloud provider’s hardware.
- Pay-as-you-go - In this type of cloud infrastructure model, you pay for only what you use.
- Maintenance - You are not responsible for maintaining or keeping up-to-date your hardware.
Private Cloud
This type of cloud deployment model is totally opposite to the public cloud. In this type of cloud infrastructure model, you are purely responsible to use your own hardware in your own cloud environment. Also, you are responsible for upgrading your hardware if you need. Some demerits of private cloud are,
- Costly- You have to create your own cloud environment that is so costly.
- Maintenance - You have to maintain or upgrade the hardware in terms of scaling up your services.
- Expertise - If you own a data center, then you need some IT technical experts to run your cloud environment accurately.
Hybrid Cloud
It is the combination of both - the public and private cloud. Through a hybrid cloud, you can decide where to run your application, on a public cloud or a private cloud.
For example, you run your web application on the public cloud and the database application on the private cloud. Let’s say the database contains some private data like legal data or medical data that you don’t want to expose publically, then you use a private cloud for storing database applications. But your web application runs on the public cloud. So it’ll become the combination of both the public and private cloud and hence called a hybrid cloud. There are some concerns about this cloud deployment model.
- It is expensive because you have to handle the cost of two cloud models.
- There are managerial complexities for setting up the hybrid cloud environment.
Cloud services models
Normally cloud services are of three types in terms of managing the functions of the cloud. Types are,
IaaS
IaaS is “Infrastructure as a service”. The cloud provider provides you with the pay-as-you-go service of cloud infrastructure on rent. You have full control over the hardware that runs your application. So all the management of cloud is in your hand. Hence the target of IaaS is “sysadmin”. And system admin manages the virtual machines normally in this cloud service model.
PaaS
PaaS is “Platform as a service”. This cloud service model provides us with the services of creating, testing and deploying the software applications. In this cloud service model, you should only concern about the building, testing and deploying the application without having a concern with the managing the cloud infrastructure. For example, in this cloud service model, while creating an application you don’t need to install any OS or configure web server etc.
SaaS
SaaS is “Software as a service”. In this cloud service model, we don’t have to manage or create anything. We just use the services on a monthly or annual subscription. Office 365 is an example of SaaS.
Let’s see this discussion in a big picture.
I have one more point is about the extent of controlling and managing the services in each cloud service model. So let’s see the picture for better understanding.
As you can see, in IaaS we are more responsible for handling more functions of the cloud. While in PaaS you only need to handle the application layer. And in the SaaS model, you are free from managing or handling anything so control is much less here.
Getting started with Azure
Azure is Microsoft’s cloud computing platform. Microsoft Azure provides you almost 100+ computing services from creating, running and managing your virtual machine to exploring intelligent bots and mixed reality. There are some major services that Microsoft Azure provides us,
- Computing power - Microsoft Azure provides you service of creating virtual machines (VM) and containers to run your applications.
- Database - Azure provides you service of creating a relational database (RDBMS) and non-relational or distributed database.
- Identity - Azure helps you to authenticate and protect your users.
- Networking - Azure helps you to manage the network of your created virtual machines. Also, provides you the DNS hosting service.
- Storage - Azure helps you to store both your structured data and unstructured data.
- AI and machine learning - Azure provides you service of communications with your user through vision, hearing, and speech.
There are still many services that are provided by Microsoft Azure, which I’ll discuss in my coming articles. So stay tuned!
Summary
In this article, you have seen cloud computing, why we need it, its benefits and its uses. Also, you have learned about the cloud deployment models and the three types with their merits and demerits. You have also learned about the cloud services model, its types and its individual responsibilities. In the end, you have seen Microsoft Azure and its major services. In the next article, you’ll learn all about Azure, and its workings and then you’ll learn how to create VM in Azure. So stay tuned for the next articles.
Conclusion
I hope this article has helped you in understanding the basic concepts about cloud computing. Stay tuned for my next articles because in the next article you’ll learn about Azure in very great detail. If you have any query, please feel free to contact me in the comments section. Also, give your feedback whether positive or negative. It will help me to make my articles better and increase my enthusiasm to share my knowledge.