Join the DZone community and get the full member experience.Join For Free
Let's have a look at some of the technology lexicon associated with Cloud Architectures.
Cloud database offered by Google. It is non-relational and highly scalable.
There are five principles of cloud computing
1. Resources are pooled
2. Machines are virtualised (achieves maximum utilisation)
3. Elasticity. Users can scale up or down very easily.
4. Virtual machines can be created or deleted automatically
5. Billing is by resource usage rather than by a flat fee
concerns hybrid architectures where a classical enterprise architecture
can make use of a cloud on demand. This means that part of the
architecture can be behind a private firewall and be kept away from the
cloud completely but the elastic benefits of the cloud are still
possible should periodic or unexpected traffic occur. In the cloud
bursting model, the load balancer is not in the cloud. The load balancer
decides when to use the cloud based on demand and traffic.
computers are cheaper computers used in architectures which do not
require the hardware to be highly reliable. This is usually possible
when the software has a high degree of failover incorporated. Google's
MapReduce framework uses commodity computers and then reassigns tasks if
any of the commodity computers fail and do not finish allocated tasks.
The physical home which stores all computational resources
Facebook has various data centres in the US see:
Infrastructure as a Service (IaaS)
is the lowest level of service available from a Cloud. In this case,
the Cloud provider simple provides virtual machine images with an
operating system. Amazon's EC2 is an example of IaaS.
Hypervisor (also called virtual machine manager)
thin layer of software that allocates hardware resources dynamically
and transparently to virtual machines. The term hypervisor was coined
as an evolution of the term "supervisor," the software that provided
control on earlier hardware.
Platform as a service (PaaS)
users to create their own application using the Cloud provider's
platform and tools. This allows rapid development but also means there
is a risk of vendor lock-in.
Example: Google's AppEngine, Microsoft's Azure, force.com
Cloud database offered by Amazon. It is non-relational and highly scalable.
is based on the "shared-nothing" principle. There are no dependencies
between different portions of data. To achieve this usually involves
denormalising data so that dependent data is stored together. The result
is parallel processing of independent data is possible and hence higher
concurrency is possible.
Data can also then be partitioned very easily. This is usually done horizontally - splitting up rows into separate partitions. Each individual partition is referred to as a shard or database shard. Partitioning data means the total number of rows in each table is reduced. This reduces index size, which generally improves search performance.
Software as a service (SaaS)
Allows users to run existing online applications.
Example: Salesforce.com, pixlr.com, jaycut.com
this model there are no subscribing customers, the computing resources
are controlled by a single organisation. But, the resources are still
pooled and shared; machines are still virtualised. The difference
between the private cloud and standard virtualisation is that in the
private cloud model, the virtual machine creation and deletion can be
automated and can achieved very quickly and thus elastic scaling
characteristics that are associated with cloud computing that can't be
with standard virtualisation can be achieved.
Opinions expressed by DZone contributors are their own.