Cloud computing is currently one of the key domains of research. It is used for the delivery of assorted computing services including telecommunications, storage, platforms, software, virtual infrastructure and many others. Cloud computing offers the delivery of virtual resources without the need to worry about establishing and maintaining the actual infrastructure. The end users of cloud services access the remote computing resources using Web based clients without having very complex configurations in their own devices. Those with just 1GB RAM in their own devices can work on the 128GB RAM installed in the cloud server without any issue. In this case, the system or device of the user acts as the terminal that accesses and works on the remote cloud infrastructure.
Cloud computing delivery channels
Cloud computing services are delivered by the service providers using different specific models, as listed below.
Infrastructure as a Service (IaaS): The IaaS cloud involves the delivery of computing infrastructure such as a virtual machine disk image library, raw block storage, object storage, firewalls, load balancers, IP addresses, virtual local area networks, etc, on demand, from the service providers vast pool of computing resources installed in data centres.
Platform as a Service (PaaS): The PaaS models involve cloud service providers delivering a complete computing platform, including operating system, a programming language execution environment, an integrated development environment, database server, Web server and other related technologies. Popular PaaS implementations include Microsoft Azure and Google App Engine.
Software as a Service (SaaS): In SaaS, also known as on-demand software, the cloud users are provided access to application software and databases. Cloud providers manage the infrastructure and platforms that run the applications.
Metal as a Service (MaaS): This is a provisioning construct developed by Canonical, the developers of Ubuntu, to assist and integrate the deployment and dynamic provisioning of hyperscale computing environments such as Big Data workloads and cloud services, in a dynamic manner.
Network as a Service (NaaS): This service enables the end user to create the virtual network on the cloud without physical installation using hubs, switches and other physical resources. Using this approach, any number of computers can be attached and worked on at remote data centres.
Hybrid cloud services
Hybrid cloud services enable people to use different types of cloud services simultaneously, with just a single point of execution. Microsoft Azure and Red Hat OpenShift are prominent cloud service providers, and allow users to work on the following:
- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
- Network as a Service (NaaS) and many other models
Microsoft Azure as a hybrid cloud
Microsoft Azure is one the most effective cloud service providers, and delivers a number of computing resources on demand at very competitive prices. It provides the following computing and technology services:
- Web application development
- Mobile application development
- Data and storage virtualisation
- Internet of Things (IoT)
- Remote network infrastructure
- Content delivery
- Active directory services
- Multi-factor authentication
- Business analytics
- NoSQL databases
- API management
- Visual Studio online
- Media intelligence
- On-demand live streaming and many other services
Visual Studio can be accessed from MS Azure as a cloud service to create and deploy dependent applications. In this scenario, the programmer can work online on Visual Studio, rather than obtain a licence for an individual or specific user.
As shown in Figure 8, there is the option to create and deploy mobile applications online using the cloud platform. This service is known as PaaS, as MS Azure is providing the complete platform to develop mobile applications on the cloud.
Azure can be used to create and deploy Web applications that are fully based on the CMS or e-commerce integrations. The content management system for developing Web apps is an integrated application that is used to create, deploy, manage and store content on Web pages.
Joomla is one of the key CMS platforms. It is written in PHP to enable building of websites and powerful online applications. Many aspects, including its ease-of-use and extensible nature, make Joomla the most popular Web based software development CMS. Joomla CMS is built on the modelviewcontroller (MVC) Web application framework, which can be used independent of the CMS.
Methods similar to Joomlas installation can be followed to install and deploy the OpenCart e-commerce platform. Using OpenCart, websites involving online financial transactions including online shopping, online bidding, payment gateways and related services, can be launched. OpenCart is pre-built in MS Azure; it can be installed in seconds and made ready for deployment.