Cloud Computing Models...

Cloud computing models can be spread out into 2 broad categories.

The first being Deployment Models, while the other is Service Models. These models spell out the modalities involved in making cloud services accessible to you and I (the end-users).

Lets talk about the First category i.e Deployment models (DMs). DMs talk about the accessibility in terms of location to the cloud. It could be public, private or hybrid. We would talk about these using transportation for better illustration.

Public Cloud: Think about the public bus. It is likely the cheapest mode of vehicular transportation. It is designed to engage a high number of persons at the same time, who pay for the amount of distance they cover. Of course, it does not have privacy when compared to using your own car, however, it is usually the choice for people who can not yet afford to purchase their own vehicle. This cloud model is handled strictly by 3rd party providers.

Private Cloud: Can be likened to buying your own car strictly for your own use. Although costly to purchase, it provides you with a high amount of privacy, as you and you alone enjoy your car ride. This cloud model is designed and built strictly for an individual enterprise/company.

Hybrid Cloud: As the name implies, is a bridge between the public and private cloud. A good illustration would be the cab hailing service, where you still enjoy the best of both worlds, in terms of enjoying an element of privacy for that particular trip, but also paying for that particular journey alone and not having to buy the entire cab. Hybrid combines the benefit of 3rd party providers either partially or entirely, and combines it with private cloud to enjoy the best of both worlds.

Now let's talk about the second category i.e service models...

This refers to the means through which cloud computing is offered, each of which satisfy specific business requirements.

Infrastructure-as-a-Service (IaaS): These provide basic computing, networking and storage services over the internet on a pay-per-use basis. Think of it as renting computers and servers. You leave the management of infrastructure to the cloud providers. Examples include Amazon's EC2 and Google cloud platform.

Platform-as-a-Service (PaaS): This particular service model, provides the environment for developers to deploy their applications without the need for installing IDEs (Integrated Development Environments), so they can deploy their programs and applications as quickly as possible. It is highly customizable and includes examples such as Microsoft Azure, and Google app engine.

Software-as-a-Service (SaaS): This refers to cloud services offered and managed entirely by 3rd party providers. All the customer/user needs to do is login to access it. This can provide a huge relief for companies using the service as they do not concern themselves with issues such as software maintenance and infrastructure management. Examples include Gmail Email service, and the Office 360 package.

Emerging Trends in Cloud Computing:

Containerization: Containers ensure that applications are retro-fit to work on different kinds of operating systems. They are built to adapt and fit into different OS, as each container is specially designed with apps that come with their own libraries, bins, and all their other dependencies and therefore take up lesser space on the host OS, enabling them to work seamlessly, and further lessening their deployment time, as against using Virtual machines. Docker and Kubernetes (by Google) are some of those offering container services.

Serverless Computing: As the name implies, it enables consumers to build and run applications seamlessly without having to worry about servers. This is because the cloud providers cover that aspect, which the consumer pays for on a per-use basis. So no, it does not mean the eradication of servers from computing, it just implies that you can focus on just running your application, and let others take of the associated servers for you a.k.a "relass and be taken kiaruff"...

IoT a.k.a Internet of Things: This refers to random, everyday objects that are implanted with various technologies that enable them to collect and transmit data with other systems over the internet. Examples of IoT devices include wearable health monitors which transmit data about the health status of the person wearing them, and notifies the hospital in cases of sharp changes to the person's health status, for further action. Cool right?!

Edge Computing: As the name implies, involves processing information/data at the edge of the network, bringing it as close as physically possible to the client. This is done, instead of processing the information at a centralized data processing center, which might not necessarily be as close to the client and might likely lead to a longer processing and latency time. The rise of Edge locations distributed all over a geographic location has taken care of that. Think of them as grass-root politicians in different constituencies that sort out the issues of constituents, instead of you taking your complaints all the way to the federal government all the way at the top. Even if your requests are eventually met, it would take a much longer period of time to reach you, when compared to that same issue being dealt at the grass-root stage.