Getting started with Cloud Computing

History of cloud

download.jpg The definition of cloud computing below gives a general overview of the concept. Cloud computing uses servers that provide a large number of different types of service: they can be used to store and manage data, run applications, deliver content. They can deliver video streaming, they can provide web email services, they can run office or general productivity software.

Instead of accessing files, data and programs on a local personal computer, they are accessed via the computer and stored or run on the cloud system.

This means that the cloud technology can be used for storage, backing up data securely and off-site in case of on-site disasters. The data can also be accessed wherever the user is - laptops can access the data when on the move, provided there is an Internet connection.

They can be used for running applications - for example a subscription may be taken out for a software package and this can be used for the required period and then subscription terminated. Normally these subscriptions are paid monthly, so it means that the cost of the software is spread evenly, and the software is updated immediately a new version is released

image.png

Sample Scenario: Suppose, If you have built an application and deployed it in your server and your application gained attention and user's downloads are increasing load on your server, It'll be difficult to provide service to customers. you should setup a new machine and load the application in it, and deploy it to your server. this process would take approximately a week time. With the help of cloud computing we can setup above requirements in matter of minutes!!. Consider same scenario , but what if you have access to another system, but not yours (not bought by yourself) and you are allowed to do your work on it and pay a compensation for it. Cloud computing allows us to do this through cloud providers say( AWS, Microsoft AZURE, Google Cloud, VM ware etc).

Definition and Understanding of Cloud Computing

According to NIST (National Institute of Standards & Technology) cloud computing can be termed as below

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction

Big tech companies do have lots of resources and they rent out those resources(systems or machines) to small scale companies with some additional support to those resources(say , services like IaaS, PaaS, SaaS) and making profits out of unused or excess resources. This way both the companies are getting benefitted and fulfilling the consumer/customer needs. Main theme of the Cloud computing is to focus more on strategic decisions and developing and improving core applications rather than maintaining or troubleshooting

Essentials of Cloud Computing

I'll try to brief the concepts as it is more complex to explain all the things here. I want to mention only essentials of Cloud Computing, I'll try to cover these in detail in upcoming blogs

  1. On-Demand self-service

  2. Rapid-Elasticity

  3. Broad Network Access

  4. Resource Pooling

  5. Measured Service

Cloud Service Models - IaaS, PaaS and SaaS

The NIST define three Service Models of how cloud services can be offered IaaS Infrastructure as a Service, PaaS Platform as a Service, SaaS Software as a Service Again diving into these would take a lot of time but I try to make it simple and clear with each of them consider a data center stack and its elements:

Data Centre Stack

image.png

IaaS- Infrastructure as a Service

Cloud services provide authorization to certain level of elements in the stack and if Cloud provider provides IaaS , then user gets access up-to operating system(user can change it if he wants)

image.png

PaaS- Platform as a Service

In this service, User gets access to only data and applications (he can't change OS) and full access is given to applications and data

image.png

SaaS-Software as a Service

In this service, User gets only interface experience and all the elements are monitored by cloud provider

image.png

So this is brief intro about Cloud Service models and I'll try to make it more clear about these things in next blog

Cloud computing deployment models

There are several different ways in which cloud computing services can be deployed.

It is often useful to define and describe the different types of cloud services deployment methods:

Public cloud:

The public cloud model is probably the most widely thought of model for deployment. Using this mode, users can access a large pool of computing power over the internet for all types of cloud services including IaaS, PaaS, or SaaS.

The advantage of the public cloud services deployment model is that the cloud computing suppliers have colossal resources at their disposal and these are shared out between a very large number of customers. This means that if one customer has a sudden increase in their requirement, this can easily be met by the cloud service as they will have sufficient spare capacity. The margin the cloud service providers can give will be significantly above the step demand change of a user which will be comparatively small. This access to a huge pool of computing resources is one of the reasons why many companies use the various cloud computing solutions available.

Private cloud:

Private cloud services as somewhat different to those of the public could services in that the private cloud will offer its services only to users of that company or organization - the cloud services will be contained behind a firewall, and in this way the security concerns can be overcome and data held within the confines of the company's infrastructure. The private cloud will be set to operate in a similar way to that of a public cloud and can provide services of IaaS, PaaS, or SaaS.

The downside to this form of cloud service is that even the largest of organizations is unlikely to bring the resources of the big cloud services to bear on any increase in resource required. Also Cloud based software will have to be run on internal networks and this will require individual negotiations to be set up for this and updates will need to be managed by the company. However, where security and control of services and data are needed, this type of cloud service may be the best option.

Hybrid cloud:

Hybrid cloud services try to bring the best of private and public cloud services together. It can enable some data to be held within the company infrastructure and some on the cloud. Hybrid cloud services are probably what most business use - external cloud services where they are needed and some internal. It means that public cloud is used where it is applicable and not for all services. The reasons for choosing hybrid cloud could be for disaster recovery planning and the need to avoid hardware costs when expanding existing computer and network infrastructure.

Community cloud:

Community cloud services are an interesting development. Here the cloud infrastructure is shared between users in a community where there may not be concerns of competition and inter-company security.

The costs of the infrastructure are spread over a number of different users within the community and there will be greater margins if one users suddenly has an increased requirement, and there are cost savings incurred by having a large system maintained for several users.

Advantages of Cloud Computing

  1. image.png

  2. Ability to handle expected or unexpected changes in load. Reduced time to deploy an application into production

  3. image.png

4.Organisations can respond quickly to evolving market trends and focus on growing their core business. Reducing capital spent on infrastructure releases funds to invest in innovation or other priority areas

That's it for this blog .