Cloud Computing is fast becoming the standard environment for IT departments and development teams. The outsourcing of resources and platforms allows companies to streamline their process and cut down on costs and maintenance.
Setting up IT infrastructure can be a costly, time consuming activity for a company. Alongside establishing network and hardware requirements, maintaining that infrastructure can also be a drain on time and resources for an IT department.
For this reason, many companies are opting for the “As a Service” model, driven by cloud computing technology. There are three offerings in the As a Service model; Software as a Service, Platform as a Service and Infrastructure As a Service. These services are sold or licensed by a vendor, all powered by cloud computing.
Cloud Computing makes technological resources available to teams via their browser, without the need to install expensive hardware, software and maintaining them. This has the potential to reduce costs and maintenance concerns by providing fast, lightweight and powerful applications, accessible through the internet.
Cloud Computing and “As a Service”?
American IT company Compaq is credited with the first written mention of “Cloud Computing” computing in an internal document in 1996. However, far earlier than that in 1977, the wide area network ARPANET used a ‘cloud’ symbol to represent computing networks. The ARPANET was an early predecessor to the internet, utilising packet data which is a primary protocol of the modern day internet.
In 1993, Apple spin-off General Magic began to refer to platforms for distributed computing as ‘Cloud’, exploring the possibility of distributed networks where components are located on different computers in a network, accessible by others in that network.
It should be noted that there is no single individual or organisation responsible for Cloud Computing. Instead, it was widely recognised as one of the main potential uses of the technology from the outset. There are many procedures and protocols which have been built on early predecessor ideas and have laid vital ground for the smooth platform experience now offered by many companies.
In the modern day, Cloud Computing refers to the on demand availability of computing resources, without the need for management by the user. Frequently, these are data storage (Apple iCloud) and computer processing power, though there are many other potential applications when considering the “As a Service” industry. When purchased As a Service, the software, platform or infrastructure is maintained and debugged by the vendor.
There are a few occasions where cloud based services are not appropriate for a company, but for many businesses, the convenience and other benefits far outweigh any potential cons for the use of ‘As a Service’ offerings.
Cloud Computing Trio
Cloud Computing when offered “X As a Service” (XaaS), refers to end users receiving something as a service from a vendor, accessible through the cloud. In computing terms, this is divided into three offerings, each with a distinct purpose in the computing world.
Infrastructure as a Service (Iaas)
Infrastructure as a Service is the most complex to implement and correctly manage. It refers to key computing needs such as storage and power that have been virtualised by a vendor. This virtualisation allows users to configure and manage settings as their requirements dictate.
Since this can be a complex procedure, the end user of IaaS is usually an IT manager, or a System Admin, who is specialised in establishing IT infrastructure.
Platform as a Service (PaaS)
Platform as a Service sits in the middle of the ease of use hierarchy, easier to use and implement than IaaS, but still requiring some understanding of how the three offerings interact with each other in a fully cloud powered IT setup.
PaaS provides a platform for the resources that are provided by IaaS. It takes the storage and other virtual resources necessary for developing applications and moves them into a cloud based server.
PaaS is usually used by software developers, as it provides a virtual, cloud based environment for development of large scale apps.
Software as a Service (Saas)
Software as a Service is the end result of the two XaaS. It is any software which a user does not have to install or manage the updating of. Examples of this are many popular websites such as Youtube or Netflix, whose updates are managed entirely free from user interaction.
This is the simplest to use and the lowest in complexity to implement. The end user for SaaS is almost anybody.
Cloud Computing Benefits
Cloud Computing offers a great number of benefits to users, as we would expect from a widely adopted technology, some of these are generalised benefits, applicable to any cloud based offering.
Cloud Computing requires an initial entry cost to implement its services, but the return on an investment to distributed resources can be significant. Time savings will boost productivity and many offerings are pay as you go, meaning you don’t pay for what your company isn’t using.
Distributed resource networks are more secure than single server networks. Cloud computing vendors and providers are specialists in correctly allowing and restricting access to their data and platform, after all, it’s their job! As a result, security for cloud platform vendors is usually significantly higher than traditional in house IT security.
It’s claimed that 94% of businesses saw an improvement in security when switching to cloud based platforms.
Outsourcing IT requirements to cloud technology can significantly free up time for a business and their employees. Maintaining infrastructure especially requires specialised knowledge and a significant amount of time. When outsourced, this all becomes the responsibility of specialist providers.
Much of our interaction with the internet is now using Smartphones or Tablets, including in the world of business. In the era of remote working, mobile access to the cloud allows for better communication between employees at a distance.
Analytics alone are a large part of any business in the 21st century. Increased access to consumer data has changed the way we understand marketing. Cloud based providers often include high level analytics as part of their offering.
Collaboration with cloud based services is simplified, as all users of the service have the same access to the distributed resources. We’ve spoken in an earlier post about how effective collaboration is key to the success of a project, some cloud based software even comes with dedicated channels for inter-team communication.
Disaster Recovery & Loss Prevention
Cloud based computing offers significantly increased loss prevention and disaster recovery. Tied closely to increased security, cloud based providers are specialists in both disaster recovery and loss prevention.
Updates & Sustainability
Cloud based computing is managed by the vendor, meaning they are responsible for updating and maintaining a system. This increases the expected lifespan of products and also saves time for a team that has outsourced software updates to the vendor.
Cloud based computing is also more environmentally friendly, as they reduce the need for physical services and hardware.
Where Platform as a Service can be especially beneficial, is in avoiding the complex configuration of settings as required by the IaaS model. PaaS allows developers and dev teams to streamline their time efficiently. It also allows for the development of large scale, complex applications in a simple environment.
When used in a Development context, the PaaS vendor will be responsible for most of the development environment, including servers, storage, network, virtualisation, operating system, runtime and any middleware.
This means all a developer has to provide is their data and the application.
This has some specific benefits, and a couple of minor drawbacks.
Since the vendor is providing much of the infrastructure and environment, it is assumed that PaaS offerings are fast and lightweight. Similarly, it is easy to create and delete applications, which can be useful for demonstrating concepts temporarily. The need for a system admin is outsourced and many offerings will come with a number of extra tools such as Dev ops, collaboration tools and API’s.
One possible drawback is the lack of perceived control of the development environment when PaaS is implemented. However, it is possible to see this as a benefit, as the complexity of establishing, using and maintaining an IaaS offering requires specialist IT knowledge.
Likewise, vendor lock-in can also be potentially damaging. Since many PaaS vendors use subscriptions to lock their clients in, it can be tricky contractually and in an interoperability sense to migrate or scale apps up from the platform they have been developed on.
For this reason, it is important to have a vendor for your PaaS with which there is a good, established relationship and a level of trust.
The benefits for cloud computing and Platform as a Service far outweigh the potential drawbacks for their use. Indeed, the world continues to move towards cloud based offerings and does so because of their acknowledged advantages over traditional computing structures.
The possible issues with their use can also be negated by choosing the correct provider for the service, ensuring the development environment offered is consistent with the needs of their development team.
Usually this PaaS is offered as a pay per use basis, but it is possible to use these on a pay monthly basis. Which of these is the correct choice will come down to individual business needs.
WQA provides supercharged digital product development for growth driven companies around the world. Working with Startups, Scale-ups and Enterprise, we design, build and scale digital products, experiences and platforms used by millions of people.