SlideShare a Scribd company logo
1 of 45
Download to read offline
Understanding and Addressing
Architectural Challenges of Cloud-
Based Systems
M. Ali Babar
CREST – Centre for Research on Engineering Software Technologies
University of Adelaide, Australia
Keynote Talk @ BDCloud 2014, Sydney, Australia
December, 5, 2014.
Background Brief
M. Ali Babar
Professor of Software Engineering, University of
Adelaide, Australia – Nov. 2013 -
PhD in CSE, University of New South Wales
Work History:
Reader, Lancaster, UK, Feb. 2013 – Nov. 2013.
IT University of Copenhagen, Denmark: Dec. 2009 …
Lero, Ireland: 2007 – 2009
NICTA, Australia: 2003 - 2007
JRCASE, Macquarie University: 2001 – 2003
Various industrial roles in IT: Prior to 2001
Research Interests: Software Architecture,
Service Orientation, Cloud Computing, and
Software Development Paradigm
http://malibabar.wordpress.com
Cloud Computing Research Threads
Decision
Support
Systems
Processes for
Engineering
Clouds
Architecting
Cloud Systems
& Services
Outline
• What is Software Architecture & Why is It
Important?
• Key Facets of Cloud Computing & Architecture
• Systematically Building Architectural Knowledge
for Cloud-Based Systems
• Cases of Leveraging Architectural Knowledge
• Concluding Remarks
Why is Architecture Critical & What is It?
Some Scenarios for Architectural Support
legal
experts
domain
experts
specification
tools
Scenario 1
processing and data only in
region A
Scenario 2
data only in region B
Scenario 3
data only in region B
processing only in region A
Region B
Region A
Region C
• A Public Agency Wants to Use Clouds for Storing and
Processing Highly Sensitive Data.
• An Engineering Company Intends to Use Clouds for its
Highly Confidential Documents.
• Leveraging Cloud Bursting without Violating Legal
Constraints and Agreements with Customers
Software Architecture
• “The software architecture of a system is the set of
structures needed to reason about the system, which
comprise software elements, relations among them, and
properties of both” (Bass, L., et. al., 2013).
• “Fundamental concepts or properties of a system in its
environment embodied in its elements, relationships, and
in the principles of its design and evolution” (ISO/IEC
42010).
• Its all about DECISIONS in certain context – bad, good
and better ones.
Relating Architecture with Cloud Computing
“Cloud computing is a model for enabling
convenient, on-demand network access to a
shared pool of configurable computing resources
(e.g., networks, servers, storage, applications, and
services) that can be rapidly provisioned and
released with minimal management effort or
service provider interaction.” (A definition by the US National
institute of standards and technology (NIST))
Key Facets of Cloud Computing & Architecture
Reproduced from Figure 1 of The Future of Cloud Computing: Opportunities for European Cloud Computing beyond 2010.
Getting Architecture Right is Hard!
“..The life of a software architect is a long (and sometimes
painful) succession of sub-optimal decisions made partly in the
dark…” (Philippe Kruchten)
Knowledge Centric Design & Evaluation
Documenting
Architecture
design
Specifying AS R s
Architecture
Evaluation
Prioritized
Quality Attribute
Scenarios
Requirements,
constraints
Stakeholders
Patterns a n d tactics
text
text
text
“Sketches” of candidate views,
Determ ined by patterns
Chosen, com bined
views plus doc’n.
b e yo n d views
Adapted from: Hofmeister, C., et al., A general model of software architecture design derived from five industrial
approaches. Journal of Systems and Software 80(1): 106-126 (2007).
Systematically Exploring Relevant Literature
Empirism as a Research Approach
• Empiricism
– Generally being regarded at the heart of the modern
scientific methods, that our theories should be based
on our observations of the world rather than on
intuition or faith
• Empirical Software Engineering (ESE)
– Empirical research in SE is the scientific use of
quantitative and qualitative data to understand and
improve software product and software development
process (Vic Basili)
– Data is central element to address a research issues
related to processes, technologies, or people
• ESE Helps in Understanding and Developing/
Improving Processes, Technologies, People
Key Areas of Architectural Research Challenges
Research Challenges for Architectural Support
• Interoperability
– Support for interoperability for multiple collaborative services.
• Privacy
– Identifying trusted cloud services to process sensitive data.
– Data placement strategies based on privacy requirements.
• Scalability
– Automatic identification of traffic patterns for dynamic scalability.
• Adaptability
– Support adaptability of service transmission environment
according to specific Quality of Service (QoS) requirements and
provide communication space specific to a customer’s needs.
• Service Selection
– Collaboration among cloud service providers (service discovery,
advertisement and composition).
– Market-oriented resource and service provisioning.
• Cloud Service Federation
– Cloud brokerage for federated clouds.
– Increase capacity by delegating tasks to federated clouds.
– Inter layer mappings of corresponding layers of reference cloud
mode among federated clouds.
– Decentralize deployment infrastructure of by multiple providers.
– Limited resource in a single cloud provider in stressed data
centers.
– Avoid cloud vendor lock-in.
• Service Level Agreement (SLA) Compliance
– SLA specific cloud services discovery.
– Cloud system behavior anticipation according to specific QoS
requirements.
– Decentralization of consistency and scalability management of the
services.
Research Challenges for Architectural Support
• Pervasive Embedded Networks on Cloud
– Management of mash-up services on shared cloud resources.
– Compliance with concrete semantic structures for information
presentation and communication.
– Domain Specific Data visualization from various types of data
sources (wireless devices, web applications and medical images).
• Workflows management on cloud
– Business processes cooperation for processing sensitive data.
– Rationally fragmenting a workflow model.
– Deploy workflow fragments on the underlying collaborative
architectural components.
Research Challenges for Architectural Support
Building and Leveraging Body of Knowledge
Design Knowledge Support
R e a s o n i n g
K n o w l e d g e
S h a r e ( C )
A r c h i t e c t ( A )
E v a l u a t e ( F )
L e a r n ( E )
G e n e r a l
K n o w l e d g e
D e s i g n
K n o w l e d g e
S y n t h e s i z e ( G )
C o n t e x t
K n o w l e d g e
I n t e g r a t e ( B )
A r c h i t e c t u r a l K n o w l e d g e
D i s t i l l ( H )
A p p l y ( I )
P r o d u c e r
C o n s u m e r
T r a c e ( D )
E v a l u a t e ( F )
K n o w l e d g e
T y p e
A c t o r C o n s u m i n g a c t i v i t y
P r o d u c i n g a c t i v i t y
K e y
T r a c e a b i l i t y c r e a t e d b y p r o d u c e r s
a n d u s e d b y c o n s u m e r s
S e a r c h /
R e t r i e v e ( J )
• Lack of Architectural Knowledge
usually Results in
– Severe System Design Problems.
– Huge Technical Debt on Suboptimal
Design Decisions.
• Guidance and Tools
– Types of Architectural Knowledge.
– Manage & Share Knowledge.
– Architectural Description for Reuse.
• We Developed
– A Characterization Scheme of
Architectural Design Knowledge.
– An Infrastructure for Capturing and
Sharing Architectural Knowledge.
Classifying Cloud Architecture Knowledge
Discovering & Cataloguing Architecture Styles
Architecture Design Knowledge Ecosystem
Private Ecosystem A
Private Ecosystem
C
Private
Ecosystem
B
Company
Employee
create
customized AK
input form
Public Ecosystem
share AK View AK
IDE
Modeling
Tool
collaboration
Modeling
Implementing
Integration integration
Requirement
CM/Issue
Tracking
KBase
Knowledge-Driven Infrastrucutre Design
Infrastructure for Collaborative Engineering
• Context
– Supporting Large Distributed Engineering Teams.
• Challenges
– Dozens of Different Engineering Tools Required.
– Some Commercial Tools (IBM SameTime and MS
Communicator) Available but Across Vendor
Integration is Problematic & Tools are Expensive.
– Just In Time (JIT) Composition and Use of Services.
– Misalignment between Tools, Processes and People.
• Proposed Solution
– Cloud-Based Infrastructure for Providing TaaS to
Distributed Engineering Teams.
Tools as a Service (TaaS)
Some Commercial Tools
Tool Description
AgileZen Collaborative Project Management
LucidChart Tool for Creating Different Models
MeetingSphere Group Meeting and Decision Support System
Microsoft Live Meeting Web Conference Service
Microsoft Project Project Management Solution
Microsoft Team
Foundation Server
Source Control, Data Collection/Reporting and Project
Tracking
Pidoco Software to Design GUIs for Web and Mobile Apps and
Make it Live to Share with other Users
IBM Rational Suite Suite of Tools for Different Phases of Software
Development Life Cycle
Cloud9 IDE Cloud-Enabled Online IDE
Eclipse Orion Cloud-Enabled IDE that can be hosted on private/public
clouds.
eXo Platform Collaboration Platform and IDE.
Key Requirements for Architectural Support
• Hosting & Provisioning/De-provisioning
Heterogeneous Engineering Tools.
• Maintaining Security & Privacy.
• Management of Repositories of Requirements,
Tools and Services.
• Seamless Integration of Applications and tools.
• Composition of Just-in-Time Tools Suites.
• Alignment of Processes, Tools, and People.
• Workspaces Supporting Tools Collaboration &
Artifacts Traceability for Virtual Teams.
Envisioned High Level Architectural Solution
• Tools Hosted in Public or
Private Clouds
• Data (Content Elements)
Integration through
Common Semantic
Model Using Ontologies
Core Elements of TaaS Space High-level Architecture Overview
Semantic Integration Among Tools
• Explicitly Describing Common Concepts
• Mapping Between Tools Specific & Common Concepts
ASR and Knowledge Management Tool
Modeling Tool
End Users
End Users
Building Semantically Integrated Data Model
End to End Integration
• Probes and Plugins to Map
Data of Tools onto Aggregated
Ontology Model.
• Generating RDF Graphs from
Aggregated Ontology Model.
ASR and KM Concepts Modeling Concept
A Suite of Ontologies for TaaS
• TaaS Space Ontology (SpaT) – Establishing Relations
among Activities, Tasks and Artifacts.
• Capability Ontology (CapT) – Representing Capabilities
of Tools and Users Requirements; Enabling Matching.
• Change Ontology (ChaT) - Monitoring and Tracking
Changes Made to Different Artifacts with Different Tools.
• Annotation Ontology (Annt) – Annotating Artifacts for
Establishing Trace Links between Artifacts and analyzing
Impact of Change on Artifacts by Actions Taken.
Architecture of Integration Systems
• Subsystem for Annotation, Semantic Integration and
Collaboration Notifications based on Ontology Model
Architectural Knowledge for Migrating Clouds
Architecture-Based Migration Process
Source: Kazman R., Woods S. G., Carrière S. J.: “Requirements for Integrating Software Architecture and Reengineering Models: CORUM II”, in proc. of the
Working Conference on Reverse Engineering (WCRE'98), pp. 154, IEEE, 1998
Migrating Tools to Cloud Infrastructure
• Migrating Software Metrics Collection and
Analysis Tool – called Hakystat
• Supporting a Large Number of
Organizations for Process and Product
Metrics for Monitoring and Improvement
• Organizations Require Elastic Computing
and Storage Resources
• SaaS on IaaS (Amazon) or SaaS on
PaaS (Goolge)
Features &
resources
Architecture of Hackystat
Provides visualization of different
metrics through GUIs
Generates reports for
external clients
Provides weekly,
monthly and yearly
abstractions of metrics
Provides daily
abstraction of data
Receives and stores
data and provides
daily abstractions
Quality Attributes & Architectural Decisions
Quality
Attributes
Architectural Decisions
Amazon EC2 & S3 Google App Engine
Scalability Replication of system services to meet
performance requirments.
No action required. Scalability is handled
by platform.
Separation of database layer into a new
service that utilizes platform specific
persistency features.
Refactoring of persistency components to
make it compatible with Google
Datastore persistence.
Portability A wrapper layer is added to ensure
platform independence.
A separate database layer to provide
seamless transfer of database layer.
Portability to other
possible.
platforms is not
Compatibility System features are exposed through
origonal REST API.
A wrapper layer is added to provide
abstraction to services cluster and their
deployment configuration.
System features are
origonal REST API.
exposed through
Reliability &
Autonomous
Scalability
Façade/Waper layer to provide
abstraction.
Amazon’s Elastic Load Balancer ensures
autonomous scalability.
Ensured by platform.
Efficient &
effective
deployments
Amazon Elastic Load Balancer ensures
auto scaling as well as efficient and cost
effective deployment configuration.
Deployment of application components
on cloud is managed by platform.
Architectural Views of Hackystat in Cloud
Source: Chauhan, M. A., Ali Babar, M., Towards Process Support for Migrating Applications to Cloud Computing, Int’l Conference on Cloud Computing &
Service Computing, 2012.
Architecture-Based Cloud Migration Process
Source: Ahmed, A., Ali Babar, M., A Framework for Architecture-Driven Migration of Legacy System to Cloud-Enabled Software, Companion Volume of
WICSA, 2014.
Cloud Migration Process Support
What is Needed?
Concluding Remarks
• Software Architecture Plays a Vital Role in
Design and Evolution of Cloud-Based Systems
• Rapid Adoption of Cloud Computing has Created
Huge Gap in Software Architecture Design
Knowledge that can Result in Technical Debts
• Dozens of Architectural Related Challenges in
Designing & Evaluating Cloud-Based Systems
• Systematically Building and Leveraging
Architectural Design Knowledge is Important for
Developing on or Migrating to Clouds
Acknowledgements
• Slides are based on the work that is being carried
out in my group in close collaboration with several
colleagues, students, and industrial partners.
• Some research challenges and promising solutions
have been developed for joint research proposals.
• TaaS Platform work is being driven by Aufeef
Chauhan.
• Professor Michael Sheng advised on the
development of Ontological solutions.
Thank You!
Questions
M. Ali Babar
alibabar.m@gmail.com
malibabar.wordpress.com

More Related Content

Similar to Understanding and Addressing Architectural Challenges of Cloud- Based Systems

Basics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET DevelopersBasics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET DevelopersDan Douglas
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural designHiren Selani
 
An Architecture for Toolbox-based Software Architecture Reconstruction Solution
An Architecture for Toolbox-based Software Architecture Reconstruction SolutionAn Architecture for Toolbox-based Software Architecture Reconstruction Solution
An Architecture for Toolbox-based Software Architecture Reconstruction SolutionM Firdaus Harun
 
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...Elizabeth Steiner
 
Thoughts On Architecting V4 2
Thoughts On Architecting V4 2Thoughts On Architecting V4 2
Thoughts On Architecting V4 2bmercer
 
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)Bob Marcus
 
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...David Adams
 
MS Word file resumes16869r.doc.doc
MS Word file resumes16869r.doc.docMS Word file resumes16869r.doc.doc
MS Word file resumes16869r.doc.docbutest
 
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...marksimpsongw
 
Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)Fáber D. Giraldo
 
Information management
Information managementInformation management
Information managementDavid Champeau
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIvano Malavolta
 
Bhadale group of companies data science services catalogue - detailed
Bhadale group of companies data science services catalogue - detailedBhadale group of companies data science services catalogue - detailed
Bhadale group of companies data science services catalogue - detailedVijayananda Mohire
 
Mark Minnucci: Deployment of MBSE and the Emergence of a Systems-Thinking Cul...
Mark Minnucci: Deployment of MBSE and the Emergence of a Systems-Thinking Cul...Mark Minnucci: Deployment of MBSE and the Emergence of a Systems-Thinking Cul...
Mark Minnucci: Deployment of MBSE and the Emergence of a Systems-Thinking Cul...EnergyTech2015
 
Cs 1023 lec 13 web (week 4)
Cs 1023 lec 13 web (week 4)Cs 1023 lec 13 web (week 4)
Cs 1023 lec 13 web (week 4)stanbridge
 
Cloud strategy briefing 101
Cloud strategy briefing 101 Cloud strategy briefing 101
Cloud strategy briefing 101 Predrag Mitrovic
 
Data Virtualization: Introduction and Business Value (UK)
Data Virtualization: Introduction and Business Value (UK)Data Virtualization: Introduction and Business Value (UK)
Data Virtualization: Introduction and Business Value (UK)Denodo
 

Similar to Understanding and Addressing Architectural Challenges of Cloud- Based Systems (20)

Basics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET DevelopersBasics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET Developers
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
 
An Architecture for Toolbox-based Software Architecture Reconstruction Solution
An Architecture for Toolbox-based Software Architecture Reconstruction SolutionAn Architecture for Toolbox-based Software Architecture Reconstruction Solution
An Architecture for Toolbox-based Software Architecture Reconstruction Solution
 
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...
Knowledge-Based Analysis and Design (KBAD): An Approach to Rapid Systems Engi...
 
Duc le CV
Duc le CVDuc le CV
Duc le CV
 
Why to Architecture Information
Why to Architecture InformationWhy to Architecture Information
Why to Architecture Information
 
Thoughts On Architecting V4 2
Thoughts On Architecting V4 2Thoughts On Architecting V4 2
Thoughts On Architecting V4 2
 
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)
 
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
David Adams - Linkedin Information Architect Business Analyst - Web / Social ...
 
MS Word file resumes16869r.doc.doc
MS Word file resumes16869r.doc.docMS Word file resumes16869r.doc.doc
MS Word file resumes16869r.doc.doc
 
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)Lab Software Architecture (in spanish)
Lab Software Architecture (in spanish)
 
Information management
Information managementInformation management
Information management
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
Bhadale group of companies data science services catalogue - detailed
Bhadale group of companies data science services catalogue - detailedBhadale group of companies data science services catalogue - detailed
Bhadale group of companies data science services catalogue - detailed
 
Mark Minnucci: Deployment of MBSE and the Emergence of a Systems-Thinking Cul...
Mark Minnucci: Deployment of MBSE and the Emergence of a Systems-Thinking Cul...Mark Minnucci: Deployment of MBSE and the Emergence of a Systems-Thinking Cul...
Mark Minnucci: Deployment of MBSE and the Emergence of a Systems-Thinking Cul...
 
Cs 1023 lec 13 web (week 4)
Cs 1023 lec 13 web (week 4)Cs 1023 lec 13 web (week 4)
Cs 1023 lec 13 web (week 4)
 
Cloud strategy briefing 101
Cloud strategy briefing 101 Cloud strategy briefing 101
Cloud strategy briefing 101
 
Data Virtualization: Introduction and Business Value (UK)
Data Virtualization: Introduction and Business Value (UK)Data Virtualization: Introduction and Business Value (UK)
Data Virtualization: Introduction and Business Value (UK)
 

More from CREST @ University of Adelaide

Mobile Devices: Systemisation of Knowledge about Privacy Invasion Tactics and...
Mobile Devices: Systemisation of Knowledge about Privacy Invasion Tactics and...Mobile Devices: Systemisation of Knowledge about Privacy Invasion Tactics and...
Mobile Devices: Systemisation of Knowledge about Privacy Invasion Tactics and...CREST @ University of Adelaide
 
DevSecOps: Continuous Engineering with Security by Design: Challenges and Sol...
DevSecOps: Continuous Engineering with Security by Design: Challenges and Sol...DevSecOps: Continuous Engineering with Security by Design: Challenges and Sol...
DevSecOps: Continuous Engineering with Security by Design: Challenges and Sol...CREST @ University of Adelaide
 
A Deep Dive into the Socio-Technical Aspects of Delays in Security Patching
A Deep Dive into the Socio-Technical Aspects of Delays in Security PatchingA Deep Dive into the Socio-Technical Aspects of Delays in Security Patching
A Deep Dive into the Socio-Technical Aspects of Delays in Security PatchingCREST @ University of Adelaide
 
Mining Software Repositories for Security: Data Quality Issues Lessons from T...
Mining Software Repositories for Security: Data Quality Issues Lessons from T...Mining Software Repositories for Security: Data Quality Issues Lessons from T...
Mining Software Repositories for Security: Data Quality Issues Lessons from T...CREST @ University of Adelaide
 
A Decentralised Platform for Provenance Management of Machine Learning Softwa...
A Decentralised Platform for Provenance Management of Machine Learning Softwa...A Decentralised Platform for Provenance Management of Machine Learning Softwa...
A Decentralised Platform for Provenance Management of Machine Learning Softwa...CREST @ University of Adelaide
 
Privacy Engineering: Enabling Mobility of Mental Health Services with Data Pr...
Privacy Engineering: Enabling Mobility of Mental Health Services with Data Pr...Privacy Engineering: Enabling Mobility of Mental Health Services with Data Pr...
Privacy Engineering: Enabling Mobility of Mental Health Services with Data Pr...CREST @ University of Adelaide
 
Falling for Phishing: An Empirical Investigation into People's Email Response...
Falling for Phishing: An Empirical Investigation into People's Email Response...Falling for Phishing: An Empirical Investigation into People's Email Response...
Falling for Phishing: An Empirical Investigation into People's Email Response...CREST @ University of Adelaide
 
An Experience Report on the Design and Implementation of an Ad-hoc Blockchain...
An Experience Report on the Design and Implementation of an Ad-hoc Blockchain...An Experience Report on the Design and Implementation of an Ad-hoc Blockchain...
An Experience Report on the Design and Implementation of an Ad-hoc Blockchain...CREST @ University of Adelaide
 
Gazealytics: A Unified and Flexible Visual Toolkit for Exploratory and Compar...
Gazealytics: A Unified and Flexible Visual Toolkit for Exploratory and Compar...Gazealytics: A Unified and Flexible Visual Toolkit for Exploratory and Compar...
Gazealytics: A Unified and Flexible Visual Toolkit for Exploratory and Compar...CREST @ University of Adelaide
 
Detecting Misuses of Security APIs: A Systematic Review
Detecting Misuses of Security APIs: A Systematic ReviewDetecting Misuses of Security APIs: A Systematic Review
Detecting Misuses of Security APIs: A Systematic ReviewCREST @ University of Adelaide
 
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...CREST @ University of Adelaide
 
Energy Efficiency Evaluation of Local and Offloaded Data Processing
Energy Efficiency Evaluation of Local and Offloaded Data ProcessingEnergy Efficiency Evaluation of Local and Offloaded Data Processing
Energy Efficiency Evaluation of Local and Offloaded Data ProcessingCREST @ University of Adelaide
 

More from CREST @ University of Adelaide (20)

Mobile Devices: Systemisation of Knowledge about Privacy Invasion Tactics and...
Mobile Devices: Systemisation of Knowledge about Privacy Invasion Tactics and...Mobile Devices: Systemisation of Knowledge about Privacy Invasion Tactics and...
Mobile Devices: Systemisation of Knowledge about Privacy Invasion Tactics and...
 
Making Software and Software Engineering visible
Making Software and Software Engineering visibleMaking Software and Software Engineering visible
Making Software and Software Engineering visible
 
DevSecOps: Continuous Engineering with Security by Design: Challenges and Sol...
DevSecOps: Continuous Engineering with Security by Design: Challenges and Sol...DevSecOps: Continuous Engineering with Security by Design: Challenges and Sol...
DevSecOps: Continuous Engineering with Security by Design: Challenges and Sol...
 
A Deep Dive into the Socio-Technical Aspects of Delays in Security Patching
A Deep Dive into the Socio-Technical Aspects of Delays in Security PatchingA Deep Dive into the Socio-Technical Aspects of Delays in Security Patching
A Deep Dive into the Socio-Technical Aspects of Delays in Security Patching
 
Mining Software Repositories for Security: Data Quality Issues Lessons from T...
Mining Software Repositories for Security: Data Quality Issues Lessons from T...Mining Software Repositories for Security: Data Quality Issues Lessons from T...
Mining Software Repositories for Security: Data Quality Issues Lessons from T...
 
A Decentralised Platform for Provenance Management of Machine Learning Softwa...
A Decentralised Platform for Provenance Management of Machine Learning Softwa...A Decentralised Platform for Provenance Management of Machine Learning Softwa...
A Decentralised Platform for Provenance Management of Machine Learning Softwa...
 
Privacy Engineering: Enabling Mobility of Mental Health Services with Data Pr...
Privacy Engineering: Enabling Mobility of Mental Health Services with Data Pr...Privacy Engineering: Enabling Mobility of Mental Health Services with Data Pr...
Privacy Engineering: Enabling Mobility of Mental Health Services with Data Pr...
 
Falling for Phishing: An Empirical Investigation into People's Email Response...
Falling for Phishing: An Empirical Investigation into People's Email Response...Falling for Phishing: An Empirical Investigation into People's Email Response...
Falling for Phishing: An Empirical Investigation into People's Email Response...
 
An Experience Report on the Design and Implementation of an Ad-hoc Blockchain...
An Experience Report on the Design and Implementation of an Ad-hoc Blockchain...An Experience Report on the Design and Implementation of an Ad-hoc Blockchain...
An Experience Report on the Design and Implementation of an Ad-hoc Blockchain...
 
Gazealytics: A Unified and Flexible Visual Toolkit for Exploratory and Compar...
Gazealytics: A Unified and Flexible Visual Toolkit for Exploratory and Compar...Gazealytics: A Unified and Flexible Visual Toolkit for Exploratory and Compar...
Gazealytics: A Unified and Flexible Visual Toolkit for Exploratory and Compar...
 
Detecting Misuses of Security APIs: A Systematic Review
Detecting Misuses of Security APIs: A Systematic ReviewDetecting Misuses of Security APIs: A Systematic Review
Detecting Misuses of Security APIs: A Systematic Review
 
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...
 
Data Quality for Software Vulnerability Dataset
Data Quality for Software Vulnerability DatasetData Quality for Software Vulnerability Dataset
Data Quality for Software Vulnerability Dataset
 
Mod2Dash Presentation
Mod2Dash PresentationMod2Dash Presentation
Mod2Dash Presentation
 
Run-time Patching and updating Impact Estimation
Run-time Patching and updating Impact EstimationRun-time Patching and updating Impact Estimation
Run-time Patching and updating Impact Estimation
 
ECSA 2023 Ubuntu Case Study
ECSA 2023 Ubuntu Case StudyECSA 2023 Ubuntu Case Study
ECSA 2023 Ubuntu Case Study
 
Energy Efficiency Evaluation of Local and Offloaded Data Processing
Energy Efficiency Evaluation of Local and Offloaded Data ProcessingEnergy Efficiency Evaluation of Local and Offloaded Data Processing
Energy Efficiency Evaluation of Local and Offloaded Data Processing
 
Designing Quality-Driven Blockchain Networks
Designing Quality-Driven Blockchain NetworksDesigning Quality-Driven Blockchain Networks
Designing Quality-Driven Blockchain Networks
 
Privacy Engineering in the Wild
Privacy Engineering in the WildPrivacy Engineering in the Wild
Privacy Engineering in the Wild
 
Security Data Quality Challenges
Security Data Quality ChallengesSecurity Data Quality Challenges
Security Data Quality Challenges
 

Recently uploaded

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 

Recently uploaded (20)

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 

Understanding and Addressing Architectural Challenges of Cloud- Based Systems

  • 1. Understanding and Addressing Architectural Challenges of Cloud- Based Systems M. Ali Babar CREST – Centre for Research on Engineering Software Technologies University of Adelaide, Australia Keynote Talk @ BDCloud 2014, Sydney, Australia December, 5, 2014.
  • 2. Background Brief M. Ali Babar Professor of Software Engineering, University of Adelaide, Australia – Nov. 2013 - PhD in CSE, University of New South Wales Work History: Reader, Lancaster, UK, Feb. 2013 – Nov. 2013. IT University of Copenhagen, Denmark: Dec. 2009 … Lero, Ireland: 2007 – 2009 NICTA, Australia: 2003 - 2007 JRCASE, Macquarie University: 2001 – 2003 Various industrial roles in IT: Prior to 2001 Research Interests: Software Architecture, Service Orientation, Cloud Computing, and Software Development Paradigm http://malibabar.wordpress.com
  • 3.
  • 4. Cloud Computing Research Threads Decision Support Systems Processes for Engineering Clouds Architecting Cloud Systems & Services
  • 5. Outline • What is Software Architecture & Why is It Important? • Key Facets of Cloud Computing & Architecture • Systematically Building Architectural Knowledge for Cloud-Based Systems • Cases of Leveraging Architectural Knowledge • Concluding Remarks
  • 6. Why is Architecture Critical & What is It?
  • 7. Some Scenarios for Architectural Support legal experts domain experts specification tools Scenario 1 processing and data only in region A Scenario 2 data only in region B Scenario 3 data only in region B processing only in region A Region B Region A Region C • A Public Agency Wants to Use Clouds for Storing and Processing Highly Sensitive Data. • An Engineering Company Intends to Use Clouds for its Highly Confidential Documents. • Leveraging Cloud Bursting without Violating Legal Constraints and Agreements with Customers
  • 8. Software Architecture • “The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both” (Bass, L., et. al., 2013). • “Fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution” (ISO/IEC 42010). • Its all about DECISIONS in certain context – bad, good and better ones.
  • 9. Relating Architecture with Cloud Computing “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” (A definition by the US National institute of standards and technology (NIST))
  • 10. Key Facets of Cloud Computing & Architecture Reproduced from Figure 1 of The Future of Cloud Computing: Opportunities for European Cloud Computing beyond 2010.
  • 11. Getting Architecture Right is Hard! “..The life of a software architect is a long (and sometimes painful) succession of sub-optimal decisions made partly in the dark…” (Philippe Kruchten)
  • 12. Knowledge Centric Design & Evaluation Documenting Architecture design Specifying AS R s Architecture Evaluation Prioritized Quality Attribute Scenarios Requirements, constraints Stakeholders Patterns a n d tactics text text text “Sketches” of candidate views, Determ ined by patterns Chosen, com bined views plus doc’n. b e yo n d views Adapted from: Hofmeister, C., et al., A general model of software architecture design derived from five industrial approaches. Journal of Systems and Software 80(1): 106-126 (2007).
  • 14. Empirism as a Research Approach • Empiricism – Generally being regarded at the heart of the modern scientific methods, that our theories should be based on our observations of the world rather than on intuition or faith • Empirical Software Engineering (ESE) – Empirical research in SE is the scientific use of quantitative and qualitative data to understand and improve software product and software development process (Vic Basili) – Data is central element to address a research issues related to processes, technologies, or people • ESE Helps in Understanding and Developing/ Improving Processes, Technologies, People
  • 15. Key Areas of Architectural Research Challenges
  • 16. Research Challenges for Architectural Support • Interoperability – Support for interoperability for multiple collaborative services. • Privacy – Identifying trusted cloud services to process sensitive data. – Data placement strategies based on privacy requirements. • Scalability – Automatic identification of traffic patterns for dynamic scalability. • Adaptability – Support adaptability of service transmission environment according to specific Quality of Service (QoS) requirements and provide communication space specific to a customer’s needs. • Service Selection – Collaboration among cloud service providers (service discovery, advertisement and composition). – Market-oriented resource and service provisioning.
  • 17. • Cloud Service Federation – Cloud brokerage for federated clouds. – Increase capacity by delegating tasks to federated clouds. – Inter layer mappings of corresponding layers of reference cloud mode among federated clouds. – Decentralize deployment infrastructure of by multiple providers. – Limited resource in a single cloud provider in stressed data centers. – Avoid cloud vendor lock-in. • Service Level Agreement (SLA) Compliance – SLA specific cloud services discovery. – Cloud system behavior anticipation according to specific QoS requirements. – Decentralization of consistency and scalability management of the services. Research Challenges for Architectural Support
  • 18. • Pervasive Embedded Networks on Cloud – Management of mash-up services on shared cloud resources. – Compliance with concrete semantic structures for information presentation and communication. – Domain Specific Data visualization from various types of data sources (wireless devices, web applications and medical images). • Workflows management on cloud – Business processes cooperation for processing sensitive data. – Rationally fragmenting a workflow model. – Deploy workflow fragments on the underlying collaborative architectural components. Research Challenges for Architectural Support
  • 19. Building and Leveraging Body of Knowledge
  • 20. Design Knowledge Support R e a s o n i n g K n o w l e d g e S h a r e ( C ) A r c h i t e c t ( A ) E v a l u a t e ( F ) L e a r n ( E ) G e n e r a l K n o w l e d g e D e s i g n K n o w l e d g e S y n t h e s i z e ( G ) C o n t e x t K n o w l e d g e I n t e g r a t e ( B ) A r c h i t e c t u r a l K n o w l e d g e D i s t i l l ( H ) A p p l y ( I ) P r o d u c e r C o n s u m e r T r a c e ( D ) E v a l u a t e ( F ) K n o w l e d g e T y p e A c t o r C o n s u m i n g a c t i v i t y P r o d u c i n g a c t i v i t y K e y T r a c e a b i l i t y c r e a t e d b y p r o d u c e r s a n d u s e d b y c o n s u m e r s S e a r c h / R e t r i e v e ( J ) • Lack of Architectural Knowledge usually Results in – Severe System Design Problems. – Huge Technical Debt on Suboptimal Design Decisions. • Guidance and Tools – Types of Architectural Knowledge. – Manage & Share Knowledge. – Architectural Description for Reuse. • We Developed – A Characterization Scheme of Architectural Design Knowledge. – An Infrastructure for Capturing and Sharing Architectural Knowledge.
  • 22. Discovering & Cataloguing Architecture Styles
  • 23. Architecture Design Knowledge Ecosystem Private Ecosystem A Private Ecosystem C Private Ecosystem B Company Employee create customized AK input form Public Ecosystem share AK View AK IDE Modeling Tool collaboration Modeling Implementing Integration integration Requirement CM/Issue Tracking KBase
  • 25. Infrastructure for Collaborative Engineering • Context – Supporting Large Distributed Engineering Teams. • Challenges – Dozens of Different Engineering Tools Required. – Some Commercial Tools (IBM SameTime and MS Communicator) Available but Across Vendor Integration is Problematic & Tools are Expensive. – Just In Time (JIT) Composition and Use of Services. – Misalignment between Tools, Processes and People. • Proposed Solution – Cloud-Based Infrastructure for Providing TaaS to Distributed Engineering Teams.
  • 26. Tools as a Service (TaaS)
  • 27. Some Commercial Tools Tool Description AgileZen Collaborative Project Management LucidChart Tool for Creating Different Models MeetingSphere Group Meeting and Decision Support System Microsoft Live Meeting Web Conference Service Microsoft Project Project Management Solution Microsoft Team Foundation Server Source Control, Data Collection/Reporting and Project Tracking Pidoco Software to Design GUIs for Web and Mobile Apps and Make it Live to Share with other Users IBM Rational Suite Suite of Tools for Different Phases of Software Development Life Cycle Cloud9 IDE Cloud-Enabled Online IDE Eclipse Orion Cloud-Enabled IDE that can be hosted on private/public clouds. eXo Platform Collaboration Platform and IDE.
  • 28. Key Requirements for Architectural Support • Hosting & Provisioning/De-provisioning Heterogeneous Engineering Tools. • Maintaining Security & Privacy. • Management of Repositories of Requirements, Tools and Services. • Seamless Integration of Applications and tools. • Composition of Just-in-Time Tools Suites. • Alignment of Processes, Tools, and People. • Workspaces Supporting Tools Collaboration & Artifacts Traceability for Virtual Teams.
  • 29. Envisioned High Level Architectural Solution • Tools Hosted in Public or Private Clouds • Data (Content Elements) Integration through Common Semantic Model Using Ontologies Core Elements of TaaS Space High-level Architecture Overview
  • 30. Semantic Integration Among Tools • Explicitly Describing Common Concepts • Mapping Between Tools Specific & Common Concepts ASR and Knowledge Management Tool Modeling Tool End Users End Users
  • 31. Building Semantically Integrated Data Model End to End Integration • Probes and Plugins to Map Data of Tools onto Aggregated Ontology Model. • Generating RDF Graphs from Aggregated Ontology Model. ASR and KM Concepts Modeling Concept
  • 32. A Suite of Ontologies for TaaS • TaaS Space Ontology (SpaT) – Establishing Relations among Activities, Tasks and Artifacts. • Capability Ontology (CapT) – Representing Capabilities of Tools and Users Requirements; Enabling Matching. • Change Ontology (ChaT) - Monitoring and Tracking Changes Made to Different Artifacts with Different Tools. • Annotation Ontology (Annt) – Annotating Artifacts for Establishing Trace Links between Artifacts and analyzing Impact of Change on Artifacts by Actions Taken.
  • 33. Architecture of Integration Systems • Subsystem for Annotation, Semantic Integration and Collaboration Notifications based on Ontology Model
  • 34. Architectural Knowledge for Migrating Clouds
  • 35. Architecture-Based Migration Process Source: Kazman R., Woods S. G., Carrière S. J.: “Requirements for Integrating Software Architecture and Reengineering Models: CORUM II”, in proc. of the Working Conference on Reverse Engineering (WCRE'98), pp. 154, IEEE, 1998
  • 36. Migrating Tools to Cloud Infrastructure • Migrating Software Metrics Collection and Analysis Tool – called Hakystat • Supporting a Large Number of Organizations for Process and Product Metrics for Monitoring and Improvement • Organizations Require Elastic Computing and Storage Resources • SaaS on IaaS (Amazon) or SaaS on PaaS (Goolge) Features & resources
  • 37. Architecture of Hackystat Provides visualization of different metrics through GUIs Generates reports for external clients Provides weekly, monthly and yearly abstractions of metrics Provides daily abstraction of data Receives and stores data and provides daily abstractions
  • 38. Quality Attributes & Architectural Decisions Quality Attributes Architectural Decisions Amazon EC2 & S3 Google App Engine Scalability Replication of system services to meet performance requirments. No action required. Scalability is handled by platform. Separation of database layer into a new service that utilizes platform specific persistency features. Refactoring of persistency components to make it compatible with Google Datastore persistence. Portability A wrapper layer is added to ensure platform independence. A separate database layer to provide seamless transfer of database layer. Portability to other possible. platforms is not Compatibility System features are exposed through origonal REST API. A wrapper layer is added to provide abstraction to services cluster and their deployment configuration. System features are origonal REST API. exposed through Reliability & Autonomous Scalability Façade/Waper layer to provide abstraction. Amazon’s Elastic Load Balancer ensures autonomous scalability. Ensured by platform. Efficient & effective deployments Amazon Elastic Load Balancer ensures auto scaling as well as efficient and cost effective deployment configuration. Deployment of application components on cloud is managed by platform.
  • 39. Architectural Views of Hackystat in Cloud Source: Chauhan, M. A., Ali Babar, M., Towards Process Support for Migrating Applications to Cloud Computing, Int’l Conference on Cloud Computing & Service Computing, 2012.
  • 40. Architecture-Based Cloud Migration Process Source: Ahmed, A., Ali Babar, M., A Framework for Architecture-Driven Migration of Legacy System to Cloud-Enabled Software, Companion Volume of WICSA, 2014.
  • 43. Concluding Remarks • Software Architecture Plays a Vital Role in Design and Evolution of Cloud-Based Systems • Rapid Adoption of Cloud Computing has Created Huge Gap in Software Architecture Design Knowledge that can Result in Technical Debts • Dozens of Architectural Related Challenges in Designing & Evaluating Cloud-Based Systems • Systematically Building and Leveraging Architectural Design Knowledge is Important for Developing on or Migrating to Clouds
  • 44. Acknowledgements • Slides are based on the work that is being carried out in my group in close collaboration with several colleagues, students, and industrial partners. • Some research challenges and promising solutions have been developed for joint research proposals. • TaaS Platform work is being driven by Aufeef Chauhan. • Professor Michael Sheng advised on the development of Ontological solutions.
  • 45. Thank You! Questions M. Ali Babar alibabar.m@gmail.com malibabar.wordpress.com