Architectural Refactoring for the Cloud (ARC)

Muster- und entscheidungsorientierte Modernisierung von bestehenden Anwendungen für die Cloud

Die Blogs von Prof. Dr. Olaf Zimmermann behandeln u.a. Microservices als Implementierungsansatz für serviceorientierte Cloudarchitekturen (Beispiel: POINT-Prinzipien für API Design).

Cloud Computing hat sich in den letzten Jahren vom stark gehypten Trendthema zur attraktiven Architekturalternative für Entwicklung und Betrieb von Web-Anwendungen und anderer Software entwickelt. Neben traditionellen IT-Anbietern sind viele Internetfirmen im Public Cloud Markt aktiv; verschiedene Open Source Assets erlauben den Aufbau von Private Clouds. Die Cloud-Anbieter unterscheiden sich stark hinsichtlich ihrer Preismodelle und der zugesicherten Dienstgüte. Anwendungsarchitekten und Entwickler sind daher mit einer Vielzahl neuer Designoptionen konfrontiert, z.B. nichtrelationale Speichertechniken (NoSQL), Message-Oriented Middleware mit At-Least-Once Delivery sowie Server-, Speicher- und Netzwerkvirtualisierung. Nicht alle Entwurfsmuster eignen sich für Cloud-Anwendungen; mit den Cloud-Resourcen muss sparsam und fehlertolerant umgegangen werden.

Im Projekt ARC untersuchten wir:

  • wie die definierenden Konzepte von Cloud Computing anhand von Patterns beschrieben werden könenn
  • wie man ausgewählte Anbieter von Infrastructure-as-a-Service, Platform-as-a-Service, und Software-as-a-Service anhand der Patterns und der Designoptionen miteinander vergleichen kann
  • welche Anwendungsarchitekturen und Patterns cloudfähig sind
  • wie man den Umstellungsbedarf für aktuell weniger cloudfähige Anwendungsarchitekturen ermitteln und planen kann (Bsp. Startupverhalten, Session und State Management, Database Partitioning)

Vorträge am Open Cloud Day (12.6.2014, Bern), auf der Tagung Architekturen 2014 und der OOP 2014 sowie ein IEEE Software-Artikel (Onlineversion) und ein SummerSoC 2015-Konferenzbeitrag (Online-Journalversion) beschreiben die Projektergebnisse im Detail. Die Vortragsfolien und Autorenversionsn der Artikel sind über die englischsprachige Projektseite abrufbar. Ein unterstützendes Architectural Refactoring Tool (ART) ist hier beschrieben und kann als Open Source Software hier heruntergeladen werden.

Informationen zum Cloud Application Lab finden sich hier. Links auf Quellen weiteren Cloud-Architekturwissens finden sich hier. Das ARC-Projekt stützt sich auf die Cloud Computing Patterns, die auf dieser Website und in diesem Buch beschrieben sind.