Introduction to Cloud Computing
More than 85% of fortune 500 companies use Azure - cloud computing service provided by Microsoft. Today, it is important for IT professionals, developers, and business users to understand the basics of cloud computing. This introductory post will focus on the basics of cloud computing by simplifying the concept, why it is useful and examines how Azure offerings fits into it. This the first part in the series.
What we will cover in the series
- Introduction to cloud computing
- Types of cloud computing services
- Cloud computing deployment models
- IT professionals, developers, business users, and anyone interested in cloud computing.
By the end of the series, you will know why cloud is so important to today's businesses. You will also know the differences between cloud deployment models such as public, private and hybrid cloud. The different cloud computing models such as Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). And finally, we will look at the services provided by Microsoft Azure for both cloud deployment and cloud computing models.
Before Cloud Computing
Before the introduction of cloud computing, each company data centers had servers (a computer that manages centralize access to resources e.g files or services in a network) for everything. DNS server, Web server, File server, Database server, Network server, Email server etc.
These servers serves different purposes and ran on different operating systems and hardware configurations such as CPU, RAM and HDD. It turns out only 12% to 30% of each server resources were utilized. Organizations ended up spending money on hardware resources where about 12% of its capabilities were used.
Then came virtualization. Virtualization provides the capability to run multiple virtual machines (computing resources running on different OS) on a single virtual host (physical server). With virtualization, companies were able to get more usage out of their computing hardware thereby cutting down on space, cooling and cost.
Despite the benefits of virtualization, there were few disadvantages such as high up-front cost, space needed to host servers, electricity cost for running and cooling, and hardware maintenance cost. This is where cloud computing comes in.
Cloud computing is the renting of compute resources (virtual machine, database server, storage, networking etc.) from cloud computing provider. These resources are accessed via the internet (cloud), hence the term "cloud computing".
What is Cloud Computing? - Knowledge Balls
Cloud computing enables companies to consume a compute resource, such as a virtual machine, storage, or an application, as a utility - just like electricity - rather than having to build and maintain computing infrastructures in-house.
Cloud Providers like Microsoft provides cloud computing resources such as virtual machines in their data centers and manages the servers, networking, virtualization, maintenance and security. Clients or users do not have access to the underlying hardware as cloud computing concept is build on virtualization. Users are given access to compute resources via a virtualized environment provided and managed by the cloud provider. This cloud resources are pulled together and shared to multiple clients that consume shared hardware. The cloud provider is responsible for ensuring enough resources are available to service client's needs.
In a cloud environment, users simply select what service they want for example a virtual machine, storage, or database services. Each service comes with its pricing which can be per user or per minute depending on the resource. In a cloud computing environment, the process of provisioning a compute resource is automated and delivered almost instantly to the user.
Cost - How much does the public cloud cost?
Cloud computing resources or services are billed on-demand, by the minute or by the hour depending on the service you are using. This gives organizations the flexibility to create resources when needed, and remove them (and stop paying) when they are not needed anymore. This costing model reduces up-front cost. This cost goes into Operating Expenses (OpEx) instead of Capital Expenses (CapEx).
CapEx vs. OpEx
Capital expenditures are depreciated over the useful life of the asset.
- You cannot fully deduct the cost from the fiscal year the asset was paid for in.
- Operating Expenses are deducted in the same year they are made.
Scaling / Elasticity
Cloud services can be scaled on-demand or automatically. For example, you can tell the cloud provider to add more CPUs or create new instances when the current CPU usage reaches 70% and vice versa. This is known as Vertical (increasing compute size e.g CPU) or Horizontal (creating new instances or virtual machines) scaling respectively. This can be useful for public facing websites or apps where usage is unpredictable. You only pay for what you use.
Horizontal and Vertical Scaling - WebAiry - https://www.webairy.com/horizontal-and-vertical-scaling/
In a cloud computing environment, the cloud provider takes care of High Availability(HA) and Disaster Recovery(DR). High availability protects computing resources against local failure such as power supply or disk. Disaster recovery deals with incidents on a larger scale such as earthquake, fire, flood etc. You can also benefit from Fault Tolerance which offers zero downtime. High availability, disaster recovery and fault tolerance can be found in the cloud provider Service Level Agreement or SLA.
If you wanted to implement reliability in-house, you would need a second data center, compute resources, networking, power supply, security etc. In the cloud, the provider already has those so you benefit from the economies of scale.
- Cloud computing allows users to consume computing resources in a pay-as-you-go model.
Some advantages of using cloud computing:
- Eliminates Capital Expenditure
- Billed per second/minute/hour
- Economies of scale
Follow Exam AZ-900: Microsoft Azure Fundamentals certification training. It covers a lot more and the training prepares you for AZ-900 certification exam.
This is it for Introduction to Cloud Computing. In the next post, we will take a look at Cloud Computing Services. I hope you found this post informative. Thank you for reading.