Cloud Computing – Basics

Cloud computing is nothing but running computer/network applications that are hosted on a different servers using simple user interface or application format. It is a comprehensive solution which is delivered as a service. Cloud is a network of servers. An application running in a cloud is called as webApp.

Important characteristic of cloud are 

  1. Self-Service based on demand – Provisioning or de-provisioning of computing resources based on demand  automatically without any manual steps.
  2. Global network access – Computing facilities can be accessed from anywhere in the world provided there is Internet connection. Can also be accessed using various clients such as laptop, smartphones, tablets, desktops etc.
  3. Resource pooling – Many resources can be pooled together irrespective of the physical location. Cloud providers achieve this by having their data-centers installed globally in various locations.
  4. Rapid elasticity – Dynamically increasing the infrastructure based on the demand. Say for example your website  hits a huge traffic on weekends then more servers can be added without causing any small glitch to the service.
  5. Pay-on-the-go – User only pays for the resources utilized.

Cloud Deployment Models

  1. Private Cloud – This cloud infrastructure as the name suggests is private and is owned by the organization. They can be either on-site or off-site. They are usually behind company firewall
  2. Public cloud – This cloud infrastructure is public. It is accessible by anyone who is willing to pay the cloud provider for the service.
  3. Community Cloud – This cloud infrastructure is owned by multiple organizations.
  4. Hybrid Cloud – Any combination of above defined cloud deployment models.

Key benefits of public cloud storage

  • Disaster recovery
  • Centralized data management
  • Cost saving

Operational Benefits of public cloud 

  • Scalability
  • Flexibility
  • Managing data growth

Main Service models of cloud computing

  • Software as a service (SAAS) – Applications hosted by the cloud provider are accessed through any client such as smartphones, laptops etc. This can also be used to host one’s enterprise application. SAAS application are accessed using a web browser.
  • Platform as a Service (PAAS) – The cloud provider provides a platform and environment to develop , manage and run web applications by providing the required infrastructure for developing and launching the application.
  • Infrastructure as a Service (IAAS) – Provides virtualized computing resources like virtual machines, physical servers, storage etc.

Advantages of cloud computing

  1. Cost Saving –  No need any capital investment on infrastructure, software and license. This in turn reduces the operational cost such as power bill, air-conditioning, administration cost etc. Pay only for the services used.
  2. Reliability – High availability and zero downtime is taken care of as this is taken care of by the cloud provider.
  3. Manageability – all kind of management , right from infrastructure, software etc is taken care by the provider.
  4. Flexibility – Can engage developers globally as the service is up  24/7.
  5. Increased Productivity – More work done in less time. Increased productivity in turn saves project cost.

Disadvantages of Cloud Computing

  1. Security – Sophisticated Security model should be provided by the provider.
  2. Vendor Lock-in – Shifting from one vendor to another is not possible now. May lead to interoperability issues across service providers.
  3. Limited control – As the cloud providers are offering the service they have more control.
  4. Downtime.

Cheat Sheet To JAVA Latest Technology