Institute for
HSR

Architectural Refactoring for the Cloud (ARC)

Pattern- and Decision-based Modernization of Existing Applications for the Cloud

 

Project results (overview): 

  • Decision- and task-centric definition of term architectural refactoring
  • Quality story templates
  • Architectural refactoring template
  • Catalog of general-purpose architectural refactorings and cloud refactorings
  • Architectural best practices, e.g. IDEAL and FIT cloud application architectures
  • POINT criteria for API design and management; service contract template
  • ADMentor, prototypical tool support for architectural decision modelling and reuse, and Cloud Design Guidance Model crafted with this tool (emerging)

 

Selected project results are featured in an OOP 2014 presentation (slides).

 

Recommended practices when architecting for the cloud (selection):

  • Design application startup and restart procedures as lean as possible.
  • Let all components implement the Service Layer pattern.
  • Define with Remote Facades and expose them with JAX-WS or JAX-RS.
  • Use messaging for cloud-internal communication and integration.
  • Define all Data Transfer Objects (DTOs) to be serializable.
  • Use Internet security technologies to satisfy application security needed.
  • Model all communication dependencies explicitly and consult IT infrastructure architects both on provider and on consumer side.
  • Score architectural patterns according to theiir cloud affinity using the IDEAL properties (i.e. isolated state, decomposition, elasticity, automated management, loose coupling).
  • Leverage patterns to improve application startup times and fault tolerance.

 

Selected architectural patterns, decisions and principles in cloud design are featured in another OOP 2014 presentation (slides).

 

Research papers, conference presentations and tool support

An update on the initial project results can be found in Olaf Zimmermann's presentations given at the Open Cloud Day organized by the Swiss Open Systems User Group (slides) and at Architekturen 2014, the annual meeting of the Architecture working group of the Gesellschaft für Informatik (slides). Architectural decisions that recur in workflow and BPM design are collected in a presentation given at the 8th user group meeting for software architecture at Softwareforen Leipzig (slides).

 

A first set of ARC papers has been published in 2015 in the Pragmatic Architect column in IEEE Software (author's copy), a full SummerSoC paper (pre-print) and a workshop paper (author's copy) presented at ICSE SAM (presentation). A supporting Architectural Refactoring Tool (ART) is described here (German with Englsih Appendx). ART is available as an Open Source Software (OSS) here.

 

Other cloud computing knowledge sources

Click here for information on the Cloud Deployment and Architectural Refactoring Lab (CDAR) and here for links to additional sources of cloud design knowledge. First and foremost, the ARC project leverages the cloud computing patterns featured on this website and in this book.

 

For more information on ARC and the project results outlined on this page, please contact IFS Partner Prof. Dr. Olaf Zimmermann.