In part 1 of the demystifying the cloud series, we discussed the philosophy and use cases of the cloud, and some of its benefits. In this post, we’ll be talking about some common forms of cloud services used in the industry and their implementations.
Types of Cloud Computing Services:
- IaaS (Infrastructure-as-a-Service): IaaS is the most basic form of cloud service. It helps users to not worry about setting up of a physical infrastructure and running it. Each resource such as compute, networking and storage are provided as a separate offering that the user usually rents out in a pay-as-you-go model. This eliminates the two big headaches of setup and operational maintenance and bearing an upfront capital expenditure to set up infrastructure.
- PaaS (Platform-as-a-Service): A level above IaaS is PaaS. This form of service allows users to access development environments directly without having to set them up or upgrade them, along with providing all the convenience of IaaS. Users of this service avoid the complexity and time taken for deploying infrastructure, platforms, and managing software licenses. Users can focus completely on developing and deploying their application code.
- SaaS (Software-as-a-Service): SaaS provides the highest level of convenience for users who are not tech-savvy. This form of service provides a user with ready-to-use applications, hosted on a remote server over the internet. SaaS delivers all the benefits that IaaS and PaaS provide, along with the bonus of a pre-deployed application. SaaS is one of the most popular forms of cloud-based products today. Some very famous examples are cloud storage, online photo editors, online video streaming services, CRM solutions, etc.
Fig 1: A high-level description of types of Cloud Services
It is essential to remember that the choice you make between these forms of services depends majorly on how skilled you are at managing various layers of technology, how you choose to focus your core strengths, and how much money you wish to spend over the course of time.
Fig 2: Various points to consider while choosing the type of cloud offering
Types of Cloud depending on location:
- Public Cloud: A public cloud is a platform wholly owned and operated by a cloud service provider. All the user’s resources of computing, storage, and the network are leased from the cloud service provider. This means that all of the user’s infrastructure, data and applications are running in a remote location; the user does not need to worry about setup or maintenance. Multiple such users across the world will share this infrastructure/platform.
- Private (On-prem): A private cloud, as its name suggests, is owned and operated entirely by the user. It is a cloud platform residing within the premises of the user. The user bears the entire capital and operational expenditure of running the cloud. Some large enterprises choose to employ this form of cloud to ensure that all their data resides within their control, and is not hosted on a 3rd party company’s servers. This choice is normally driven by Government regulations and/or the comfort level of the user.
- Hybrid Cloud: A hybrid cloud is a combination of the above two types – public and private. It is a form of cloud deployment wherein part of the data and applications reside on-premises for the user, and part of it on a public cloud. The split in this combination depends on many factors and is usually different for different users. But generally, all sensitive/confidential data is stored in the private cloud, and consumer-facing scalable applications are hosted on the public cloud.
Some terms to know:
- Compute flavors: These are templates of server configurations used to create virtual machines (VMs). The general parameters that vary between different models are RAM, CPU, local storage, and sometimes different types of processors. The choice of these templates will depend heavily on the use case for the VM. A small website will not require more than 1 GB of RAM and 1 CPU. A data analytics VM will require more RAM than CPU. A compute-intensive application will need a significant amount of CPU. A graphics application will probably require GPUs instead of CPUs.
- What is Hypervisor: A hypervisor is an essential piece of technology in the Cloud Computing eco-sphere. Today, hypervisors are synonymous with virtualization. Let’s try to understand these terms now. On a standard consumer laptop/desktop, a user can only install one operating system per physical machine. Which means one Windows OS per laptop/desktop. All the applications running within the OS also identify the underlying laptop as one machine. The implication of this is that in normal circumstances, because the applications a single user runs is limited, the full power of the underlying hardware will not be utilized. Hypervisors help to achieve this efficiency. It separates the physical hardware from the operating systems and applications. Using a hypervisor, one can create multiple virtual machines running on one physical server (hence the term virtualization). This ensures that various operating systems can run in place of one, thus facilitating more efficiency on the server. Some of the most popular hypervisors in the industry today are Xen Hypervisor and KVM.
- What is Software Defined Networking? SDN is short for Software Defined Networking and is the technology that helps abstract all network functions from physical switches. We just saw how servers can be virtualized. Similarly, these virtual servers communicate with each other using network which is also in software. This means that one needs only a minimal number of physical cables, switches, and routers to connect a massive cluster of servers. All networking functions are written in software as opposed to being defined by hardware. Everything from switches, firewalls, and routers can be efficiently simulated on software. This concept is a bit difficult to understand and to explain visually, but the one takeaway for the user should be that SDN forms the backbone of the cloud and defines how various servers (both physical and virtual) communicate with each other. Private networking is the ability for users to have their private networks in a public cloud setup that other users can’t access. This is also made possible by SDN and is a critical component of achieving higher levels of security in the cloud.
- Software Defined Storage (SDS): SDS is technology that helps de-couple or abstract the software application from the underlying hardware. Unlike monolithic SAN and NAS systems, software-defined storage products enable users to upgrade the software separately from the hardware. Some of the benefits of SDS are to scale out the storage cluster across multiple servers, the ability to aggregate storage servers and manage the entire distributed storage cluster from one interface. As a customer of cloud, one gets the benefits of storage efficiency and quick disaster recovery.
- REST APIs: An API is a tool that helps communication between two applications or software entities. This helps software architectures remain modular and avoid lock-in of applications. A REST API is an API request that uses the HTTP protocol. Most cloud computing platforms and services use REST APIs for inter-module communication to give the best experience for their users. REST APIs have a lot of far-reaching indirect advantages likes the ability to upgrade with minimum downtime, the ability to swap applications without significant disruptions, and the ability to be standardized across products and regions.
- What is OpenStack: OpenStack is the world’s largest open source cloud computing platform. A lot of large enterprises like Rackspace, NASA, IBM, RedHat, Google have been actively contributing to the development of OpenStack for the last ten years. It is mostly a framework to handle all the cloud computing resources that are required to run an IaaS cloud and cater to some use cases of a PaaS and SaaS. Since OpenStack is open source, thousands of developers around the world are engaged in developing various modules of it, and hundreds of companies are actively using OpenStack to address their technology infrastructure needs.
Our Cloud Products:
Now that we have briefly glazed over some of the concepts of Cloud Computing, this feels like a good time to speak a bit about HostGator India’s cloud-based hosting products:
- VPS (Virtual Private Servers)
VMs running on the earlier mentioned OpenStack backend and the KVM hypervisor is what our makes our VPS product special. Our VPS product is ideal for users who are looking to run their own applications in a flexible, fast and robust environment. And with the technology stack improving speedily, you can expect a lot of new features in this year.
- Dedicated Servers
Dedicated Servers are for our power users who want access to the resources of an entire physical server to themselves and their resource hungry applications. Dedicated Servers also run on OpenStack and KVM, and they are guaranteed to cater to all of your hosting requirements.
Advantages of using HostGator India’s VPS and Dedicated servers:
- Convenience: We take care of all the heavy lifting concerning data center management, server procurement, server maintenance and operations, VM deployment.
- Savings: HostGator India customers do not have to bear any capital expenditure for the servers or data center. You will only have to pay for the server configuration you wish to use for that particular period.
- Full control: As opposed to some of the other players in the industry, HostGator India provides full root access to these servers. This means you will have total flexibility and control over your servers.
- Intuitive management panel: A feature that truly sets apart our VPS and dedicated servers, is our easy-to-use management panel. It has all the features and functions required to efficiently preside over server operations.
With this, we conclude our two-part series that aim at demystifying the cloud. We hope you now have a better understanding of the cloud technology. If you still have some questions about the Cloud or any of our cloud-based products then feel free to drop a line in the comments section below.