Explaining the Main Services in Cloud Computing

Are you looking to develop a new cloud based storage solution to meet the needs of your business? By explaining what cloud based services are, the main services in cloud computing and the advantages of cloud computing, we hope to give you the knowledge you need to understand the ins and outs of cloud computing. In this guide will address commonly asked questions like, “what are cloud services?” and “what is cloud computing?”, as well as looking in-depth at the different services in cloud computing.

What’s Cloud Computing and How Does it Work?

Cloud computing, or cloud based services, provide companies and customers easy and affordable access to applications and resources online, without internal infrastructure or hardware.

The cloud is all the things you can access remotely over the Internet. If data is stored in the cloud, it’s stored on Internet servers instead of the computer’s hard drive.

The Advantages of Cloud Computing

1.   Flexibility

Cloud based services enable flexibility in the workplace. Amid global pandemic, cloud storage has been a lifeline for many companies, making working from home a more feasible option.

2.   Efficiency

Cloud storage allows users to access and download data on their chosen device and edit files alongside other users. An example of cloud computing is Gmail, where users can access files and applications hosted by Google via the Internet from any device.

3.   Cost Reduction

As long as you have a secure Internet connection, there is no need to spend on buying and maintaining hardware.

4.   Scalability

Cloud computing suits companies of all sizes. It is easy to cope with a growing business’s demands by purchasing more cloud storage rather than physical equipment.

5.   Access to updates

Depending on your provider, your cloud system will regularly be updated with the latest technology, ensuring any sensitive data remains secure and giving you the edge over the competition.

Cloud Based Services Explained

The three main types of cloud services are the SaaS platform, the PaaS platform and the IaaS platform.

What is the SaaS Platform?

cloud-based-services

Software-as-a-service (SaaS) is a method of centrally cloud-hosting and licensing software on a subscription model rather than an “old-fashioned” one-off license payment for installed software. Your company provides information to customers and internally via a modern, cloud-hosted, reliable infrastructure using industry-standard APIs (Application Programming Interfaces).

Until recently, it was common for a software vendor to sell their software packages on discs or as downloads that needed to be installed on specific computers. This process was problematic for many reasons.

1. First, it meant that users were responsible for installing their upgrades (which they would often not do), which meant that the vendor’s support was difficult as they would be dealing with multiple versions of the same product.

2. Secondly, this model’s pricing was frequently unattractive for some customers as it required large, one-off capital expenditure.

3. Thirdly, the customer would be required to provide the infrastructure on which the software would run, which was an administrative burden.

4. Finally, the software would usually be limited to work on a small number of operating systems (e.g., it would only work on Windows 10 or a Mac, etc.).

SaaS is a way of delivering applications over the Internet as a service. This cloud based service provides software as a web browser-based product, centrally hosted by the vendor with a cloud provider (such as Microsoft Azure). Therefore, all upgrades are managed centrally by the vendor so that all customers are on the same version. The customer also requires only a web browser to run the software and does not need a server-based IT infrastructure of their own.

The SaaS software usually works in all major web browsers, which means that users of Macs, Windows PCs, Linux, iPhones, iPads, Android devices etc. can all use the software.

Advantages of SaaS

1. Unlock Your Company’s Information

Legacy systems are frequently focussed on internal efficiencies and business processes in a company. These systems were not designed or implemented with the customer in mind, and it is often hard to expose the information locked away inside them so that customers can see it. Creating your own SaaS platform unlocks this information so that customers can quickly and easily access the information they need, regardless of where that information is currently stored.

2. Give Easy Access to Critical Business Functions

Existing IT systems tend to be geared around the business processes that were critical in yesteryear. Still, those systems frequently do not allow the business to address to challenges of today and tomorrow. A modern business challenge may require multiple legacy systems to co-ordinate the flow of work or information. This flow cannot be achieved all too frequently as the legacy systems were not designed to communicate with each other. A SaaS platform will allow these systems to be connected to created new business-critical functions to meet the challenges of your organisation today and tomorrow.

3. Create Great, Self-Service Experiences

A SaaS platform allows your business units and customers to access key functions and data from your legacy systems to achieve their goals. By creating SaaS APIs, you will allow your customers to integrate your systems directly into theirs. You are, therefore, giving your customers a more fluid experience when interacting with your company (e.g. simple order placement). This platform can also give you a competitive advantage – customers who have invested in integrating with your IT systems are more likely to carry on business with you than switch to another supplier.

4. Leverage Cloud Platforms

Cloud platforms such as Microsoft Azure provide lots of great features for SaaS developments. These include new “serverless” functions that allow business-critical functions to be created in a scalable way without the burden of managing a large IT infrastructure.

Cloud platforms are globally distributing and allow many different caching and replication strategies. These ensure that your customers and staff all over the world get the fastest and most reliable access to your SaaS systems.

5. Use Modern Technology With Legacy Systems

Developing a SaaS platform should not mean throwing away existing, proven systems and replacing them with enormous, complex, expensive new systems. A Progressive Digital Platform is an approach to developing SaaS that means you can retain and leverage your investment in your existing IT real estate whilst incrementally delivering new values through your SaaS platform.

At your convenience, you may then choose to replace some or all of your systems incrementally over time, and thus avoid the “big bang” deployment of a massive new computer system.

Disadvantages of SaaS

1. Vendor Lock-In

Not every vendor complies with the government’s data protection regulations, and it can be hard to get out of a service. Therefore, you must learn which rules apply to your company and ask any questions before making agreements.

2. Data Security

As SaaS platforms require trusting a third-party provider, it is important to address issues such as identity and access management when it comes to your company’s sensitive data.

3. Performance Issues

Expect downtime with a SaaS platform. The vendor controls and manages the SaaS rather than an application run from the employee’s desktop. Therefore, a fast and secure Internet connection is vital to avoid performance issues.

4. Difficult Software Integration

With an external SaaS service provider, there may be limited integration support on hand. If the provider hosts multiple Apps, your applications may conflict with existing in-house software. Save yourself time and money by checking compatibility before making any agreements.

5. Lack of Customisation

Be aware that you may be limited to the specific functionality and performance offered by your third party vendor.

When to Use a SaaS Platform

The financial model of monthly (or annual) subscription payments rather than a one-off license payment is more appealing to smaller customers which expands the market size for the vendor. It also has the effect of smoothing out the cashflow of the vendor too, giving a more stable and reliable cash flow.

Examples of a SaaS Platform

Some examples of SaaS platforms are Dropbox, MailChimp, Slack and Hubspot. Each of these platforms allows users to access and download data on their chosen device and can edit files alongside other users.

What is the PaaS Platform?

advantages-of-cloud-computing

Platform-as-a-service (PaaS) is a method of delivering a platform for application development via the cloud. Platform-as-a-service is primarily aimed at computer programmers, but some instances can be used by non-programmers to achieve simple automation objectives.

Platform-as-a-service typically provides the software that computer programmers use to build software. PaaS platforms could include databases (such as Azure SQL Server), runtimes (such as .Net Core or Java), Web Servers (such as IIS or Apache), API Management components etc. Historically, software vendors would have purchased then installed, managed and upgraded this myriad of software components themselves. Often, this was time-consuming and not particularly innovative.

Also, a great (and frequently inaccurate) effort was made to size the target application and purchase the correct license for the product. For example, for a SQL database, one would estimate the number of transactions required, the number of CPU resources required, the memory required etc. and try to find a matching database license. Over-estimating consumption would mean that too much money was spent on licensing, whereas underestimating would limit throughout or require expensive upgrades.

Platform-as-a-service solves these problems by providing an elastic cloud-based approach to providing these components.

Advantages of PaaS

1. Scalability

An elastic system of simple upgrades/downgrades is provided via a console application which would allow (manually or automatically) developers to scale up or down components as demand changes.

2. Quick Time-To-Market

A cloud provider (such as Microsoft Azure) will install, upgrade and maintain components so that the burden of doing so is removed from the developer.

3. Efficiency for Developers

A PaaS platform provides backend resources, access to tools, templates and code libraries to make the process of development quicker.

4. A Cost-Effective Option

The licensing of PaaS is usually a monthly/annual subscription model which eliminates the need to purchase expensive one-off licenses and instead pay a much smaller periodic subscription.

5. Develop for Multiple Platforms

Most vendors provide platforms for developing desktop and mobile applications across multiple channels.

Disadvantages of PaaS

1. Vendor Lock-In

While a PaaS platform can be cost-effective in the short term, it may be difficult to switch providers after developing an application as it is built using a specific set of tools. Carefully consider your options, as choosing to switch your vendor could be costly in the long-term if your new provider does not support the same languages, libraries, APIs or operating system used to build and run applications.

2. Data Security

Similar to SaaS platforms, PaaS might require you to trust a third-party provider. Be aware of your providers’ security and compliance protocols and ensure that your system is private to protect your company’s sensitive data.

When to Use a PaaS Platform

As a developer, you can use a PaaS platform to scale up or down components as demand changes. The switch can save you time and money and allows you to concentrate on developing Apps to fulfil your customers’ needs.

Example of a PaaS Platform

Microsoft Azure is a great example of a PaaS platform, as it offers a complete platform where clients can host applications without having to worry about the maintenance of the servers and its operating systems.

What is the IaaS Platform?

Infrastructure-as-a-service (IaaS) deals with providing a low-level IT infrastructure via the cloud.

In the past, organisations would create and manage their servers and server-racks. They would have to change failing hardware components (such as hard discs) themselves, as well as managing updates and security upgrades. The IT department would usually also have to provide extensive firewall and anti-virus security around the infrastructure to keep it safe from thieves and attackers. Periodically hardware would be renewed as it wore out, or become obsolete, or incompatible with newer software. Estimating infrastructure size (e.g. memory requirements, disk space requirements, etc.) was also fraught with problems, as it was a one-off exercise that was difficult to modify as the business environment changed.

The one-off costs associated with purchasing IT infrastructure were also significant, not just in terms of server purchase, but the establishment of power, cooling and a clean environment to keep the infrastructure in good working order.

Cloud providers give Infrastructure-as-a-service to organisations by centrally hosting large data centres all over the world. The purchase, maintenance, repair and operations of the IT infrastructure is carried out exclusively by the cloud provider. Typically, customers will have a “virtual” IT infrastructure within the cloud providers data centre.

For example, a server provided by an IaaS platform is usually a virtual server that is hosted on more than one real, physical server. If the physical hardware fails, the virtual server will transparently and immediately move over to another physical server with little or no downtime. Network, storage, memory, CPU time etc. can all be managed from an IaaS console by the customer without ever having to see the real hardware.

Advantages of IaaS

1. Scalability

The elastic model of IaaS means that the virtual IT infrastructure can be scaled up and down quickly and easily to meet changing demand. 

2. Pay-as-you-go

The cloud subscription model means that large one-off capital expenditures are not required to purchase servers or infrastructure. A smaller monthly or annual payment based on usage is typically charged instead.

3. Flexibility

The IaaS platform allows businesses to purchase resources on-demand instead of having to buy the hardware outright.

4. Available When the Server is Down

The IaaS platform is reliable, so if any hardware components fail or your Internet connection drops, your organisation’s infrastructure will not be affected.

5. Control over Infrastructure

IaaS allows you to control your infrastructure without having to manage it on-site physically.

Disadvantages of IaaS

1. Data Security

Your organisation doesn’t have internal control over cloud security. Be aware of your providers’ security and compliance protocols and ensure that your system is private to protect your company’s sensitive data.

2. Maintenance

Your organisation is responsible for any maintenance and upgrades.

3. Additional Training

Using a new cloud computing provider may require additional workforce training to manage new infrastructure effectively.

When to Use an IaaS Platform

The IaaS platform operates with pay-as-you-go pricing, making it a cost-effective option for companies of all sizes. Particularly if you are a:

  • Company with a small budget for creating infrastructure.
  • Growing company with growing demands.
  • Large company who wants to have effective control over infrastructure but only pay for the resources you use.

Example of an IaaS Platform

Amazon Web Service is an example of an IaaS platform. It’s used for on-demand cloud computing, and organisations can purchase on a subscription basis. The platform helps companies store data and deliver content.

How to Choose a Cloud Based Service?

The various forms of service form a pyramid. Infrastructure-as-a-service forms a base layer upon which the other services sit. On top of this, sits Platform-as-a-service to simplify the development and deployment of specific applications. On top of this, applications are delivered as Software-as-a-service.

SaaS vs PaaS vs IaaS

All of these services share an elastic model in which services can be scaled up or down as needed. Also, they all provide a small monthly fee instead of a single, large one-off payment. All cloud based services achieve their objectives by providing a layer of abstraction to hide the expensive, complex and messy implementation details from the end customer. The key benefit of all of these services is, therefore that they all free up resources that were previously spent on maintaining an IT infrastructure so that the customer can focus on their innovative ideas instead.

SaaS Platform

Advantages

1.      Unlock your company’s information

2.      Give easy access to critical business functions

3.      Create great, self-service experiences

4.      Leverage cloud platforms

5.      Use modern technology with legacy systems

Disadvantages

1.      Vendor lock-in

2.      Data security

3.      Performance issues

4.      Difficult software integration

5.      Lack of customisation

PaaS Platform

Advantages

1.      Scalability

2.      Quick time-to-market

3.      Efficiency for developers

4.      A cost-effective option

5.      Develop for multiple platforms

Disadvantages

1.      Vendor lock-in

2.      Data security

IaaS Platform

Advantages

1.      Scalability

2.      Pay-as-you-go

3.      Flexibility

4.      Available when the server is down

5.      Control over Infrastructure

Disadvantages

1.      Data security

2.      Maintenance

3.      Additional training

With almost half of the UK workforce working from home at the height of the global pandemic, companies require the flexibility of cloud based services now more than ever. This blog should make clear the main advantages of cloud computing to the efficiency of organisations going forward. If you wish to discuss the services in cloud computing in further detail, please contact us.

Want to know more about digital transformation platforms? Check out our expert guide to using digital platforms.

Nick McKenna
Since 2004, Nick McKenna, BSc, MBCS Biography has been the CEO of McKenna Consultants. McKenna Consultants is a bespoke software development based in North Yorkshire, specialising in Cloud development, mobile App development, progressive web App development, systems integration and the Internet of Things development. Nick also holds a First Class Degree in Computer Science (BSc) and wrote his first computer program at the age of nine, on a BBC Micro Model B computer. For the last 21 years, Nick has been a professional computer programmer and software architecture. Nick’s technical expertise includes; Net Core, C#, Microsoft Azure, Asp.Net, RESTful web services, eProcurement, Swift, iOS mobile development, Java, Android mobile development, C++, Internet Of Things and more. In addition, Nick is experienced in Agile coaching, training and consultancy, applying modern Agile management techniques to marketing and running McKenna Consultants, as well as the development of software for clients. Nick is a Certified Enterprise Coach (Scrum Alliance), SAFe Program Consultant (SAI), Certified LeSS Practitioner (LeSS) and Certified Scrum@Scale Practitioner. Outside the office, Nick is a professional scuba diver and he holds the rank of Black Belt 5th Dan in Karate.