
Introduction to Cloud Computing:
Cloud computing is the concept which main characteristic is that all computing is on Internet. Anything that involves delivering of hosted services over the Internet is cloud computing. These hosted services are broadly divided into three categories: Infrastructure-as-a-Service, Platform-as-a-Service, and Software-as-a-Service. The term cloud is the metaphor for anything that's happening on Internet. End user doesn't know exactly its underlying structure and processes, so he imagines it very fuzzy, like a cloud.
If a consumer, may be a company or an individual, need some resources, applications, informations, etc. to be used using computers or any other devices over Internet. But they don’t have a physical infrastructure. In such scenarios, they can utilize cloud computing model. They can consume only needed resources as a service and pays only for amount of resources they consumed. Important fact is that cloud computing customers neither have to own nor have to pay for computing infrastructure and maintenance. It is like in traditional utility services – for example electricity, and it gives much better results for the same money when you compare it with traditional computing models.
Main characteristics of Cloud Computing:
First, and important thing is that costs are significantly reduced. All infrastructure is in cloud so customer has not initial costs (or they are greatly reduced), and the maintenance costs are reduced because the cloud computing providers maintains everything. Cloud computing is adaptable to all size of businesses. Many cloud computing providers have superior technology security system, much better than intraditional systems, although some concerns about possible loss of sensitive data exists. Portability is another important feature – you can access to services everywhere. You don't have to possess any special application; everything you need is web browser. Cloud computing is scalable, which means that applications in cloud computing adjust quickly with the amount of customer demands in the cloud. Delivering in cloud is fast, not more than 10 minutes.
Cloud Computing Architecture:
Cloud computing system consists of components which communicate via application programming interfaces. Usually those are web services. Cloud computing system has both software and hardware components/services. Those components/services are:
Software – Software as a Service (SaaS):
Software as a Service (SaaS) is the term used for software services in cloud. Software services can be anything from Web-based email to inventory control and database processing. SaaS service providers host both the application and the data, so the end user is free to use the service from anywhere using web browser, but also it can be widgets for mobile phones. Apple iPhone and Google Android platforms has applications you can access to from widgets.
Infrastructure – Infrastructure as a Service (IaaS):
Infrastructure as a Service (IaaS) means deployment of infrastructure as a service. On a hardware side there are server farms and network equipment. Customers can use them, again as a service and they pay as much as they use them. Key word in cloud infrastructure is virtualization. All servers in cloud are virtualized and work as one. It can be imagined as a whole in which applications fight for resources.
Platform – Platform as a Service (PaaS):
Platform as a Service (PaaS) or yet known as cloudware is term used for model of deployment of operating system and other services (as a service) without installation. Those services can be IDEs, source code control, revision control, etc. It is especially convenient if development team is spread over more geographic locations.
Deployment models for Cloud Computing:
Different companies or individuals have different needs, so customers can choose between few types of deployment. There are three types of cloud:
Public Cloud:
This is the most common used type of cloud. When you use Gmail or Youtube, it is public cloud. In public cloud it is considered that resources are unlimited. Costs of infrastructure and maintenance are significantly reduced or they don't exist.
Private Cloud:
This type of cloud is created for exclusive usage of only one client. Company owns infrastructure, and has control over the applications delivered in that cloud. In this cloud security is greatly enhanced than in public cloud.
Hybrid Cloud:
If some company wants to use conveniences of both public and private cloud they can decide to use hybrid type of cloud. For example, if company has strictly confidential informations they can decide to store them in private cloud, but in the same time for some demanding calculations they can use public cloud.
Community Cloud:
If few companies have similar requirements and they are ready to share the infrastructure, they can establish a cloud in which security and privacy will be at higher level. The costs will be higher for such kind of clouds but it will spread acrross all the companies involved.