Cloud computing mainly focuses on sharing or clouding all necessities needed for deploying an application efficiently, from various well maintained resources. One of the most important ideas behind cloud computing is scalability, and virtualization is the technology that makes it possible. Virtualization allows better use of a server by aggregating multiple operating systems and applications on a single shared computer. Virtualization also permits online migration so that if a server becomes overloaded, an instance of an operating system (and its applications) can be migrated to a new, less cluttered server, which can be easily added to the cloud. Also we can have a central share for storage, memory and bandwidth.
Basically, we can classify cloud into two:
1. Private cloud: The whole setup would be made at our end itself i.e., within an office or behind a single firewall. This increases the efficiency of the could and managing side becomes easy. Using a private cloud deployments can me made rapidly, can make better use of available resources, better security as the whole setup lies behind a firewall and interaction with internet would be less.
2. Public cloud: In this case, the various services and needs will be hired from third party. Here we do not have to break our head much and just need to make payments for the hired services. The best example is the use of Amazon’s EC2 (Elastic Computing), from where end users can request for a VM image, which they will setup and onto which we can deploy our application. For storage purpose Amazon’s S3 can be used. Charges are made according to compute time, storage, and network bandwidth. With public clouding, deployments will be done instantaneously.
Another open source provider of cloud setup is EUCALYPTUS – Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems. These days VMWare is really gaining popularity and they are providing good options in cloud computing. With the rapid hipe in the demand for cloud computing, clouding can be defined on the basis of service level offerings.
- Software as a Service: SaaS allows us to lease an application and pay only for the time used.
- Platform as a Service: PaaS is IaaS with a custom software stack for the given application. In addition to virtualized servers and storage provides a particular operating system and application set.
- Infrastructure as a Service: IaaS is the leasing of infrastructure (computing resources and storage) as a service. This means not only virtualized computers with guaranteed processing power but reserved bandwidth for storage and Internet access.
- Storage as a Service: We can have enough space for storing our public assets.