Crash Course on Cloud Providers
IT Tips & Insights: Learn the ins and outs of cloud providers from a Softensity DevOps Engineer.
By Juan Larios, DevOps Engineer
The infrastructure in the cloud is becoming increasingly important for companies due to the convenience of not requiring a physical space where data storage and resources, among other elements, are available. With its increased popularity and availability, it has become important to know the different providers that offer services like virtual machines, servers, and storage in the cloud. Let’s take a look at what, exactly, cloud infrastructure is, and discuss some providers.
Cloud infrastructure refers to both hardware and software components — which can include servers, storage, networks, and virtualization software — that are necessary to support the computing requirements of a cloud computing model.
The infrastructure includes an abstraction layer that virtualizes resources and presents them logically to users through API-enabled graphical or command-line interfaces and application programming interfaces. In cloud computing, virtualized resources are hosted by a service provider or IT department and delivered to users over a network or the Internet. These resources include virtual machines and components, such as servers, memory, network switches, firewalls, load balancers, and storage.
Types of Cloud Infrastructure
When we talk about implementing a system or development in the cloud, we are describing how a platform is implemented, how it is hosted, and who has access to it. All cloud computing implementations operate on the same principle by virtualizing the computing power of servers into segmented, software-driven applications that provide processing and storage capabilities. There are three different types of clouds: private clouds, public clouds, and hybrid clouds.
A company may use a private cloud when they have strict application and data compliance needs. Users can access a private cloud through a standard Internet connection, although they may need authorized devices with additional security standards. An example of companies that use a private cloud would be those that need to patent applications since they need higher security.
To set up a private cloud, companies must have the infrastructure to deliver the processing and storage capacity or use a virtual private network through a hosting provider. In either case, the organization maintains complete control over the cloud environment, allowing them to manage data and other assets directly.
The downside of this type of infrastructure is the capacity to scale. New equipment must be purchased, installed, and maintained, which can be costly and time-consuming.
A public cloud works the same way as a private cloud, but it does so on a completely different scale. Public cloud networks are large enough to be segmented and offered to many different customers on a subscription basis. Processing and storage capacity is provided by multiple servers, so customers can easily scale their needs up without buying new equipment. Unlike with a private cloud, you can access a public cloud from any Internet connection and use the applications and data available to them based on their subscription status.
A hybrid cloud deployment is a custom solution that integrates a private cloud environment with a public cloud. Sensitive data and proprietary applications can be stored in a private cloud network and moved to a public cloud environment when needed. Hybrid clouds allow companies to maintain the security and control they expect from a private cloud while having access to the scalable power and versatile resources of a public cloud.
In some cases, organizations need to use multiple public cloud platforms, leading them to create multi-cloud deployments, which is a more complex version of a hybrid cloud that integrates a private cloud with multiple public cloud services.
Cloud Computing Services
All computing services that are stored in the public cloud are based on the same conceptual framework of remote infrastructure with servers hosted in a data center. Since there are so many similarities between them, cloud computing can be thought of as a pyramid made up of three layers.
Each layer is more specialized than the one below it, but is built on the same basic structure. The lower layers are much broader and represent versatility, customization, and a wide range of applications, while the upper layers are narrower because they are specifically designed for a specific task.
There are several types of cloud computing services in which they stand out:
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
Infrastructure as a Service (IaaS)
As the base of the cloud computing pyramid, IaaS is the most comprehensive and flexible type of cloud service available. It provides a fully virtualized computing infrastructure that is provisioned and managed over the Internet.
An IaaS provider manages the physical edge of the infrastructure (servers, data storage, space, etc.) in a data center, but allows customers to fully customize those virtualized resources to meet their specific needs.
With IaaS, the customer can purchase, install, configure, and manage any software they need to use, including operating systems, middleware, applications, business analytics, and development tools.
Highly scalable, meaning companies only pay for the infrastructure they use, allowing them to scale their computing needs as needed without having to build additional capacity.
Platform as a Service (PaaS)
Sitting a little higher up the cloud computing pyramid is PaaS. While IaaS offers all the tools available through the cloud and leaves it up to customers to build what suits their needs, PaaS is a bit more specialized.
Instead of a pure infrastructure, PaaS provides the framework needed to build, test, deploy, manage, and update software products. It uses the same basic infrastructure as IaaS but also includes the operating systems, middleware, development tools, and database management systems needed to build software applications.
Software as a Service (SaaS)
For most people, SaaS is the most familiar form of cloud computing. Located at the top of the pyramid, SaaS is a fully-fledged software solution ready for purchase and use over the Internet on a subscription basis.
The SaaS provider manages the infrastructure, operating systems, middleware, and data needed to deliver the program, ensuring that the software is available when and where customers need it. Many SaaS applications run directly through web browsers, eliminating the need for downloads or installations. This greatly reduces software management hassles for internal IT teams and enables businesses to streamline their operations with multi-cloud and hybrid deployments.
Public Cloud Providers
AWS launched in 2006 and operates in 20 geographic regions around the world. It offers a large number of products to satisfy all business requirements. You can host virtually any application, including networks like firewall, DNS, and load balancing, or you can even have a virtual private cloud.
Microsoft Azure launched in 2010 as Windows Azure and was later renamed Microsoft Azure in 2014. Azure has a great set of product offerings, including its own software like IIS, MS SQL, Exchange Server, and much more. Azure has everything, including: AI, IoT, compute, security, analytics, container, database, etc.
Google Cloud Platform (GCP)
GCP allows you to create anything from a simple blog to complex applications. Latency is taken seriously to build performance-oriented applications. It is common knowledge that Google products, Gmail, and YouTube are hosted on the same infrastructure. Google Cloud is available in 19 locations and has more than 130 edge locations. Most of their products are available in all regions.
DigitalOcean is available in 12 data centers globally. Popular with developers, DigitalOcean is not as big as AWS or GCP, but the platform experience is world-class. Price is a big plus – you can get the virtual machine from as low as $5 per month. Recently, they announced some services like managed Kubernetes, database, load balancer, and object storage, among others.
Kamatera offers a variety of cloud services like firewalls, servers, storage, block storage, load balancer, etc. The platform is very easy to use and offers more than 40 of the most popular applications and implementation services, at the click of a button, including:
- Matter more
- Elastic search
Although the company has more than 20 years of experience in the cloud, Kamatera is the new booming player in global markets, with 14 data centers on four continents. Kamatera's sudden rise in popularity is mainly due to its unique added values. Fairly priced VMs, amazing scalability, and flexibility with server configuration and payment options, great performances, and most importantly: custom-built and tailored cloud services with 24/7 support.
Vultr provides most of the features you would expect, including auto scaling, resizing, choice of OS, high-speed SSD storage, and others. Some of the following are worth mentioning:
- Choice of 16 different regions
- Runs a redundant cloud server in the background to ensure excellent uptime
- Abundant options for computing according to personalized needs
- Provides dedicated SSD block storage to expand storage at any time
- Provides API to create or manage your own custom hosting platform on top of Vultr
- Schedule an automatic backup, take a snapshot of the entire virtual machine
- Firewall and DDoS protection
- Load balancer for scalability and high availability
With an easy-to-use dashboard, you can get your VM up and running in about 60 seconds.
Alibaba Cloud - offers a large number of products in almost the entire territory of China providing the best possible experience to its customers and also has 12 international data center locations. You can get a free trial worth up to $1,200. This is a quick architecture to tap into the China market when you don't have an office in China.
Alibaba Cloud also offers ICP support, which can be a great deal when you don't want to go through complicated ICP licensing paperwork and processes.
UpCloud is a developer-centric platform that focuses on facilitating DevOps. It is a single platform that supports building infrastructure through code. It is compatible with most infrastructure as code (IaC) frameworks such as Terraform, Ansible, Packer, and LibCloud. Also, it provides API client libraries in several popular languages, which makes it stand out.
UpCloud stands out for the following features.
- MaxIOPS storage that ensures better performance
- Allows the creation of custom OS images to meet the organization's security standards
- Powerful API to automate everything
- Private networks between your data centers
Linode is perfect for hosting web applications, from a personal blog to eCommerce. It handles everything from cloud migration to DNS setup, load balancing, auto-scaling, and providing predictable pricing. Linode would be a good alternative to implement if you can't go with DigitalOcean.
Linode is known for its essential features, such as:
- Excellent 24×7 support
- Nano computations for small web applications or for a test server
- S3-compliant object storage making it ideal for big data analytics and machine learning operations
- 11 global data centers providing excellent deployment flexibility and ability to meet country-level regulations
- One-click apps for WordPress, Drupal, Gitlab
Brightbox is a perfect choice for the European market. Provides 100% hosted solutions in the UK region. Technologically, Brightbox provides highly advanced security and enterprise-scale features like PXE boot hardware, fully private networking, and the ability to run virtually any operating system.
Despite its simplicity and limited catalog of services, it ensures that the services provided are fully supported with essential backend services. It provides some unique services with each of its offers. Like other providers, Brightbox offers a range of cloud VMs to choose from. However, it does have some unique offerings that make it a preferred option, including the following:
- Ability to export custom image snapshots similar to Amazon Machine Image or Azure Machine Image for virtual machines
- Cloud IP support that allows easy server switching while keeping the IP address
- An entire private network of servers to prevent eavesdropping or spoofing
IBM is an information technology company that provides a set of cloud computing services to the client under the name of IBM Cloud. IBM Cloud is one of the best infrastructure-as-a-service providers, trusted by the 10 largest banks and 8 largest airlines. IBM Cloud offers extraordinary IaaS solutions to its users. Businesses love using the IBM IaaS platform because of its high reliability, integration, and tracking features.
- Availability monitoring
The availability of resources is essential to provide the best performance to users. You can run synthetic tests to track down performance issues and fix them before they affect application users.
- IBM Cloud CLI
IBM's command line interface is beneficial for performing different tasks. You can easily manage and scale your infrastructure resources using the IBM Cloud CLI.
- Activity tracker
IBM Cloud keeps all activities in the cloud. You can view and audit all the activities of each user on your team on the IBM Cloud.
You can easily integrate your applications and data using IBM Cloud APIs, networking, and messaging tools.
Oracle introduced its cloud infrastructure in 2016 and is currently providing more than 70 services to international users. In fact, Oracle Cloud is another best infrastructure as a service provider, which has spread across the world to provide extraordinary cloud services with brilliant features.
Although Oracle Cloud covers 29 regions in terms of cloud service provision, the company has a plan to extend it to 38 regions by the end of 2021. With this IaaS platform, it is easy to extend and manage a cloud application without having to manage the detailed tasks on the infrastructure.
- Load Balancing
Load balancing is one of the most useful features of Oracle Cloud for maintaining application performance. The load balancing feature splits incoming traffic across all instances equally, so a single instance doesn't get overloaded. Therefore, it is conducive to maintaining application performance and resource utilization.
Oracle Cloud provides the resources according to your requirements. Storage and processing requirements always change over time. That's why it provides scalable features to customers so they can easily and quickly expand and avoid performance gaps.
- Free Tier
Companies can use Oracle's free tier to start gaining hands-on experience with it. It is convenient to know the different functionalities of this IaaS solution.
Comparison of the Top 3 Public Cloud Providers
Why go to the cloud?
The infrastructure in the cloud is becoming more and more essential for the competitiveness of companies, and especially because technologies are changing and need to be modernized. In most projects, the cloud infrastructure is going to become a factor of success (or not) for a growing company.
Having or disposing of a cloud service provider is vital for companies, which will depend on the characteristics or needs of the project. Since all providers offer a diversity of services, some are better than other providers depending on the need, scope, resources, storage, security, and other elements that must be considered in the development of a system.
- Types of cloud infrastructure and their differences (tecnologias-informacion.com)
- Cloud service models | Types of cloud computing | AWS (amazon.com)
- Infrastructures (III) Cloud Computing: Chapter 13 | Industry 4.0 Guide (camaravalencia.com)
- Top 10 Cloud Hosting Platforms for Startups and Large Businesses (geekflare.com)
- Top 10 IaaS Providers (back4app.com)
- AWS vs. Azure vs. GoogleCloud | Top Cloud Providers 2022 (datamation.com)
- True Cloud Story About: IaaS, PaaS & SaaS | by Mohmmed Albihany | Medium
- Cloud Computing – Implementation Types | SYSTEM CORE TIC PERU (systemcoreperu.com)
My name is Juan Héctor Larios Alvarenga, I was born in El Salvador. I earned a degree in Computer Systems Engineering from the National University of El Salvador. I am a DevOps Engineer, a certified Scrum Master, and a Senior .Net Developer. My work experience includes the development of over 30 different software projects in on-premise and Cloud environments.