This post is part of our Cloud Computing Foundations series. Build your skills further by taking our Introduction to Cloud Computing certification course.
Next, we will explore the different types of resources available in the cloud and how to use themused in your applications.
What are Cloud Resources?
When we develop applications in the cloud, we often need to connect different services to create a complete solution. These services can include compute, storage, networking, and auxiliary services like queuing or container orchestration.
Services are composed of different resources. For example, Akamai cloud computing services include an object storage service called (you guessed it) Object Storage. This service allows you to create storage “buckets” for various “object” files, including documents, media, and hosting static websites.
There are four main types of resources that we can build in Akamai Cloud:
- compute instances;
- storage; and
- networking resources.
Let’s take a closer look at each resource type.
A compute instance is a virtual server that you can use to run your applications in the cloud. It’s like having your own computer in the cloud that you can access from anywhere. You can think of a compute instance as a powerful computer that is owned and maintained by a third-party cloud provider like Amazon Web Services, Google Cloud Platform, or Akamai.
When you deploy a compute instance, you can choose the CPU, RAM, and storage you need, allowing you to customize the performance of your compute instance to meet your needs. In addition, you select your instance’s location, which can impact speed and reliability.
So what can people use compute instances for?
Let’s say we’re building a machine-learning model that requires a lot of computational power to adequately test for a certain period. We can use a compute instance to train the model in the cloud, which takes advantage of the high-performance computing capabilities available in the cloud. Using a virtual machine allows us to schedule the training to turn off once it’s done, likely saving us money on unnecessary resources, as well as saving us the hassle of dealing with hardware.
A database is a collection of structured information that can be stored on a server. Let’s think of it like a library. In a library, there are many books organized in a structured way, with each book having a unique identifier. Similarly, a database stores structured information, such as customer names and addresses, or product descriptions and prices, and each piece of information is organized in a way that makes it easy to find and retrieve when needed.
Databases are used to store and manage data so that it is easy to access, search, and manipulate. In the cloud, databases can be hosted on servers that are owned and maintained by third-party cloud providers. You can choose to deploy and manage your database by installing a database engine on a virtual machine, or using a managed database service offered by a cloud provider.
Managed databases have built-in scalability features and, often, built-in disaster recovery features, like automatic backups and remote server replication, which help ensure your data is safe and secure.
There are three essential types of storage available in the cloud:
- object storage;
- block storage; and
Let’s take a quick look at each.
Object storage allows you to store unstructured data like images, videos, audio files, and documents.
This type of storage solution doesn’t require the use of a compute instance, but each object (i.e., your video file or PDF) is given a unique URL that can be used to access the data. Think of object storage like a virtual storage unit. You can store your items there and access them from anywhere. Object storage is highly scalable, so you can add or remove items as needed.
Block storage allows you to add additional storage capacity to a compute instance. This enables you to store more data without resizing your compute instance to a larger plan. Block storage is similar to a USB drive that you can plug into your computer so you can store files on that drive and access them from your computer, but you don’t need to store them on that resource’s local drive.
Backups allow you to protect your data against accidental deletions or misconfigurations. Many cloud providers offer automatic backups to guard against these types of issues. If you’ve ever forgotten to manually save your document on Word, you already know the value of a backup. Backups are there just in case something goes wrong and help you retrieve your data in the case of an outage or other unexpected disaster.
Networking tools allow you to connect your cloud resources together and with the outside world. Networking services include firewalls, load balancers, domain name system (DNS) managers, and more.
A firewall is a networking tool that monitors and controls incoming and outgoing network traffic based on security rules that you configure. A cloud firewall sits between a compute instance and the internet, and can be configured to filter out unwanted network traffic before it even reaches your server.
A load balancer distributes incoming requests to multiple backend compute instances so there’s no single point of failure. Load balancing enables high availability, scaling, and A/B testing on any application hosted by your cloud provider.
A Domain Name System (DNS) manager allows you to add your registered domain names and manage DNS records for each. DNS is the system that translates domain names into IP addresses, allowing users to access websites and other resources on the internet. When you’re looking to attach a domain to an application, you can purchase and register that domain via a domain registrar and then configure your nameservers so your domain connects to your cloud provider.
These are only three types of networking tools, but the list goes on. Different cloud providers may offer different types of tools, and the specific tools you need will depend on your specific use case and requirements.
Build the skills to succeed in Cloud Computing by taking our certification course.