Welcome!

@CloudExpo Authors: Liz McMillan, Zakia Bouachraoui, Yeshim Deniz, Pat Romanski, Elizabeth White

Related Topics: @CloudExpo, Microservices Expo

@CloudExpo: 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).

CloudEXPO Stories
With more than 30 Kubernetes solutions in the marketplace, it's tempting to think Kubernetes and the vendor ecosystem has solved the problem of operationalizing containers at scale or of automatically managing the elasticity of the underlying infrastructure that these solutions need to be truly scalable. Far from it. There are at least six major pain points that companies experience when they try to deploy and run Kubernetes in their complex environments. In this presentation, the speaker will detail these pain points and explain how cloud can address them.
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-centric compute for the most data-intensive applications. Hyperconverged systems already in place can be revitalized with vendor-agnostic, PCIe-deployed, disaggregated approach to composable, maximizing the value of previous investments.
When building large, cloud-based applications that operate at a high scale, it's important to maintain a high availability and resilience to failures. In order to do that, you must be tolerant of failures, even in light of failures in other areas of your application. "Fly two mistakes high" is an old adage in the radio control airplane hobby. It means, fly high enough so that if you make a mistake, you can continue flying with room to still make mistakes. In his session at 18th Cloud Expo, Lee Atchison, Principal Cloud Architect and Advocate at New Relic, discussed how this same philosophy can be applied to highly scaled applications, and can dramatically increase your resilience to failure.
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by sharing information within the building and with outside city infrastructure via real time shared cloud capabilities.
As Cybric's Chief Technology Officer, Mike D. Kail is responsible for the strategic vision and technical direction of the platform. Prior to founding Cybric, Mike was Yahoo's CIO and SVP of Infrastructure, where he led the IT and Data Center functions for the company. He has more than 24 years of IT Operations experience with a focus on highly-scalable architectures.