Cloud tools deliver hosted services over the internet, allowing businesses to consume computer resources like a utility without having to build and maintain their own computing infrastructure. They can be divided into three main categories: infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS).
IaaS provides access to computing resources through a virtual server instance, which replicates the capabilities of an on-premise data center. It also offers a range of services, which might include server space, security, load balancing, and additional bandwidth. IaaS is elastic and scalable, which makes it practical for workloads that are temporary or unpredictable. Essentially, you are simply renting another supplier’s servers and networks.
PaaS expands on the IaaS model by providing not only infrastructure, but also middleware, development tools, business intelligence, database management systems and more. PaaS is designed to support the entire web application lifecycle from conception to deployment. It allows companies to focus on the applications and services that they develop while avoiding the complexity and expense of managing everything else.
SaaS hosts applications and makes them available to users over the internet.
Lastly, serverless computing is a fairly new model where the cloud service provider automatically provisions, scales, and manages the infrastructure required to run the code. This approach makes infrastructure provisioning and management invisible to developers, enabling them to focus solely on delivering core features.
Amazon, Google and Microsoft are the heavyweights of IaaS, offering cloud computing tools like AWS EC2, Google Compute Engine, and Azure Virtual Machines, respectively.
In order to qualify for this category, IaaS tools must have the core features listed below:
1. Provide virtual computing hardware via cloud hosting
2. Provide server space
3. Provide network connections
4. Create virtual desktops
5. Host applications
6. Automate system maintenance and backup
Infrastructure as a Service has many advantages, some of which include:
1. Reduce ongoing costs. IaaS removes the up-front expense of setting up and managing and physical datacenter. This makes it an ideal option for startups.
2. Improve availability and disaster recovery. Typically these require costly technology and staff, but IaaS is able to mitigate those costs.
3. Release faster. Computing infrastructure for new products can be ready in minutes or hours rather than days or weeks.
4. Scale up and down with demand. IaaS enables you to quickly and easily scale up to accommodate spikes in demand, then to scale down again after the demand has passed. In this way, you only have to pay for what you use.
5. Better stability and reliability. There’s no need to maintain and upgrade infrastructure or deal with equipment issues yourself. The service provider takes care of everything.
6. Better security. Typically, the service provider can ensure better security than what you would be able to provide yourself.
Morpheus is an agnostic cloud management platform (CMP) designed to unify management of multi-cloud and hybrid IT for DevOps teams. It can be used for application lifecycle management, migrating between clouds, and orchestrating hybrid cloud deployments. Its features include automatic monitoring and logging, automatic backups, self-service provisioning of app components, built-in monitoring and incident management, and on-demand scaling and cloning. Users find it to be relatively easy to setup and implement, and it speeds up provisioning and deployments considerably.
Dokku is an open source, self-hosted, and extensible platform as a service (PaaS) that makes deploying applications simple using Git. It is designed to be a single-host version of Heroku, but with a more limited feature set. Dokku can be thought of as a mini-PaaS for simple deployments, such as or hobby and side projects that do not require high availability. It is also a good solution for internal services.
Dokku has a number of plugins that work reasonably well out of the box, including Postgres, Maria DB, Mongo, and Redis. However, because they are supported by the community, some may experience issues or be out of date.Visit Website
Engine Yard is a platform as a service (PaaS) provider that automates, configures and deploys applications in the cloud. It uses Java, Ruby on Rails, PHP and Node.js for deployments, and offers features like load balancing, cloning, and database replication.Visit Website
Red Hat OpenShift is a free and open source container application platform as a service (PaaS) for the development, deployment, and management of applications. It provides developers with an integrated development environment (IDE) for building and deploying Docker-formatted containers, and then managing them with the Kubernetes container orchestration platform. It provides support for Node.js, Ruby, Python, PHP, Perl, and Java and is extensible so that users can add support for other languages.Visit Website
Cloud Foundry is an open source, cloud application platform as a service (PaaS) tool on which developers can build, deploy, run and scale applications. It was originally developed in-house at VMware, but is now owned by Pivotal Software.Visit Website
Flynn is an open source platform as a service (PaaS) tool for running applications in production. It is designed to run anything that can run on Linux, and comes with highly available database appliances, including PostgreSQL, MySQL, and MongoDB.Visit Website
Azure is the cloud computing service created by Microsoft to build, test, deploy and manage applications services. Developers can create services for operating environments that will let them build and host services under the Microsoft’s infrastructure. Azure supports both Microsoft and non-Microsoft languages.Visit Website
OpenStack is a free and open source software platform for creating public and private clouds. It controls large pools of computing, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface. It is very powerful, with a large feature set. The community surrounding the tool is also quite active, with a plethora of documentation available.Visit Website
Rackspace is a managed cloud computing company that aims to make it easy to manage private and public cloud deployments. Its cloud service is both reliable and flexible, with pay-as-you-go scalability, so it is ideal for heavy and unpredictable traffic. It provides Fanatical Support for AWS and Microsoft Azure, and has a strong support team.Visit Website
The Google Cloud Platform (GCP) is a suite of public cloud computing services that run on the same infrastructure that Google uses for Google Search and YouTube. It offers services for computing, storage, networking, big data, machine learning and the internet of things (IoT), as well as cloud management, security and developer tools.Visit Website
Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud. Applications run inside smart containers in a fully managed runtime environment that handles configuration, orchestration, load balancing, failovers, logging, security, and more.
Heroku provides support for the most popular languages such as Ruby and Node.js, high-scale data services including Postgres, Kafka and Redis, and an add-ons ecosystem featuring over 180 cloud application services. Its benefits include fast server setup, easy deployment with Git Push, and a free tier option for beginners looking to experiment in a limited sandbox.Visit Website
Amazon Web Services (AWS) is a secure cloud services platform that provides compute power, database storage, content delivery and other functionality. It is comprised of more than 90 services, the most popular of which are Amazon Elastic Compute Cloud (EC2) and Amazon Simple Storage Service (S3).Visit Website