DATA



Autor: Alexander Eichhorn


Cloud Computing

Cloud computing describes a virtualized computing infrastructure for data and application hosting on hardware owned and operated by a cloud provider.

Customers, also called tenants, lease access to different types of resources and cloud services, such as storage space, backup space, compute instances, databases, media transcoders, content delivery networks, load balancers, email or SMS services, etc. The infrastructure of a cloud provider may be installed in a single data center or spread across multiple data centers and multiple geographic regions.

The major difference between a traditional data center and a cloud is the tenant's ability to quickly and programmatically scale resource usage up and down. Instead of buying, installing, testing and configuring new server hardware which may take weeks, a cloud customer leases virtual compute instances, storage volumes and services which will be provisioned within minutes on existing hardware provided by the cloud operator. When no longer needed, resources can be returned. Customers are only charged for the exact usage per time. Clouds even support programming interfaces to make elastic scaling fully automatic.

Cloud Infrastructure Models

The high complexity of an IT infrastructure in combination with the widely different requirements and abilities of businesses to operate an infrastructure has led to three major cloud models:

IaaS or infrastructure as a service is a cloud model that offers basic services such as virtual machines, block level and object storage, firewalls, and load balancers as building blocks for large-scalable applications. IaaS is the most flexible cloud model, but it requires the highest level of operational expertise because operating system images must be configured, deployed and updated, networks must be managed, cloud services must be configured and connected and application software must be provisioned by the tenant. Examples are Amazon AWS, Rackspace and Google Compute Engine. Pricing models are utility costs per resources used.

PaaS or platform as a service is a mdoel that offers a programming and runtime environment streamlined for easy application development and deployment. A PaaS operator maintains the low-level infrastructure such as operating systems, databases and services, while the customer can focus on application development. Some PaaS models even scale underlying storage and compute resources automatically. In some PaaS platforms there are also 3rd-party application providers who deliver specialized services for integration such as media encoding or image analysis. Examples are Heroku, Google App Engine, Microsoft Azure, and IBM Bluemix.

SaaS or software as a service is a cloud model where clients remotely access application software running in the cloud. SaaS providers manage the entire cloud infrastructure and scale their application to meet client load. Software updates are automatically rolled out by the provider und users are not concerned with licensing, installing or upgrading software. However, all user data is stored with the SaaS provider. Popular SaaS providers are SalesForce, Zendesk, Goolge Apps and Microsoft Office 365. Pricing models are monthly or annual flat fees per number of users.

Cloud Deployment Models

In addition to the above infrastructure types, a cloud can be deployed in multiple ways to allow for different levels of privacy or isolation between tenants:

  • Public Cloud: data and applications share the same physical hardware with other tenants and cloud resources are accessed over the public Internet.
  • Private Cloud: data and applications of each tenant run on dedicated private hardware, providing more security and isolation. Access to cloud resources may be routed through direct private links between an organization and the cloud operator.
  • Hybrid Cloud: data and applications use a mix of public and private cloud resources, for example to outsource capacity spikes or certain services to the public cloud and keep important databases in the private cloud.

Pros and Cons

Cloud computing may be an economically better solution than on-premise hosting because clouds benefit from the economy of scale which leads to lower prices, improved efficiency and higher availability. The biggest downside of cloud computing is that customers lose their data sovereignty

Benefits

  • storage and processing capacity is elastic and virtually unlimited
  • costs are OPEX instead of CAPEX
  • cloud operators have experienced security teams
  • software is updated and monitored constantly

Drawbacks

  • data access requires network access
  • access latency and bandwidth is limited by the last-mile uplink
  • usage may become expensive under unplanned circumstances (disaster recovery)
  • greater attack surface: data is stored off-site, accessible by cloud provider
  • cloud is a valuable attack target, shared infrastructure is more vulnerable
  • unknown supplier stability (bankrupcy, business continuation, merger)
  • may violate compliance when storing data in a different jurisdiction
  • providers limit their liability (carfully read the terms of services)

Related Articles: