The most simple way of explaining the cloud computing is storing, accessing, and processing data over the internet instead of using a traditional client server architecture.
When we look into network diagrams we can see the internet is shown as a cloud.
So the cloud computing is mostly defined as a metaphor to the internet.
Advantages of cloud computing
Improve accessibility
One of the biggest advantages is allowing us to access the hosted application anytime, anywhere in the world as long as we have a proper internet connection.
Reduce cost
No need to spend money on hardware equipments and expensive software licenses for creating an infrastructure to run the applications locally.
Security
There is a possibility to lose devices like laptops and other storage devices by people in day today life. Therefore storing data in the cloud would be much secured than keeping it locally.
Less energy consumption
Using an in house infrastructure may eats up more energy and it will increase the cost of electricity which invariably affects the environment.
Improve flexibility
Sometime organizations tend to change systems or expand their systems. Upgrading in house servers and other infrastructures may be costly and more time consuming. Therefore any changes can easily be done with cloud service provider as they have vast range of resources.
Disadvantages of cloud computing
Internet outage
The issues with the internet connection could leads to cut down your access to the hosted application. That means cloud computing totally depends on the internet.
Limited control on hosting environment and deployments
The operations of the cloud infrastructure are carried out by the cloud service provider. Therefore the cloud users have limited control on the infrastructure which may be an issue in the long run.
Sensitive data
Moving a system which processes sensitive data to a cloud computing environment may leads to create many issues in different ways.
Because there will always be a risk of handling our sensitive information by a third party even they have provided advance security practices.
Vendor lock- in
Since the venders used different types of platforms the moving of an applications form one cloud service provider to another could be difficult.
Types of cloud services
SaaS (Software as a Service)
SaaS is a method used in cloud computing for individuals and organizations to access hosted software applications over the internet as a service. Within this type of environment, users do not require to concern about the license and updates of the software being used.
Advantages
If we use cloud environments there is no need to spend money over expensive software products and software updates because there is no initial cost for setting up the environment to run the applications locally.
All the required hardware and software updates shall be done by cloud service provider.
Pay as you go method – if we are using a software application for a limited time period you will have to pay only for that period of time spent.
Examples – Salesforce, Microsoft 365, Quick Book Online
IaaS (Infrastructure as a Service)
IaaS is one of the main methods used in cloud computing for providing computer resources in a virtualized environment to access over the internet where customers can put whatever they want on it. When we consider IaaS we Often focus on hardware and other infrastructure instead of applications.
Examples – Amazon Web Services
PaaS (Platform as a Service)
PaaS is another method of cloud computing that provides a platform for software developers to Develop, Test and manage web applications.
Therefore the developer can focus on the development process itself without spending time on creating a development environment.
Ex – Google App Engine, Microsoft Azure