Today’s guest post comes courtesy of Dmitrii B., the CEO and founder of GRIN tech – a full service digital agency in design, marketing, and web development alongside white-label agency & media outreach.
IDC research suggests that, worldwide, business will spend $553 billion cloud tech by 2021.
Public clouds have become easier to access and cheaper to use, so they’re becoming attractive to businesses of all sizes. This growth to $554 billion, which about doubles spending from 2016, highlights the demand for simple-to-use cloud services that benefit various business operations.
To understand the application of cloud services to software and infrastructure, we can take a deeper look at the key concepts of SaaS, PaaS, IaaS. You can link to any of the sections below by following this navigation:
- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
The Essence of Cloud Solutions
Clouds have appeared as a reflection of the general trend of the shared consumption economy, which is focused on use instead of ownership. This has already given us the exchange of housing, car sharing, and even wedding dresses for rent.
There are more and more things and services that can be used and paid for only by their actual use, without large capital expenditures for the purchase.
In the case of IT infrastructure, capital costs can be significant. Paying for this expensive infrastructure can unnecessarily weigh down business, so adoption of a rental model (the cloud model) is often justified.
In addition to potential savings in capital costs, there are other significant advantages:
- Speed: Leading suppliers can get a cloud in minutes/hours.
- Flexibility: Visualization technologies allow you to get as many computing resources as you need here and now. Missing and buying too slow a server is not a problem.
- Saving on associated costs: Including uninterrupted power supply to the server
- In certain cases, savings on maintenance personnel (more details below)
Sounds promising, huh? Just keep in mind the drawbacks:
- Connection Dependency. You need a stable internet connection for cloud services to work.
- Limited Features & Lack of Control. Say you implement a cloud-based CRM system. It’s all good, but then you need just this one new feature… but you don’t own the product to make the decision.
- Security. For businesses that desire strong security practices they control, it can be worthwhile to hire an in-house team rather than leave security detail to a third party.
- Technical Issues. You cannot fix your cloud computing problems in-house, and some providers do not offer around-the-clock technical support.
There are three main formats of cloud solutions by the service model to explore: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS).
Software as a Service – SaaS
The most user-friendly clouds. You just work in the necessary programs via the internet (without installing them on your device).
- Technical details are completely hidden. You connect through the internet to the ready-made program.
- Update, performance, and other technical issues and problems are handled by the service provider.
- Lightning-fast onboarding (mostly). It is enough to order a service and you can use it in a few minutes.
- Limited selection because some software is provided only as native to Windows/Mac/Linux/Android
- You have no control over customization of how the programs operate.
- The SaaS service provider must be trusted to provide a high quality of work.
- This route of program use can be expensive, especially when its spread across hundreds of employees.
Examples of SaaS
As a rule, SaaS is provided by the developers of these very applications. There’s often a need for businesses to adopt multiple vendors to see all their needs met for cloud software use.
- Microsoft Office 365
- VirtualPBX providing “best in VoIP services”
- Various CRM systems, which are often cloud-only
- Google Analytics, etc
Platform as a Service – PaaS
You rent a certain computing platform consisting of virtual computing services (analog of the central processor and server RAM), data storage services (analog of the server hard disk), data transmission services (traffic consumption), etc.
You can design arbitrary virtual computers with a variety of system and user software. Suppliers – the leading IT companies with a worldwide reputation – provide stable operation of these computers and programs. Solutions in this area are popular with corporate customers and developers.
- Amazing flexibility – you can build a computer of any capacity (from a micro server comparable in power to a smartphone to a cluster of hundreds of thousands of servers), and install on it a variety of applications.
- Major suppliers have huge geographically distributed networks, which allows you to easily deploy fast, mass and fault-tolerant applications.
- There is an opportunity to additionally connect advanced services, in which Oracle, Microsoft, Google have unique competencies – the use of artificial intelligence, analysis of large amounts of information, etc.
- You can often pay only for consumed resources rather than a block of allowed resources
- To use it, it is necessary to “assemble” the system of virtual components. This requires specific knowledge and skills.
- Each platform imposes its own restrictions on implementation, there is no complete freedom in implementation.
- There is a high base cost.
Examples of PaaS
This table notes a number of major PaaS providers and their product offerings in a range of capacities such as web hosting and database hosting:
|Google Cloud Platform||Amazon Web Services||Microsoft Azure||Oracle Cloud|
|Computing Power||Google Compute Engine||Amazon EC2||Azure Virtual Machines||Oracle Cloud Infra OCI|
|Web & App Hosting||Google App Engine||AWS Elastic Beanstalk||Azure Cloud Services||Oracle Application Container|
|Container Application Hosting||Google Kubernetes Engine||Amazon EC2 Container Service||Azure Container Service||Oracle Kubernetes Service|
|Serverless Computing||Google Cloud Functions||AWS Lambda||Azure Functions||Oracle Cloud Fn|
|SQL Databases||Google BigQuery||Amazon Redshift||Microsoft Azure SQL Database||Oracle Autonomous DataWarehouse|
|NoSQL Databases||Google Cloud Bigtable
Google Cloud Datastore
|Amazon DynamoDB||Azure Cosmos DB||Autonomous NoSQL|
|Data Storage||Google Cloud Storage||Amazon S3||Azure Blob Storage||Oracle Cloud Storage OCI|
The total cost of PaaS use considers the consumed computing resources, space in storage, and the amount of data transferred over the network. Idle servers are cheap whereas often-used servers can become expensive. This Amazon Web Services calculator lets you input these considerations to get an idea of the costs you might incur.
Infrastructure as a Service – IaaS
You rent a server/computing resources. The service provider is guaranteed to work at the server level (electronic filling of the server, internet, power supply, etc.) / virtualization technology (see below).
There are three formats for providing the service:
- Dedicated server: Renting a separate physical server that can be used only by you. It has a relatively high cost but guarantees that all the computing resources of the server are fully at your disposal. The provider provides full administrative access to the server, and your specialist sets it up the way you want it.
- IaaS for a pure virtual data center: The provider installs special virtualization programs on one or more servers and then passes access to the management interface of these programs to you. This approach is very flexible, as you can create and configure any number of virtual servers for yourself.
- VPS/VDS as a virtual private/dedicated server: This is when the IaaS from the previous point is configured by the vendor for you and only transfers access to virtual servers that you cannot change. Important differences are the virtualization technology used (e.g. KVM / XEN / OpenVZ / Hyper-V / VMware) and the guaranteed performance. VPS/VDS can offer low cost but may also show low/unstable performance due to overselling.
- The purchase of the server is not always reasonable, as it becomes obsolete over time. By renting a server, you can always change or update it with minimal costs.
- It is possible to choose and manage the performance and parameters of the server as you want.
- Complete freedom to install any operating systems or programs you need.
- It requires an engineer to set up and maintain.
- Often, there is a specific server/virtualization specification that is tied to the characteristics of the server/virtualization technology. This may lessen the flexibility of server use.
Examples of IaaS
The market is saturated with vendors. Our personal experience at GRIN tech is with a 32GB RAM monster from Hetzner that costs us around $55 per month. It hosts approximately 15 projects and still has a lot of room left for company expansion.
From my experience on client projects and what I see in the industry, I’d say for pretty much every need small and medium businesses are facing there already exists some sort of cloud solution.
Even when a company decides to build something with in-house devs – the infrastructure itself can easily rely on cloud infrastructure from a 3rd party vendor.