Cloud Concepts - Sai-Thirunagiri/Projects GitHub Wiki

Introduction to cloud computing

Cloud computing is nothing but renting computing resources, like storage space or CPU cycles, on another company's computers. We only pay for our usage. The company providing these services is referred to as a cloud provider, for example, Microsoft, Amazon, and Google. The cloud provider is responsible for the physical hardware required to execute our work, and for keeping it up-to-date. Some of the computing services offered by the cloud provider:

  • Storage - object storage
  • Compute power - Windows and Linux virtual machines
  • Applications - NoSQL or SQL database applications
  • Networking - setting up virtual networks for your virtual machines
  • Analytics - visualizing telemetry, and performance data

Cloud computing services:

The goal of cloud computing is to make running a business easier and more efficient, whether it's a small start-up or a large enterprise. Every business is unique and has different needs. To meet those needs, cloud computing providers offer a wide range of services.

We need to have a basic understanding of some of the services it provides.Two most common services that all cloud providers offer – compute power and storage.

Compute power

We're using computer power every day, sending an email, browsing a website, or even checking the weather on our mobile device, there's hardware doing computer processing work behind the scenes.

When we build solutions using cloud computing, we can choose how you want to work to be done based on our resources and needs. For example, if we want to have more control and responsibility for maintenance, we could create a virtual machine (VM). A VM is an emulation of a computer operating system and hardware that appears to the user like a physical computer running Windows or Linux. With the cloud, we can have a VM ready within minutes, not days or weeks.

Containers: Containers provide a consistent, isolated execution environment for applications. The open-source project, Docker, is one of the leading platforms for managing containers. Docker containers provide an efficient, lightweight approach to application deployment because they allow different components of the application to be deployed independently into different containers. Multiple containers can reside on a single machine, and containers can be moved between machines. The portability of the container makes it easy for applications to be deployed in multiple environments, either on-premises or in the cloud, often with no changes to the application.

Serverless computing: Serverless computing let us run application code without creating, configuring, or maintaining a server. Serverless computing enables us to focus solely on how our application behaves. It's ideal for automation tasks. For example, we can build a serverless process that automatically sends an email confirmation after a customer makes an online purchase.

Storage

Most devices read and/or write data. Here are some examples:

  • Retrieving weather information
  • Taking a picture
  • Sending an email
  • Leaving a voicemail In all of these cases, data is either read (like the weather) or written (like taking a picture). The type of data is different in each of these cases.

Cloud providers typically offer services that can handle all of these types of data. For example, if we wanted to store text, we could use a file on disk or we could take a more structured approach like using a relational database.

Summary: Based on Business needs and requirements. Cloud computing is flexible and cost-efficient, which can be beneficial to every business, whether it's a small start-up or a large enterprise.

Cloud concepts and its benifits