In this article, we will try to understand in the simplest possible way; What is a cloud? What are different cloud offerings? How does it work for you?
Cloud computing constitutes a broad range of services. The web is the common thread between all of these. So something sitting on your desktop and able to operate on its own is not a cloud service.
Key characteristics of a cloud-based solution are:
- It is available on demand.
- It can be accessed through standard platforms like desktop, laptop, mobile.
- It can be used by multiple people.
- People can share resources.
- It can easily handle the increase/decrease of the user base.
- The solution can scale up/down easily.
- Billing for the service can be easily measured.
There are different types of cloud computing services commonly classified as Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). In a very simplistic explanation:
- SaaS – is software delivered over the web.
- PaaS – is platform delivered over the web, for the creation of the software.
- IaaS – is infrastructure (hardware/software) delivered over web as an on-demand leased service.
Let’s take a deeper look at these services.
Software as a Service (SaaS)
Characteristics:
- It is available through the web either as a paid/free service.
- It is centrally managed and delivered to all.
- Software users should not require updating software or applying patches.
- Exposes APIs (Application Programming Interfaces) to allow integration between different modules.
- Generic solutions are used by a variety of users.
- Solutions that need to be used over multiple channels (web, mobile), locations (home, office, on the way)
- Data sensitive applications with legal limitations.
- Solutions are used by a defined set of users (employees of a specific company)
Platform as a Service (PaaS)
Characteristics:
- Provides services to help in the development of software products.
- Provides services and solutions to develop, test, deploy, host, manage software applications.
- Allows for multiple developers can work on the platform in parallel.
- Provides capability for failover, scalability, load balancing within the platform.
- Supports standard API, third party, DB integration protocols.
- Provides built-in support for features such as subscription management, billing for the applications built using the platform.
- All the all technical stack requirements are met by platform offerings.
- Automation is paramount in testing, build, release.
- The application needs to be portable from a hosting perspective.
- Proprietary languages, technologies, practices would be required.
- Resources (hardware and software) are available as service.
- Allows for scaling up/down dynamically.
- Have billing/pricing based on usage.
- Provides capability for failover, scalability, load balancing within the platform.
- Resources can be shared between different users.
- Requirements can change dynamically; may go up/down.
- For people/companies who do not want to invest (both money and labour) too much on hardware.
- For people who want to try something temporarily.
- Cases in which there are too much regulatory, security, legal factors are involved related to storage.
Comments