Cloud computing is the delivery of computing services over the Internet (“the cloud”). These services include:
- Servers/Compute
- Storage
- Databases
- Networking
- Software
- Analytics
- Intelligence
Cloud computing offers faster innovation, flexible resources, and economies of scale. Typically, you only pay for cloud services as you use them. This helps to lower your operating costs by allowing infrastructure to be utilized more efficiently and scale easily and your resource needs change.
Amazon Web Services (AWS), Microsoft (Azure), and Google (GCP) are the primary examples of large cloud providers. The University has established Enterprise Agreements with these providers in order to provide cost-effective cloud resources to researchers that meet federal compliance regulations such as HIPAA and FERPA.
Top benefits of cloud computing
Cloud computing is a paradigm shift from the use of
traditional on premise IT resources.
Here are several reasons one should consider cloud computing services:
Cost
Cloud computing eliminates the capital expense of buying, setting up, and configuring hardware and software. On-demand pricing allows you to only pay for what you use. This eliminates the need to procure and maintain IT hardware.
Speed
Most cloud computing services are provided self service and on demand. It is possible to provision vast amounts of computing resources in minutes, typically with just a few mouse clicks. This provides a lot of flexibility. Resources can be quickly and automatically adjusted based on the current needs.
Reliability
Cloud computing makes high availability, disaster recovery, and business continuity easier and less expensive because resources and data can be provisioned across multiple redundant regions/data centers on the cloud provider’s network.
Scalable and Elastic
One of the largest benefits of cloud computing is the ability to scale elastically on demand. This allows for the delivery of the right amount of IT resources for the specific workload requirements. Services can be adjusted automatically to provide as much or little as needed when it is needed.
Productivity
Provisioning on premise resources in an on-site datacenter typically requires a lot of “racking and stacking”—hardware setup, software patching, and other time-consuming IT management chores. Cloud computing removes the need for many of these tasks, so staff can spend time on achieving more important business goals.
Security
You data, applications, and infrastructure can be protected
from potential threats by leveraging the policies, technologies, and controls
offered by the cloud providers. These
options can help to strengthen your overall security posture.
Shared Responsibility Model
Customer
Responsible for Security “In” the Cloud
Customer Data |
Platform, Applications, Identity & Access Management |
Operating System, Network & Firewall Configuration |
Network Traffic Encryption, Server-Side Encryption & Data Integrity |
Cloud Platform Provider
Responsible for Security “Of” the Cloud (Infrastructure)
Compute | Database | Storage | Networking |
Regions | Edge Locations | ||
Availability Zones |
Cloud providers offer many different cloud services. Customers need to understand the division of responsibility between the cloud provider and its customers. Customers are responsible for protecting customer data stored in cloud as well as the custom applications deployed in the cloud.
Customers are also responsible for implementing appropriate access control policies, configuring security (firewall) rules to prevent inappropriate access to ports, and configuring the required monitoring. Customers are also responsible for enforcing appropriate data loss prevention policies to ensure compliance with internal and external policies, as well as detecting and remediating threats arising from stolen account credentials or malicious/accidental misuse of cloud resources.
Cloud providers are focused on securing its software, hardware, and the facilities where their cloud services are located. Cloud providers are typical responsibilities include securing its computing, storage, networking, and database services, as well as the security configuration of cloud managed services.
Types of Cloud Computing
Several different models, types, and services have evolved to help offer the right solution for your needs.
First, you need to determine the type of cloud deployment, or cloud computing architecture, that your cloud services will be implemented on. There are three different ways to deploy cloud services: on a public cloud, private cloud, or hybrid cloud.
Public cloud
Public clouds are owned and operated by a third-party cloud service providers, which deliver their computing resources, like servers and storage, over the Internet. Amazon Web Services (AWS), Microsoft (Azure), and Google (GCP) are the primary examples of large public cloud providers. In a public cloud, all hardware, software, and other supporting infrastructure is owned and managed by the cloud provider. You access these services and manage your account using a web browser.
Private cloud
A private cloud refers to cloud computing resources used exclusively by a single business or organization. A private cloud is typically physically located in the organization’s datacenter. A private cloud is one in which the services and infrastructure are maintained on a private network. Services offered at the University such as UT-V and database services would be considered “private cloud” services.
Hybrid cloud
Hybrid clouds combine public and private clouds, bound together by technology that allows data and applications to be shared between them. By allowing data and applications to move between private and public clouds, a hybrid cloud offers flexibility and additional deployment options. It may also in optimizing your existing infrastructure, security, and compliance.
Types of cloud services: IaaS, PaaS, serverless, and SaaS
Cloud computing services typically fall into four broad categories: infrastructure as a service (IaaS), platform as a service (PaaS), serverless, and software as a service (SaaS).
Infrastructure as a service (IaaS)
This is a self-service model for accessing, monitoring, and managing remote datacenter infrastructures such as compute (virtual machines or bare metal), operating systems, storage, and networking services.
Platform as a service (PaaS)
Platform as a service refers to cloud computing services that supply an on-demand environment for developing, testing, delivering, and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile apps, without worrying about setting up or managing the underlying infrastructure of servers, storage, network, and databases needed for development.
Serverless computing
Serverless computing is a cloud computing execution model in which the cloud provider runs the server, and dynamically manages the allocation of machine resources. Serverless computing can simplify the process of deploying code into production. Scaling, capacity planning and maintenance operations may be hidden from the developer or operator. Serverless architectures are highly scalable and event-driven, and can be configured to only utilize resources when a specific function or trigger occurs. Applications can also be written to be purely serverless and use no provisioned servers at all.
Software as a service (SaaS)
Software as a service uses the internet to deliver managed applications on demand or on a subscription service. Cloud providers host and manage the software application and underlying infrastructure, and handle any maintenance, like software upgrades and security patching. Users connect to the application over the Internet, usually with a web browser on their phone, tablet, or computer. Examples of SaaS applications that you may already use are Office 365, Box, and Canvas.
Responsibilities of the owner versus the Cloud provider based on the type of Service
On Premises (Private Cloud)
You Manage
- Data & Access
- Applications
- Runtime
- Operating System
- Virtual Machine
- Compute
- Networking
- Storage
Infrastructure (as a Service)
You Manage
- Data & Access
- Applications
- Runtime
- Operating System
- Virtual Machine
Cloud Provider Manages
- Compute
- Networking
- Storage
Platform (as a Service)
You Manage
- Data & Access
- Applications
Cloud Provider Manages
- Runtime
- Operating Syste
- Virtual Machine
- Compute
- Networking
- Storage
Software (as a Service)
You Manage
- Data & Access
Cloud Provider Manages
- Applications
- Runtime
- Operating System
- Virtual Machine
- Compute
- Networking
- Storage
Definitions:
Artificial Intelligence (AI)
The capability of a computer system to imitate human intelligence. Using math and logic, the computer system simulates the reasoning that humans use to learn from new information and make decisions.
Business Analytics Tools
Tools that extract data from business systems and integrate it into a repository, such as a data warehouse, where it can be analyzed. Analytics tools range from spreadsheets with statistical functions to sophisticated data mining and predictive modeling tools.
Business Intelligence (BI) tools
Tools that process large amounts of unstructured data in books, journals, documents, health records, images, files, email, video, and so forth, to help you discover meaningful trends and identify new business opportunities.
Cloud
A metaphor for a global network, first used in reference to the telephone network and now commonly used to represent the Internet.
Cloud Bursting
A configuration that’s set up between a private cloud and a public cloud. If 100 percent of the resource capacity in a private cloud is used, then overflow traffic is directed to the public cloud using cloud bursting.
Cloud Computing
A delivery model for computing resources in which various servers, applications, data, and other resources are integrated and provided as a service over the Internet. Resources are often virtualized. Learn more about cloud computing.
Cloud Computing Types
There are three main cloud computing types, with additional ones evolving—software-as-a-service (SaaS) for web-based applications, infrastructure-as-a-service (IaaS) for Internet-based access to storage and computing power, and platform-as-a-service (PaaS) that gives developers the tools to build and host Web applications.
Cloud Service Provider
A company that provides a cloud-based platform, infrastructure, application, or storage services, usually for a fee.
Cloud Storage
A service that lets you store data by transferring it over the Internet or another network to an offsite storage system maintained by a third party.
Computer Grids
Groups of networked computers that act together to perform large tasks, such as analyzing huge sets of data and weather modeling. Cloud computing lets you assemble and use vast computer grids for specific time periods and purposes, paying only for your usage, and saving the time and expense of purchasing and deploying the necessary resources yourself.
DevOps
The union of people, process, and technology to enable continuous delivery of value to customers. The practice of DevOps brings development and operations teams together to speed software delivery and make products more secure and reliable.
Elastic Computing
The ability to dynamically provision and de-provision computer processing, memory, and storage resources to meet changing demands without worrying about capacity planning and engineering for peak usage.
Hybrid Cloud
A cloud that combines public and private clouds, bound together by technology that allows data and applications to be shared between them. A hybrid cloud gives businesses greater flexibility to scale up and down and offers more deployment options.
Infrastructure as a Service (IaaS)
A virtualized computer environment delivered as a service over the Internet by a provider. Infrastructure can include servers, network equipment, and software.
Machine Learning (ML)
The process of using mathematical models to predict outcomes versus relying on a set of instructions. This is made possible by identifying patterns within data, building an analytical model, and using it to make predictions and decisions. Machine learning bears similarity to how humans learn, in that increased experience can increase accuracy.
Machine Learning algorithms
Help data scientists identify patterns within sets of data. Selected based upon the desired outcome—predicting values, identifying anomalies, finding structure, or determining categories—machine learning algorithms are commonly divided into those used for supervised learning and those used for unsupervised learning.
Middleware
Software that lies between an operating system and the applications running on it. It enables communication and data management for distributed applications, like cloud-based applications, so, for example, the data in one database can be accessed through another database. Examples of middleware are web servers, application servers, and content management systems.
NoSQL
NoSQL is a set of nonrelational database technologies—developed with unique capabilities to handle high volumes of unstructured and changing data. NoSQL technology offers dynamic schema, horizontal scaling, and the ability to store and retrieve data as columns, graphs, key-values, or documents.
Platform as a Service (PaaS)
A computing platform (operating system and other services) delivered as a service over the Internet by a provider. An example is an application development environment that you can subscribe to and use immediately. Azure offers PaaS.
Private Cloud
Services offered over the Internet or over a private internal network to only select users, not the general public.
Public Cloud
Services offered over the public Internet and available to anyone who wants to purchase them.
Software as a Service (SaaS)
An application delivered over the Internet by a provider. Also called a hosted application. The application doesn’t have to be purchased, installed, or run on users’ computers.
Serverless computing
A computing model in which the cloud provider provisions and manages servers. It enables developers to spend more time building apps and less time managing infrastructure.
Virtual Machine (VM)
A computer file (typically called an image) that behaves like an actual computer. Multiple virtual machines can run simultaneously on the same physical computer.
Virtualization
The act of creating a virtual rather than a physical version of a computing environment, including computer hardware, operating system, storage devices, and so forth.