Sunday 17 January 2016

Understanding Cloud Architecture

Many descriptions of cloud computing describe it in terms of two architectural layers:
  • A client as a front end
  • The “cloud” as a backend
To understand the Cloud Architecture and the type of applications that can run on Cloud, an understanding on the below will be useful:


  • Composability
  • Infrastructure
  • Platforms
  • Virtual Appliances
  • Communication Protocols

Composability

A cloud based application has the property of being built from a collection of components. This feature is know as composability.

A composable component must be:
Modular: It is self-contained and independent unit that is cooperative reusable and replaceble.
Stateless: A transaction is executed without regard to other transactions or requests.

It isn't an absolute requirement that transactions be stateless, some cloud computing applications provide managed states through brokers, transaction monitors and service buses. In rare cases full transactional systems are deployed in the clouds, but these systems are harder to architect in a distributed architecture.


Infrastructure

Cloud Infrastructure depends on the virtual machine technology. A particular physical machine can run multiple virtual machines. The low level software that runs these virtual machines is called as Virtual Machine monitor (VMM) or Hypervisor.






Platforms

A cloud platform provides the hardware and software needed to build web apps or services that are custom built to use the capabilities of that platform. Platforms represent the full software stack except the presentation layer. 

Depending upon the PAAS vendor you may find developer tools for team collaboration, testing tools instrumentation for measuring program performance and attributes, versioning, database and webservice integration and storage tools.






Some major cloud platforms are:
  • Salesforce.com's Force.com platform
  • Windows Azure platform
  • Google Apps and Google App engine


Virtual Appliances

A virtual appliance is a pre-configured virtual machine image, ready to run on a hypervisor virtual appliances are a subset of the broader class of software appliances. 

A virtual appliance is not a complete virtual machine platform, but rather a software image containing a software stack designed to run on a virtual computer, a hypervisor is merely a platform for running an operating system environment and does not provide application software itself. For example applications such as a web server or database server that can run on a virtual machine image are referred to as virtual appliances.

A virtual appliance is a platform instance, therefore, virtual appliances occupy the middle of a cloud computing stack.

IAAS systems such as Amzon's elastic compute cloud uses virtual appliances. Amazon machine images are a collection of virtual appliances that can be installed on their Xen hypervisor servers. AMI includes a variety of operating systems both proprietary and open source, a set of enterprise applications such as Oracle BPM, SQL server and even complete application stacks such as LAMP(Linux Apache, MySQL and PHP).


Similarly VMware's virtual appliance marketplace sells virtual appliances that run on VMware's hypervisor in cloud computing applications.

Communication Protocols

The popular communicaton protocols used in the cloud computing world are SOAP, XML-RPC, CORBA, APP and REST.

APP is Atom publishing protocol. Atom is a syndication format that allows HTTP protocols to create and update information.
CORBA is Common object requesting broker architecture. It is an early effort at a standard to enable object interactions within a  network. It uses an interface definition language to define the face these objects present and an object request broker (ORB) to negotiate the exchange of information about objects.


REST is representational state transfer. It assigns a global identifier to a resource so there is an uniform method of accessing information sources. That identifier is a URI expressed in HTTP form. This is the most widely used protocol in cloud apps.

Connecting to cloud

Clients can connect to a cloud service in a number of different ways. These are the two most common means:

• A Web browser
• A proprietary application


These applications can be running on a server, a PC, a mobile device, or a cell phone. There are three basic methods for securely connecting over a connection:

• Use a secure protocol to transfer data such as SSL (HTTPS), FTPS, or IPsec, or connect using a secure shell such as SSH to connect a client to the cloud.
• Create a virtual connection using a virtual private network (VPN), or with a remote data transfer protocol such as Microsoft RDP or Citrix ICA, where the data is protected by a tunneling mechanism.
• Encrypt the data so that even if the data is intercepted or sniffed, the data will not be meaningful.










5 comments:

  1. Nice blog. This blog nicely explain architecture cloud computing and every part of architecture cloud. Thanks for sharing.

    ReplyDelete
  2. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here
    Thank you. Your blog was very helpful and efficient For Me,Thanks for Sharing the information RegardsAzure Online Course

    ReplyDelete
  3. Covered a whole chapter of my syllabyus,Very helpful

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. Thank you for providing this valuable information, easy to understand about Cloud Architecture<.a>. Keep sharing like this post.

    ReplyDelete