Introduction to Cloud Computing
What is Cloud Computing?
Cloud computing is a way to deliver computing services over the internet. These services include servers, databases, networking, analytics, and intelligence.
Cloud providers are companies that allow organizations and individuals to access these computing services over the internet. Azure is an example of a cloud provider. Azure allows customers to build, deploy, and manage applications and services through their computing services. The customers use these resources on a pay-as-you-go basis. They only pay for the resources they use.
Azure is responsible for the cloud infrastructure. This includes monitoring and responding to threads to infrastructure, maintaining the physical power, the cooling, and the network connectivity of the data centers
The customer is responsible for securing the data and applications that they deploy to the cloud. This includes managing the accounts and identities of the people, services, and devices that have access to the data
Benefits of Cloud Computing
- Cost Savings: Since customers use the resources on a pay-as-you-go basis, they only pay for the resources they use. This means that they do not have to invest in expensive hardware and software. The need for Capital Expenditure (CapEx) is eliminated and customers only need to pay for the operational expenses (OpEx).
- Uptime (Availability): Azure offers Service Level Agreements (SLAs) for some of their services that guarantee a certain level of uptime. This means that the customers can rely on the services being available when they need them. This is especially important for mission-critical applications.
- Scalability: Customers can scale their resources up or down based on the demand. This means that they can quickly add or remove resources as needed. This is especially useful for applications that have unpredictable traffic patterns. Customers can also remove resources when they are not needed, which saves them money.
- Reliability: Azure has multiple data centers in multiple regions around the world. This means that if one data center goes down, the services can be moved to another data center. This ensures that the services are always available. Customers have the confidence that their services can recover from failures and that their data is safe.
Cloud Models
- Private Cloud: A private cloud is a cloud that is used by a single organization. The cloud can be located on-premises or off-premises. The cloud is managed by the organization and the organization has complete control over the resources.
- Public Cloud: A public cloud is built, controlled, and maintained by a cloud provider. The resources are shared by multiple organizations. The cloud provider is responsible for the management and maintenance of the resources.
- Hybrid Cloud: A hybrid cloud is a combination of a private cloud and a public cloud. The two clouds are connected and the data and applications can be moved between the two clouds. This allows the organization to take advantage of the scalability and cost savings of the public cloud while still maintaining control over the data and applications in the private cloud.
- Multi-Cloud: A multi-cloud is a cloud environment that uses multiple cloud providers. This allows the organization to take advantage of the different services and features offered by the different cloud providers. This also allows the organization to avoid vendor lock-in.
Cloud Services
- Infrastructure as a Service (IaaS): IaaS provides virtual machines, storage, and networking. The customer is responsible for the management and maintenance of the operating system, the configuration, the maintenance, and the applications. (Virtual Machines, Virtual networks, SQL Servers, etc)
- Platform as a Service (PaaS): PaaS provides a platform for the customer to build, deploy, and manage applications. The customer is responsible for the management and maintenance of the applications and the data. These platforms are ready to use and contain most of the tools developers use. (Azure Web App, Azure Functions, Azure Logic Apps, etc.)
- Software as a Service (SaaS): SaaS provides software that is hosted in the cloud. The customer does not have to worry about the management and maintenance of the software. The software is ready to use and the customer usually accesses the software through a web browser or an app. (DropBox, Trello, Outlook, etc.)