Develop on the Cloud, for the Cloud

Cloud-Based App Development Tools

Subscribe to Cloud-Based App Development Tools: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Cloud-Based App Development Tools: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Cloud Development Tools Authors: Yeshim Deniz, Stackify Blog, Elizabeth White, Liz McMillan, Gregor Petri

Related Topics: Cloud Computing, Cloud Data Analytics, Cloud Development Tools

Article

Cloud Architecture Diagramming Standards

4+1 view of cloud hosted applications

Diagrammatic View of the System
Using diagrams to represent the architecture of a system has been a standard in enterprise applications, so that the information about the system is conveyed to multiple stakeholders in a standardized form.

Typically enterprises used 4+1 Views to depict the Architecture of the systems. The 4+1 View Model describes software architecture using five concurrent views, each of which addresses a specific set of concerns.

The 4+1 model describes the architecture of software systems based on the use of multiple concurrent views. The views represent multiple stakeholders:

  • End users
  • Developers
  • Project managers

The four views are represented as:

  • Logical View
  • Implementation View
  • Process View
  • Deployment View
  • Coupled with Selected Use Cases View, this successful model in representing the architectures diagrammatically is called the 4+1 View Model.

The following diagram explains how a 4+1 View provides a blueprint of the system.

4+1 View Tailoring Of Cloud Hosted Applications & Systems
As evident, the 4+1 views and the associated diagrams provide a good representation of a cloud hosted software application. However there are some new factors specific to cloud that may require further tailoring of these diagrams and views to fully represent a cloud system.

Logical View: This view provides the functionality of the system from the view of end users.  It Provides Functional requirements- What the system should provide in terms of services to its users. As evident this view will be the same between the  data center application and a cloud hosted application as the end user functionality remains the same.

Process View: This view provides the dynamic aspects of the system, explains the system processes and how they communicate, and focuses on the runtime behavior of the system. From a Cloud hosted application perspective  there needs to be some tailoring of the Process View such that the processes that are hosted by the  Cloud Provider in support of the application  needs to be represented  to get a full view of the system.

For example if an application is hosted on Amazon EC2 Platform, The process view may also include the processes  supported by  components like:

  • Amazon Elastic Block Store
  • Amazon Cloudwatch
  • Amazon Auto Scaling
  • Amazon Elastic Load Balancing
  • Amazon High Performance Computing

Implementation View: Focuses on how the system is built and  Which technological elements are needed to implement the system.  Both application and infrastructure components are mentioned in this view.

This view  will not be much different between the datacenter application and a cloud hosted application. However  there are multiple  roles of  virtual servers in a cloud applications and they connect with each other using multiple protocols, all these needs to be explained in  this view.

If consider a Azure Cloud Platform, this view will represent.

  • Azure instances in Web Role
  • Azure instance in Worker Role
  • SQLAzure Instances
  • Other App Fabric Components

Deployment View: It is concerned with the topology of software components on the physical layer, as well as communication between these components. This view  will have the maximum tailoring for  the  applications that are hosted on Cloud.

  • At this time there is no clearly way to represent Deployment aspects like
  • o On Demand Instances
  • o Reserved Instances
  • o Spot Instances
  • o Availability Zones
  • o Other Virtual Server Migration scenarios
  • However some tailoring of the diagramming notations should be in a position to represent the missing pieces of a Cloud Deployment.

Summary
As  the enterprise  perspective of  Cloud platform is to deploy applications on a long term basis and once deployed there needs to be a  option to represent the architecture of the system diagrammatically, it is very important to consider the  existing  Architectural Diagramming Standards. As explained above some tailoring of these diagrams and notations are needed to clearly represent an application that is hosted on a Cloud platform.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).