Cloud Computing Introduction
Cloud Computing is a Distributed Computing concept. It allows to distribute the work load among multiple network systems or computers. The each system has there own Processor and Memory for computation. The system/infrastructure can be scale(increasing the executing capabilities by adding new hardware or software) at run-time without interrupting the running application services.
Here I am going to discuss a real-time situations where Cloud Computing can be used.
Suppose our organization is developing a web based software (web application) that manages the Accounts, Inquiries, Employee Management including HR and Payroll Services. The web application uses Email based communication among multiple application users. In this situation we do not prefer to configure our own Email Server. Instead of setting up our own server we would prefer to subscribe third party email service. The third party email service is provided by a professional email service provider company who has strong setup/infrastructure for EMAIL SERVICE with features like Email Sending, Email Backup, Email Scheduling, Email Spam Filter and Email Anti-virus protection etc.
If we setup Email Server in our office for our web application then we need to arrange so many things
– Hardware Setup
– Email Server Software Setup
– Appropriate License Management
– Anti-virus Configuration
– Spam Filter
– Bulk Emailing services
– Email Logs handling
– Strong and high speed network
– Highly skilled network admin to manage server
– Strong power backup , even more
Setting all above things will increase the project cost and burden dramatically in project. It is better choice to purchase “EMAIL SERVICE” from professional email service provider.
The Email Service Provider Company generally has strong support for the points listed above. Their server has capacity to handle so many email requests concurrently…even ready to scale easily without interrupting the client applications.
These service provider setup email server and provide to various companies who required email as communication in there software(Email Client Application). Means whoever want email support, the company will provide as SERVICE.
Here we can say that the EMAIL SERVER is a software and it is purchased by different companies who want Email Support as SERVICE as per there requirement. For example Company-A want 1000 Emails per day, Company-B want 20000 Emails per day. The emails software is being shared by different companies as SERVICE, we call this approach as SOFTWARE AS A SERVICE(SaaS).
Cloud computing enables sharing of resources with different clients/applications, as per their requirement. The RESOURCES can be Hardware, Operating System, Software and Network etc.
We can say that the cloud computing is to share everything as SERVICE.
SaaS: Software as a Service (Software Application)
Software Application like email server is shared by multiple companies
IaaS: Infrastructure as a Service (Hardware Resource)
Hardware is being shared by multiple companies generally in web-hosting industry. Suppose we want I3 Server with 2GB RAM. In other words we can say infrastructure is a physical system or virtual machines.
PaaS: Platform as a Service
It includes Hardware architecture, Operating System and Software
NaaS : Network as a Service
We can share the network resources. Like purchasing customized network plan where 2GB, 10GB download support)
EaaS: Everything as Service
Everything can be shared as services like hardware, software, platform, network etc.
The cloud computing is similar to SERVICE ORIENTED ARCHITECTURE (SOA) in various aspect.
SOA recommend to split the large application into multiple small pieces called SERVICES and deploy into different network computers. So that the work load can be shared by different systems and can be accessed separately from any client medium. For example we can check our emails from online website(web client) and we can check the same mails from any mobile device, table PC etc.
Generally Web Services are used to implement SOA based application. Web Services can be developed using SOAP Protocol or RESTFul concept.
There are different deployment models supported in Cloud:
- Private Cloud
- Public Cloud
- Hybrid Cloud
- Distributed Cloud etc
Big market vendors using Cloud:
- Apache Hadoop
- Big Data
- Hadoop distributed file system (HDFS)
Advantages of Cloud Computing
- Cost Effective
- Runtime Scalable
- Backup and Recovery
- Easy application deployment
- Easy information access from different access points
- Easy Upgrade
- Increased Collaboration
- Data Centralization
Disadvantages of Cloud Computing
- Security is the major issue in Cloud Computing
- Can work in Online mode. Internet Connection mandatory.
- Performance is sometime less due to internet connection dependency.
Thank you for reading.