What is the software that makes the benefits of cloud computing possible such as multi-tenancy?

If you have ever lived in an apartment, you know what it is like to be in a building that contains multiple tenants, or residents. The virtual equivalent of this real-world concept is multi-tenancy cloud computing when one cloud server has multiple customers accessing the same computing resources while their personal data remain separate. In cloud computing specifically, and software in general, multi-tenancy is a single software instance, or copy of a program that is running on a device, that multiple people have access to. The concept has changed how we use our physical devices, allowing access to programs and files on phones, tablets, and multiple computers.

How multi-tenancy works

Why would you want a multi-tenancy model for cloud computing services? For one thing, cloud customers are not aware of each other. While you might hear your apartment neighbors in real life, you will not “hear” other tenants in the cloud. This means you are unlikely to experience slowdowns or service interruptions simply because others share the server that you are on. Multi-tenancy is what makes cloud computing a viable concept. Cloud computing works for most people because companies no longer need to maintain their own physical servers. Someone does that for them off site. But if a cloud computing company had to house one server for every customer, there would not be enough physical room for all the boxes. Multi-tenant cloud computing is based on software as a service, or SaaS. One person has one copy of a piece of software and puts it on their computer. They then grant access to this software to other users, usually as a business or service. Each user’s information remains isolated from other users, even though they use the same program. Cloud computing pivots users to platforms as a service, or PaaS.

Multi-tenant cloud vs. single-tenant cloud

Single-tenant cloud computing is increasingly rare, but it basically means that only one user (whether a person or a company) can access information stored on the server. This does give the tenant more control over managing their data, security, storage options, and overall computing performance. Multi-tenancy on cloud servers, however, gives more people, small businesses, and even charity organizations the ability to access high-quality computing without spending a lot of money or setting up their own server farm.

Multi-tenant cloud computing examples

If you can think of a piece of software, nowadays it is likely cloud-based, meaning it is multi-tenancy cloud computing. Social media sites like Instagram or Snapchat, for example, allow users to access their account from multiple devices, even at the same time. Meanwhile, the programs also have millions of users accessing them at all times of day, all over the world. Online video streaming services like YouTube and Netflix are among the most popular uses of multi-tenant cloud services in the world. Users no longer need to store physical copies of movies and television shows they want to watch, but can instead rent or buy access to a copy of these on a remote server. In some services, they can create and upload their own videos for personal or public storage onto the server, and others can access these copies. Microsoft programs used in businesses or schools are another great example. Multiple users can store files on the cloud drive, share them with other users, and access them from different devices — all without worrying about losing a copy or having an out-of-date draft.

Benefits of multi-tenant cloud computing

There are numerous benefits of multi-tenant cloud computing.

  • No physical server storage space in your home, business, or institution
  • Lower costs for each customer
  • Maximized use of resources, including electricity and heat distribution 
  • Maximized use of human power, as cloud vendors can focus on maintaining the highest quality servers and security, which one person or small organization might not be able to do as efficiently

Disadvantages of multi-tenancy clouds

There are some downsides to multi-tenancy in cloud computing.

  • Storage security requirements: Some government or industry regulations require specific types of storage for security purposes, and multi-tenant cloud computing simply cannot meet these requirements.
  • Security risks: If one “neighbor” has a problem with corrupted files, this could spread to other tenants on the same machine like a virus, although this problem is extremely rare.
  • Server problems: If the physical server suffers a power outage or other problem, it can affect multiple tenants, but this is also very, very rare.
  • Noisy neighbors: One tenant on the server might use a huge amount of computing power, which can slow everyone else down. This is also a very rare occurrence with modern cloud computing.

Okta’s cloud identity services include identity management as well as smart lifecycle management. Users get access to what they need, and only what they need, when they need it.

References

Software-as-a-Service (SaaS). (June 2021). Investopedia.

(PaaS) Platform-as-a-Service. (July 2021). IBM.  

What is the software that makes the benefits of cloud computing possible such as multi-tenancy?

Understand and compare the three most popular cloud computing service models

IaaS, PaaS and SaaS are the three most popular types of cloud service offerings. (They are sometimes referred to as cloud service models or cloud computing service models.)

  • IaaS, or infrastructure as a service, is on-demand access to cloud-hosted physical and virtual servers, storage and networking - the backend IT infrastructure for running applications and workloads in the cloud. 
  • PaaS, or platform as a service, is on-demand access to a complete, ready-to-use, cloud-hosted platform for developing, running, maintaining and managing applications.
  • SaaS, or software as a service, is on-demand access to ready-to-use, cloud-hosted application software.

IaaS, PaaS and SaaS are not mutually exclusive. Many mid-sized businesses use more than one, and most large enterprises use all three.

'As a service' refers to the way IT assets are consumed in these offerings - and to the essential difference between cloud computing and traditional IT. In traditional IT, an organization consumes IT assets - hardware, system software, development tools, applications - by purchasing them, installing them, managing them and maintaining them in its own on-premises data center. In cloud computing, the cloud service provider owns, manages and maintains the assets; the customer consumes them via an Internet connection, and pays for them on a subscription or pay-as-you-go basis.

So the chief advantage of IaaS, PaaS, SaaS or any 'as a service' solution is economic: A customer can access and scale the IT capabilities it needs for a predictable cost, without the expense and overhead of purchasing and maintaining everything in its own data center. But there are additional advantages specific to each of these solutions.

Figure 1 illustrates the customer's and cloud provider's management responsibilities for each cloud service:

What is the software that makes the benefits of cloud computing possible such as multi-tenancy?

Figure 1: Management responsibilities for Traditional IT, IaaS, PaaS and SaaS 

IaaS

IaaS is on-demand access to cloud-hosted computing infrastructure - servers, storage capacity and networking resources - that customers can provision, configure and use in much the same way as they use on-premises hardware. The difference is that the cloud service provider hosts, manages and maintains the hardware and computing resources in its own data centers. IaaS customers use the hardware via an internet connection, and pay for that use on a subscription or pay-as-you-go basis.

Typically IaaS customers can choose between virtual machines (VMs) hosted on shared physical hardware (the cloud service provider manages virtualization) or bare metal servers on dedicated (unshared) physical hardware. Customers can provision, configure and operate the servers and infrastructure resources via a graphical dashboard, or programmatically through application programming interfaces (APIs).

IaaS can be thought of as the original 'as a service' offering: Every major cloud service provider - Amazon Web Services, Google Cloud, IBM Cloud, Microsoft Azure - began by offering some form of IaaS.

Benefits of IaaS

Compared to traditional IT, IaaS gives customers more flexibility build out computing resources as needed, and to scale them up or down in response to spikes or slow-downs in traffic. IaaS lets customers avoid the up-front expense and overhead of purchasing and maintaining its own on-premises data center. It also eliminates the constant trade-off between the waste of purchasing excess on-premises capacity to accommodate spikes, versus the poor performance or outages that can result from not having enough capacity for unanticipated traffic bursts or growth.

Other benefits of IaaS include:

  • Higher availability: With IaaS a company can create redundant servers easily, and even create them in other geographies to ensure availability during local power outages or physical disasters.
  • Lower latency, improved performance. Because  IaaS providers typically operate data centers in multiple geographies, IaaS customers can locate apps and services closer to users to minimize latency and maximize performance.
  • Improved responsiveness. Customers can provision resources in a matter of minutes, test new ideas quickly and quickly roll out new ideas to more users.
  • Comprehensive security. With a high-level of security on-site, at data centers, and via encryption, organizations can often take advantage of more advanced security and protection they could provide if they hosted the cloud infrastructure in-house.
  • Faster access to best-of-breed technology. Cloud providers compete with each other by providing the latest technologies to their users, IaaS customers can take advantage of these technologies much earlier (and at far less cost) than they can implement them on premises.

IaaS use cases

Common uses of IaaS include: 

  • Disaster recovery:  Instead of setting up redundant servers in multiple locations, IaaS can deploy its disaster recovery solution to the cloud provider's existing geographically-dispersed infrastructure.
  • Ecommerce:  IaaS is an excellent option for online retailers that frequently see spikes in traffic. The ability to scale up during periods of high demand and high-quality security are essential in today’s 24-7 retail industry. 

  • Internet of Things (IoT), event processing, artificial intelligence (AI): IaaS makes it easier to set up and scale up data storage and computing resources for these and other applications that work with huge volumes of data.

  • Startups: Startups can't afford to sink capital into on-premises IT infrastructure. IaaS gives them access to enterprise-class data center capabilities without the up-front investment in hardware and management overhead.

  • Software development: With IaaS, the infrastructure for testing and development environments can be set up much more quickly than on-premises. (However, this use case is better suited to PaaS, as you'll read in the next section.)

PaaS

PaaS provides a cloud-based platform for developing, running, managing applications.  The cloud services provider hosts, manages and maintains all the hardware and software included in the platform - servers (for development, testing and deployment), operating system (OS) software, storage, networking, databases, middleware, runtimes, frameworks, development tools - as well as related services for security, operating system and software upgrades, backups and more.

Users access the PaaS through a graphical user interface (GUI), where development or DevOps teams can collaborate on all their work across the entire application lifecycle including coding, integration, testing, delivery, deployment, and feedback. 

Examples of PaaS solutions include  AWS Elastic Beanstalk, Google App Engine, Microsoft Windows Azure, and Red Hat OpenShift on IBM Cloud.

Benefits of PaaS

The primary benefit of PaaS  is that it allows customers to build, test, deploy run, update and scale applications more quickly and cost-effectively than they could if they had to build out and manage their own on-premises platform. Other benefits include:

  • Faster time to market: PaaS enables development teams to spin-up development, testing and production environments in minutes, vs. weeks or months.
  • Low- to no-risk testing and adoption of new technologies: PaaS platforms typically include access to a wide range of the latest resources up and down the application stack. This allows companies to test new operating systems, languages, and other tools without having to make substantial investments in them, or in the infrastructure required to run them.
  • Simplified collaboration: As a cloud-based service, PaaS provides a shared software development environment, giving development and operations teams access to all the tools they need, from anywhere with an Internet connection.
  • A more scalable approach: With PaaS, organizations can purchase additional capacity for building, testing, staging and running applications whenever they need it.
  • Less to manage: PaaS  offloads infrastructure management, patches, updates and other administrative tasks to the cloud service provider. 

PaaS use cases

PaaS can advance a number of development and IT initiatives including:

  • API development and management: With its built-in frameworks, PaaS makes it easier for teams to develop, run, manage and secure APIs for sharing data and functionality between applications. 

  • Internet of Things (IoT):  PaaS supports a range of programming languages (Java, Python, Swift, etc.), tools and application environments used for IoT application development and real-time processing of data from IoT devices.

  • Agile development and DevOps: PaaS solutions typically cover all the requirements of a DevOps toolchain, and provide built-in automation to support continuous integration and continuous delivery (CI/CD).

  • Cloud-native development and hybrid cloud strategy: PaaS solutions support cloud-native development technologies - microservices, containers, Kubernetes, serverless computing - that enable developers to build once, then deploy and manage consistently across private cloud, public cloud and on-premises environments.

Learn more about hybrid cloud

SaaS

SaaS (sometimes called cloud application services) is cloud-hosted, ready-to-use application software. Users pay a monthly or annual fee to use a complete application from within a web browser, desktop client or mobile app. The application and all of the infrastructure required to deliver it - servers, storage, networking, middleware, application software, data storage - are hosted and managed by the SaaS vendor. 

The vendor manages all upgrades and patches to the software, usually invisibly to customers. Typically, the vendor ensures a level of availability, performance and security as part of a service level agreement (SLA). Customers can add more users and data storage on demand at additional cost.

Today, anyone who uses a or mobile phone almost certainly uses some form of SaaS. Email, social media, and cloud file storage solutions (such as Dropbox or Box) are examples of SaaS applications people use every day in their personal lives. Popular business or enterprise SaaS solutions include Salesforce (customer relationship management software), HubSpot (marketing software), Trello (workflow management), Slack (collaboration and messaging), and Canva (graphics). Many applications designed originally for the desktop (e.g., Adobe Creative Suite) are now available as SaaS (e.g., Adobe Creative Cloud).

Benefits of SaaS

The main benefit of SaaS is that it offloads all infrastructure and application management to the SaaS vendor. All the user has to do is create an account, pay the fee and start using the application. The vendor handles everything else, from maintaining the server hardware and software to managing user access and security, storing and managing data, implementing upgrades and patches and more.

Other benefits of SaaS include:

  • Minimal risk: Many SaaS products offer a free trial period, or low monthly fees that let customers try the software to see if it will meet their needs, with little or no financial risk.
  • Anytime/anywhere productivity: Users can work with SaaS apps on any device with a browser and an internet connection. 
  • Easy scalability: Adding users is as simple as registering and paying for new seats; customers can purchase more data storage for a nominal charge.

Some SaaS vendors even enable customization of their product by providing a companion PaaS solution. One well-known example is Heroku, a PaaS solution for Salesforce. 

SaaS use cases

Today, just about any personal or employee productivity application is available as SaaS; specific use cases are too numerous to mention (some are listed above). If an end user or organization can find a SaaS solution with the required functionality, in most cases it will provide a significantly simpler, more scalable and more cost-effective alternative to on-premises software.

SaaS versus PaaS versus IaaS: Management ease versus complete control

SaaS, Paas, IaaS are not mutually exclusive; most organizations use more than one, and many larger organizations today use all three, often in combination with traditional IT.

Obviously, the as-a-service solution a customer chooses depends first on the functionality the customer requires, and the expertise it has on staff. For example, an organization without the in-house IT expertise for configuring and operating remote servers isn't well matched to IaaS; an organization without a development team has no need for PaaS. 

But in some cases, any of the three 'as-a-service' models will offer a viable solution. In these cases, organizations typically compare the alternatives based on the management ease they offer, vs. the control they give up. 

For example, suppose a large organization wants to deliver a customer relationship management (CRM) application to its sales team. It could:

  • Choose a SaaS CRM solution, offloading all day-to-day management to the third-party vendor, but also giving up all control over features and functionality, data storage, user access and security.
  • Choose a PaaS solution and build a custom CRM application. In this case, the company would offload management of infrastructure and application development resources to the cloud service provider. The customer would retain complete control over application features, but it would also assume responsibility for managing the application and associated data.
  • Build out backend IT infrastructure on the cloud using IaaS, and use it to build its own development platform and application. The organization's IT team would have complete control over operating systems and server configurations, but also bear the burden of managing and maintaining them, along with the development platform and applications that run on them.

IaaS, SaaS, PaaS  and IBM Cloud 

IBM has a broad menu of IaaS, PaaS and SaaS offerings to meet your company’s needs up and down the stack. IBM’s rich and scalable PaaS solutions help organizations develop cloud native applications from scratch, or modernize existing applications to benefit from the flexibility and scalability of the cloud. IBM also offers a full IaaS layer of virtualized compute, network, and storage within our full-stack cloud platform, and more than 150 SaaS business applications to help you innovate. 

Take the next step: 

  • Jump-start development and app modernization with IBM Red Hat OpenShift on IBM Cloud, a fully managed OpenShift service that uses the enterprise scale and security of IBM Cloud to automate updates, scale and provision, and handle unexpected surges in traffic.  
  • IBM Cloud Kubernetes Service is a certified Kubernetes solution that provides intelligent scheduling, self-healing, horizontal scaling and more.  
  • With IBM Code Engine, a fully managed, serverless platform, IBM Cloud Code Engine will manage and secure the underlying infrastructure for you. Bring your container images, batch jobs, or source code and let IBM handle the size, deployment and scaling of your container clusters. 
  • IBM Cloud Satellite is a hybrid cloud IaaS that helps companies better deploy and run apps consistently across on-premises, edge computing, and public cloud environments from any cloud vendor.

To get started, create an IBM Cloud account today.