Architectural Tactics Support in Cloud Computing Providers: The Jelastic Case

Jaime Chavarriaga
Jaime ChavarriagaPhD in Engineering, Universidad de los Andes --PhD in Sciences, Vrije Universiteit Brussel um Universidad de los Andes - Colombia
Architectural Tactics Support in
Cloud Computing Providers:
The Jelastic Case
Jaime Chavarriaga, jchavarr@vub.ac.be
Carlos Noguera, cnogera@vub.ac.be
Rubby Casallas, rcasalla@uniandes.edu.o
Viviane Jonckers, vejoncke@vub.ac.be
PaaS providers
PaaS = Platform as a Service
No need to install
infrastructure
Options for:
• Scalability
• Elasticity
• Fault Tolerance
From the architect’s point of view…
Before/During deployment, the architect
must configure the PaaS
to achieve the intended QAs
e.g. Cloud Platform
Which Environments
(servers) to use?
How many servers ?
Which options
configure in the
environments?
Our Contribution
• To provide better abstractions to support
architects configuring PaaS applications based
on:
– Quality Attributes (QAs)
• Architectural tactics
–PaaS Configuration Options
Our Approach
• Our solution is based on:
– Feature models to represent variability in:
• Architectural Tactics related to QAs,
• Jelastic configuration options
– Feature Solution Graphs to represent:
• Relationships between these feature models
Feature Models
r
a b
f2f1 f3 f4 f5
Or
Group
Alternative
Group
Optional
Feature
Mandatory
Feature
Configuration
r
a b
f2f1 f3 f4 f5
Or
Group
Alternative
Group
Optional
Feature
Mandatory
Feature
C1 = { r, a, f1, b, f3 } valid
Configuration
r
a b
f2f1 f3 f4 f5
Or
Group
Alternative
Group
Optional
Feature
Mandatory
Feature
C2 = { r, b, f3 } invalid
FM for Architectural Tactics
FM for Architectural Tactics
6 Quality Attributes
79 Architectural Tactics
Bass et al.
Software Architecture in Practice
Addison-Wesley
2014
FM for Jelastic Cloud Computing
Modeling how to implement
architectural tactics
using
cloud platform options
Feature Solution Graph (FS-Graphs)
forces
prohibits
suggests
Feature Solution Graph (FS-Graphs)
forces
prohibits
suggests
Feature Solution Graph (FS-Graphs)
forces
prohibits
suggests
Our FS-Graphs
forces
prohibits
suggests
Architectural
Tactics
Cloud Platform
Configuration
Jelastic
…Session
Server
App Server
Tomcat Glassfish Jetty
HA
requires
Tactics
Performance Availability…
forces
TPC LB
forces
prohibits
Passive
Redundancy
Active
Redundancy
Reduce
Overhead
HTTP LB
Load
Balancer
Relating architectural tactics
to configuration options
Helping software architects
to configure a cloud platform
based on architectural tactics
Jelastic
…Session
Server
App Server
Tomcat Glassfish Jetty
HA
requires
Tactics
Performance Availability…
forces
TPC LB
forces
prohibits
Passive
Redundancy
Active
Redundancy
Reduce
Overhead
HTTP LB
Load
Balancer
Relating architectural tactics
to configuration options
Jelastic
…Session
Server
App Server
Tomcat Glassfish Jetty
HA
requires
Tactics
Performance Availability…
forces
TPC LB
forces
prohibits
Passive
Redundancy
Active
Redundancy
Reduce
Overhead
HTTP LB
Load
Balancer
Relating architectural tactics
to configuration options
Relating architectural tactics
to configuration options
Jelastic
…Session
Server
App Server
Tomcat Glassfish Jetty
HA
requires
Tactics
Performance Availability…
forces
TPC LB
forces
prohibits
Passive
Redundancy
Active
Redundancy
Reduce
Overhead
HTTP LB
Load
Balancer
Case Study: The Jelastic Platform
Relating architectural tactics
to configuration options
24
Possible Combination of Tactics
Availability Performance Security Testability
Availability 289 277,151 54,527 867
Performance 959 91,105 2.877
Security 95 285
Testability 3
Possible Combination of Tactics
Availability Performance Security Testability
Availability 289
25 valid
264 confl
277,151
8 valid
277,143 confl
54,527
4,487 valid
50,040 confl
867
75 valid
792 confl
Performance 959
31 valid
928 confl
91,105
2,945 valid
88,160 confl
2.877
93 valid
2784 confl
Security 95
95 valid
0 confl
285
285 valid
0 confl
Testability 3
3 valid
0 confl
detected Conflicts
Availability Performance Security Testability
Availability
91.3% 99.9% 91.7% 91.3%
Performance
96.7% 96.7% 96.7%
Security
0% 0%
Testability
0%
Conclusions
• We have used FM to model variability in architectural
tactics and cloud platform configuration, and FS-Graphs
to model the relationships between them.
• We use these models to help software architects to
configure a PaaS based on QAs and detect conflicts that
may result.
• The same approach can be applied to other cloud
computing provider.
– The corresponding models should be defined using the
knowledge of each specific PaaS provider.
Questions ?
Jaime Chavarriaga, jchavarr@vub.ac.be
Carlos Noguera, cnogera@vub.ac.be
Rubby Casallas, rcasalla@uniandes.edu.o
Viviane Jonckers, vejoncke@vub.ac.be
1 von 29

Más contenido relacionado

Similar a Architectural Tactics Support in Cloud Computing Providers: The Jelastic Case(20)

What is the PaaS?What is the PaaS?
What is the PaaS?
CloudBees1.3K views
AWS User Group Sydney - Atlassian 5-10-16AWS User Group Sydney - Atlassian 5-10-16
AWS User Group Sydney - Atlassian 5-10-16
PolarSeven Pty Ltd618 views
Build on AWS: Migrating and PlatformingBuild on AWS: Migrating and Platforming
Build on AWS: Migrating and Platforming
Amazon Web Services316 views
AWS Service CatalogAWS Service Catalog
AWS Service Catalog
Amazon Web Services10.8K views
Migración a la Nube: Preparación y Mejores PrácticasMigración a la Nube: Preparación y Mejores Prácticas
Migración a la Nube: Preparación y Mejores Prácticas
Amazon Web Services LATAM348 views
Elastic-EngineeringElastic-Engineering
Elastic-Engineering
Araf Karsh Hamid485 views

Architectural Tactics Support in Cloud Computing Providers: The Jelastic Case

  • 1. Architectural Tactics Support in Cloud Computing Providers: The Jelastic Case Jaime Chavarriaga, jchavarr@vub.ac.be Carlos Noguera, cnogera@vub.ac.be Rubby Casallas, rcasalla@uniandes.edu.o Viviane Jonckers, vejoncke@vub.ac.be
  • 2. PaaS providers PaaS = Platform as a Service No need to install infrastructure Options for: • Scalability • Elasticity • Fault Tolerance
  • 3. From the architect’s point of view… Before/During deployment, the architect must configure the PaaS to achieve the intended QAs
  • 4. e.g. Cloud Platform Which Environments (servers) to use? How many servers ? Which options configure in the environments?
  • 5. Our Contribution • To provide better abstractions to support architects configuring PaaS applications based on: – Quality Attributes (QAs) • Architectural tactics –PaaS Configuration Options
  • 6. Our Approach • Our solution is based on: – Feature models to represent variability in: • Architectural Tactics related to QAs, • Jelastic configuration options – Feature Solution Graphs to represent: • Relationships between these feature models
  • 7. Feature Models r a b f2f1 f3 f4 f5 Or Group Alternative Group Optional Feature Mandatory Feature
  • 8. Configuration r a b f2f1 f3 f4 f5 Or Group Alternative Group Optional Feature Mandatory Feature C1 = { r, a, f1, b, f3 } valid
  • 9. Configuration r a b f2f1 f3 f4 f5 Or Group Alternative Group Optional Feature Mandatory Feature C2 = { r, b, f3 } invalid
  • 11. FM for Architectural Tactics 6 Quality Attributes 79 Architectural Tactics Bass et al. Software Architecture in Practice Addison-Wesley 2014
  • 12. FM for Jelastic Cloud Computing
  • 13. Modeling how to implement architectural tactics using cloud platform options
  • 14. Feature Solution Graph (FS-Graphs) forces prohibits suggests
  • 15. Feature Solution Graph (FS-Graphs) forces prohibits suggests
  • 16. Feature Solution Graph (FS-Graphs) forces prohibits suggests
  • 18. Jelastic …Session Server App Server Tomcat Glassfish Jetty HA requires Tactics Performance Availability… forces TPC LB forces prohibits Passive Redundancy Active Redundancy Reduce Overhead HTTP LB Load Balancer Relating architectural tactics to configuration options
  • 19. Helping software architects to configure a cloud platform based on architectural tactics
  • 20. Jelastic …Session Server App Server Tomcat Glassfish Jetty HA requires Tactics Performance Availability… forces TPC LB forces prohibits Passive Redundancy Active Redundancy Reduce Overhead HTTP LB Load Balancer Relating architectural tactics to configuration options
  • 21. Jelastic …Session Server App Server Tomcat Glassfish Jetty HA requires Tactics Performance Availability… forces TPC LB forces prohibits Passive Redundancy Active Redundancy Reduce Overhead HTTP LB Load Balancer Relating architectural tactics to configuration options
  • 22. Relating architectural tactics to configuration options Jelastic …Session Server App Server Tomcat Glassfish Jetty HA requires Tactics Performance Availability… forces TPC LB forces prohibits Passive Redundancy Active Redundancy Reduce Overhead HTTP LB Load Balancer
  • 23. Case Study: The Jelastic Platform
  • 24. Relating architectural tactics to configuration options 24
  • 25. Possible Combination of Tactics Availability Performance Security Testability Availability 289 277,151 54,527 867 Performance 959 91,105 2.877 Security 95 285 Testability 3
  • 26. Possible Combination of Tactics Availability Performance Security Testability Availability 289 25 valid 264 confl 277,151 8 valid 277,143 confl 54,527 4,487 valid 50,040 confl 867 75 valid 792 confl Performance 959 31 valid 928 confl 91,105 2,945 valid 88,160 confl 2.877 93 valid 2784 confl Security 95 95 valid 0 confl 285 285 valid 0 confl Testability 3 3 valid 0 confl
  • 27. detected Conflicts Availability Performance Security Testability Availability 91.3% 99.9% 91.7% 91.3% Performance 96.7% 96.7% 96.7% Security 0% 0% Testability 0%
  • 28. Conclusions • We have used FM to model variability in architectural tactics and cloud platform configuration, and FS-Graphs to model the relationships between them. • We use these models to help software architects to configure a PaaS based on QAs and detect conflicts that may result. • The same approach can be applied to other cloud computing provider. – The corresponding models should be defined using the knowledge of each specific PaaS provider.
  • 29. Questions ? Jaime Chavarriaga, jchavarr@vub.ac.be Carlos Noguera, cnogera@vub.ac.be Rubby Casallas, rcasalla@uniandes.edu.o Viviane Jonckers, vejoncke@vub.ac.be

Hinweis der Redaktion

  1. I am Doing a Phd research in Uniandes Bogota and VUB, Brussels In the context of variability management Today I will present an application of our ideas in the context of … First at all, I will explain the problem of using Paas Providers from the point of view of a software architects In the context of cloud applications, architects may use…
  2. PaaS providers offer Platform as a Service in cloud computing enviromnents. A software architects willing to deploy an application may use the execution environments and applications servers offered by a Paas providers such as Google App Engine, Jelastic or providers offering the GRAILS platform. With these providers, Software architects do not need to install the infrastructure software. They only has to deploy the application into preinstalled environments. In addition, they can use additional options for automatic scalability, elasticity and fault tolerance.
  3. From the architects’ point of view, the architect must configure the PaaS environment to achieve the intended Quality attributes for an application. For instance, if the application must achieve high availability or high performance, the architect must select the proper execution environment, probably using options for multiple servers, clustering or distributed caching systems.
  4. Although the configuration must respond to QAs, the PaaS is configured throught options of the infrastructure For instance, in Jelastic there are options to configure which brand of application server to use, how many servers to use, and which options include with these servers. This may result very complex for the architect used to deal with QAs and not with infrastructure options and configuration.
  5. Then, our contribution is focused on helping software architects to configure PaaS platforms based on QAs. In concrete we are interested on better abstractions to support software software architects configuring PaaS platform based on Quality Attributes. Basically abstractions that relate Quality Attributes with the architectural tactics that help to achieve these attributes and the Jelastic configuration that implement these architectural tactics. Now i will present, how we build the solution and some of the results we found.
  6. Feature Models have been used to represent variability in a domain. For instance, to represent which options or configuration elements can be included in an application. Our approach is based on feature models to represent alternatives about the architectural tactics that can be used to achieve a Quality Attribute and the Diverse options to configure Jelastic. We are proposing the use of Feature-Solution graphs to relate the architectural tactics to the jelastic configuration options. We use these graphs to represent how an architectural tactic can be implemented using that configuration options.
  7. Extractos -números, con tamaño
  8. Extractos -números, con tamaño
  9. Numero de opciones Note they are features…
  10. From 2,147,483,647 combinations of tactics only 210,862,079 results in valid configurations in Jelastic.
  11. Future work: Recommenders for cloud configuration in Jelastic and other platforms - Tool support for FS-Graphs