-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path02-abstract-fits-measures-literature.bib
2188 lines (2076 loc) · 199 KB
/
02-abstract-fits-measures-literature.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
% Encoding: UTF-8
@InProceedings{Anchuri2014,
author = {Anchuri, Pranay and Sumbaly, Roshan and Shah, Sam},
booktitle = {Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management},
title = {Hotspot Detection in a Service-Oriented Architecture},
year = {2014},
address = {New York, NY, USA},
pages = {1749–1758},
publisher = {Association for Computing Machinery},
series = {CIKM '14},
abstract = {Large-scale websites are predominantly built as a service-oriented architecture. Here,
services are specialized for a certain task, run on multiple machines, and communicate
with each other to serve a user's request. Reducing latency and improving the cost
to serve is quite important, but optimizing this service call graph is particularly
challenging due to the volume of data and the graph's non-uniform and dynamic nature.In
this paper, we present a framework to detect hotspots in a service-oriented architecture.
The framework is general, in that it can handle arbitrary objective functions. We
show that finding the optimal set of hotspots for a metric, such as latency, is NP-complete
and propose a greedy algorithm by relaxing some constraints. We use a pattern mining
algorithm to rank hotspots based on the impact and consistency. Experiments on real
world service call graphs from LinkedIn, the largest online professional social network,
show that our algorithm consistently outperforms baseline methods.},
doi = {10.1145/2661829.2661991},
file = {:Anchuri2014 - Hotspot Detection in a Service Oriented Architecture.pdf:PDF},
isbn = {9781450325981},
keywords = {monitoring, call graph, service-oriented architecture, hotspots},
location = {Shanghai, China},
numpages = {10},
url = {https://doi.org/10.1145/2661829.2661991},
}
@InProceedings{Oliveira2016,
author = {Oliveira, Joyce Aline and Junior, Jose J.L.D.},
booktitle = {Proceedings of the XII Brazilian Symposium on Information Systems on Brazilian Symposium on Information Systems: Information Systems in the Cloud Computing Era - Volume 1},
title = {A Three-Dimensional View of Reuse in Service Oriented Architecture},
year = {2016},
address = {Porto Alegre, BRA},
pages = {409–416},
publisher = {Brazilian Computer Society},
series = {SBSI 2016},
abstract = {The reuse in Service Oriented Architecture (SOA) has been used strategically in organizations
to reduce development costs and increase the quality of applications. This article
reports a qualitative research realized with experts in order to identify goals, barriers,
facilitators, strategies, metrics and benefits associated with reuse in SOA. The results
were summarized in three dimensions (management, architecture, operation) and represented
by a conceptual model that can serve as a preliminary roadmap to manage the reuse
in SOA.},
isbn = {9788576693178},
keywords = {qualitative research, SOA reuse, Services Oriented Architecture},
location = {Florianopolis, Santa Catarina, Brazil},
numpages = {8},
}
@InProceedings{Lehmann2017,
author = {Lehmann, Martin and Sandnes, Frode Eika},
booktitle = {Proceedings of the Second International Conference on Internet of Things, Data and Cloud Computing},
title = {A Framework for Evaluating Continuous Microservice Delivery Strategies},
year = {2017},
address = {New York, NY, USA},
publisher = {Association for Computing Machinery},
series = {ICC '17},
abstract = {The emergence of service-oriented computing, and in particular microservice architecture,
has introduced a new layer of complexity to the already challenging task of continuously
delivering changes to the end users. Cloud computing has turned scalable hardware
into a commodity, but also imposes some requirements on the software development process.
Yet, the literature mainly focuses on quantifiable metrics such as number of manual
steps and lines of code required to make a change. The industry, on the other hand,
appears to focus more on qualitative metrics such as increasing the productivity of
their developers. These are common goals, but must be measured using different approaches.
Therefore, based on interviews of industry stakeholders a framework for evaluating
and comparing approaches to continuous microservice delivery is proposed. We show
that it is possible to efficiently evaluate and compare strategies for continuously
delivering microservices.},
articleno = {64},
doi = {10.1145/3018896.3018961},
file = {:Lehmann2017 - A Framework for Evaluating Continuous Microservice Delivery Strategies.pdf:PDF},
isbn = {9781450347747},
keywords = {microservices, microservice architectures, deployment strategy, cloud computing, evaluation framework, continuous deployment},
location = {Cambridge, United Kingdom},
numpages = {9},
url = {https://doi.org/10.1145/3018896.3018961},
}
@InProceedings{Oliveira2018,
author = {Oliveira, Joyce Aline and Vargas, Matheus and Rodrigues, Roni},
booktitle = {Proceedings of the XIV Brazilian Symposium on Information Systems},
title = {SOA Reuse: Systematic Literature Review Updating and Research Directions},
year = {2018},
address = {New York, NY, USA},
publisher = {Association for Computing Machinery},
series = {SBSI'18},
abstract = {Service Oriented Architecture (SOA) reuse has been used strategically in organizations
to reduce development costs and increase the quality of applications. This article
analyzes a systematic literature review in order to identify concepts, goals, strategies,
and metrics of SOA reuse. The results show that the main goal of SOA reuse is to decrease
development costs. The factor that most negatively influences SOA reuse is the existence
of legacy systems. The strategy used most to potentialize SOA reuse is business process
management. Metrics proposed by studies to measure SOA reuse are related to modularity
and adaptability indicators. The study is relevant because it increases the body of
knowledge of the area. Additionally, a set of gaps to be addressed by researchers
and reuse practitioners was identified.},
articleno = {71},
doi = {10.1145/3229345.3229419},
file = {:Oliveira2018 - SOA Reuse_ Systematic Literature Review Updating and Research Directions.pdf:PDF},
isbn = {9781450365598},
keywords = {Service Oriented Architecture, systematic literature review, SOA reuse},
location = {Caxias do Sul, Brazil},
numpages = {8},
url = {https://doi.org/10.1145/3229345.3229419},
}
@InProceedings{Ilin2017,
author = {Ilin, I. and Levina, A. and Abran, A. and Iliashenko, O.},
booktitle = {Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement},
title = {Measurement of Enterprise Architecture (EA) from an IT Perspective: Research Gaps and Measurement Avenues},
year = {2017},
address = {New York, NY, USA},
pages = {232–243},
publisher = {Association for Computing Machinery},
series = {IWSM Mensura '17},
abstract = {Reorganizational projects in general and software-related projects in particular,
are often implemented with a focus only on the reorganized components within an organizational
management system, not taking into account relationships with the other components
of an enterprise architecture (EA). This paper first looks at the current state of
EA measurement to identify weaknesses and gaps in aligning and measuring EA components,
EA structures and EA interrelationships from an IT perspective. It then identifies
from related works available innovative measurement concepts that could contribute
for aligning, measuring and monitoring software-related projects within an EA strategy.
This includes measurement avenues within a Balanced Scorecard (BSC), contributions
of functional size measurement to the BSC, and measurement of software structures
and functionality within a service-oriented architecture (SOA).},
doi = {10.1145/3143434.3143457},
file = {:Ilin2017 - Measurement of Enterprise Architecture (EA) from an IT Perspective_ Research Gaps and Measurement Avenues.pdf:PDF},
isbn = {9781450348539},
keywords = {balanced scorecard (BSC), function points (FP), enterprise architecture (EA), enterprise architecture measurement, service-oriented architecture (SOA), functional size measurement (FSM)},
location = {Gothenburg, Sweden},
numpages = {12},
url = {https://doi.org/10.1145/3143434.3143457},
}
@InProceedings{Bogner2018,
author = {Bogner, Justus and Fritzsch, Jonas and Wagner, Stefan and Zimmermann, Alfred},
booktitle = {Proceedings of the 2018 International Conference on Technical Debt},
title = {Limiting Technical Debt with Maintainability Assurance: An Industry Survey on Used Techniques and Differences with Service- and Microservice-Based Systems},
year = {2018},
address = {New York, NY, USA},
pages = {125–133},
publisher = {Association for Computing Machinery},
series = {TechDebt '18},
abstract = {Maintainability assurance techniques are used to control this quality attribute and
limit the accumulation of potentially unknown technical debt. Since the industry state
of practice and especially the handling of Service- and Microservice-Based Systems
in this regard are not well covered in scientific literature, we created a survey
to gather evidence for a) used processes, tools, and metrics in the industry, b) maintainability-related
treatment of systems based on service-orientation, and c) influences on developer
satisfaction w.r.t. maintainability. 60 software professionals responded to our online
questionnaire. The results indicate that using explicit and systematic techniques
has benefits for maintainability. The more sophisticated the applied methods the more
satisfied participants were with the maintainability of their software while no link
to a hindrance in productivity could be established. Other important findings were
the absence of architecture-level evolvability control mechanisms as well as a significant
neglect of service-oriented particularities for quality assurance. The results suggest
that industry has to improve its quality control in these regards to avoid problems
with long-living service-based software systems.},
doi = {10.1145/3194164.3194166},
file = {:Bogner2018 - Limiting Technical Debt with Maintainability Assurance_ an Industry Survey on Used Techniques and Differences with Service and Microservice Based Systems.pdf:PDF},
isbn = {9781450357135},
keywords = {microservice-based systems, maintainability, industry, survey, software quality control, service-based systems},
location = {Gothenburg, Sweden},
numpages = {9},
url = {https://doi.org/10.1145/3194164.3194166},
}
@Article{Wu2018,
author = {Wu, Yumei and Fang, Yuanyuan and Liu, Bin and Zhao, Zehui},
journal = {Personal Ubiquitous Comput.},
title = {A Novel Service Deployment Approach Based on Resilience Metrics for Service-Oriented System},
year = {2018},
issn = {1617-4909},
month = oct,
number = {5–6},
pages = {1099–1107},
volume = {22},
abstract = {Service-Oriented Architecture (SOA) has been widely used in IT areas and is expected
to bring a lot of benefits. However, the SOA system developers have to address new
challenging issues such as computational resource failure before such benefits can
be realized. This paper develops a graph-theoretic model for the SOA system and proposes
metrics that quantify the resilience of such system under resource failures. It explores
two service deployment strategies to optimize resilience by taking not only communication
costs among services but also the computation costs of services into consideration.
Among them, two types of undirected graphs are developed to model the relationships
between services, including Service Dependence Graph (SDG) and Service Concurrence
Graph (SCG). Then, these two graphs are integrated into Service Relationship Graph
(SRG) and adopt the k-cut optimization theory to complete the service deployment.
Finally, this paper verifies the effectiveness of the above methods in improving the
resilience of the system through a series of experiments, which indicate that our
methods perform better than the previous methods in improving resilience of the SOA
system.},
address = {Berlin, Heidelberg},
file = {:Wu2018 - A Novel Service Deployment Approach Based on Resilience Metrics for Service Oriented System.pdf:PDF},
issue_date = {October 2018},
keywords = {Resilience, SOA, Service relationship graph, Service deployment},
numpages = {9},
publisher = {Springer-Verlag},
}
@InProceedings{Camargo2016,
author = {de Camargo, Andr\'{e} and Salvadori, Ivan and Mello, Ronaldo dos Santos and Siqueira, Frank},
booktitle = {Proceedings of the 18th International Conference on Information Integration and Web-Based Applications and Services},
title = {An Architecture to Automate Performance Tests on Microservices},
year = {2016},
address = {New York, NY, USA},
pages = {422–429},
publisher = {Association for Computing Machinery},
series = {iiWAS '16},
abstract = {The microservices architecture provides a new approach to develop applications. As
opposed to monolithic applications, in which the application comprises a single software
artifact, an application based on the microservices architecture is composed by a
set of services, each one designed to perform a single and well-defined task. These
services allow the development team to decouple several parts of the application using
different frameworks, languages and hardware for each part of the system. One of the
drawbacks for adopting the microservices architecture to develop applications is testability.
In a single application test boundaries can be more easily established and tend to
be more stable as the application evolves, while with microservices we can have a
set of hundreds of services that operate together and are prone to change more rapidly.
Each one of these services needs to be tested and updated as the service changes.
In addition, the different characteristics of these services such as languages, frameworks
or the used infrastructure have to be considered in the testing phase. Performance
tests are applied to assure that a particular software complies with a set of non-functional
requirements such as throughput and response time. These metrics are important to
ensure that business constraints are respected and to help finding performance bottlenecks.
In this paper, we present a new approach to allow the performance tests to be executed
in an automated way, with each microservice providing a test specification that is
used to perform tests. Along with the architecture, we also provide a framework that
implements some key concepts of this architecture. This framework is available as
an open source project1.},
doi = {10.1145/3011141.3011179},
file = {:Camargo2016 - An Architecture to Automate Performance Tests on Microservices.pdf:PDF},
isbn = {9781450348072},
keywords = {test automation, performance test, microservices},
location = {Singapore, Singapore},
numpages = {8},
url = {https://doi.org/10.1145/3011141.3011179},
}
@InProceedings{Brito2021,
author = {Brito, Miguel and Cunha, J\'{a}come and Saraiva, Jo\~{a}o},
booktitle = {Proceedings of the 36th Annual ACM Symposium on Applied Computing},
title = {Identification of Microservices from Monolithic Applications through Topic Modelling},
year = {2021},
address = {New York, NY, USA},
pages = {1409–1418},
publisher = {Association for Computing Machinery},
series = {SAC '21},
abstract = {Microservices emerged as one of the most popular architectural patterns in the recent
years given the increased need to scale, grow and flexibilize software projects accompanied
by the growth in cloud computing and DevOps. Many software applications are being
submitted to a process of migration from its monolithic architecture to a more modular,
scalable and flexible architecture of microservices. This process is slow and, depending
on the project's complexity, it may take months or even years to complete.This paper
proposes a new approach on microservice identification by resorting to topic modelling
in order to identify services according to domain terms. This approach in combination
with clustering techniques produces a set of services based on the original software.
The proposed methodology is implemented as an open-source tool for exploration of
monolithic architectures and identification of microservices. A quantitative analysis
using the state of the art metrics on independence of functionality and modularity
of services was conducted on 200 open-source projects collected from GitHub. Cohesion
at message and domain level metrics' showed medians of roughly 0.6. Interfaces per
service exhibited a median of 1.5 with a compact interquartile range. Structural and
conceptual modularity revealed medians of 0.2 and 0.4 respectively.Our first results
are positive demonstrating beneficial identification of services due to overall metrics'
results.},
doi = {10.1145/3412841.3442016},
file = {:Brito2021 - Identification of Microservices from Monolithic Applications through Topic Modelling.pdf:PDF},
isbn = {9781450381048},
location = {Virtual Event, Republic of Korea},
numpages = {10},
url = {https://doi.org/10.1145/3412841.3442016},
}
@InProceedings{Ma2020,
author = {Ma, Meng and Xu, Jingmin and Wang, Yuan and Chen, Pengfei and Zhang, Zonghua and Wang, Ping},
booktitle = {Proceedings of The Web Conference 2020},
title = {AutoMAP: Diagnose Your Microservice-Based Web Applications Automatically},
year = {2020},
address = {New York, NY, USA},
pages = {246–258},
publisher = {Association for Computing Machinery},
series = {WWW '20},
abstract = {The high complexity and dynamics of the microservice architecture make its application
diagnosis extremely challenging. Static troubleshooting approaches may fail to obtain
reliable model applies for frequently changing situations. Even if we know the calling
dependency of services, we lack a more dynamic diagnosis mechanism due to the existence
of indirect fault propagation. Besides, algorithm based on single metric usually fail
to identify the root cause of anomaly, as single type of metric is not enough to characterize
the anomalies occur in diverse services. In view of this, we design a novel tool,
named AutoMAP, which enables dynamic generation of service correlations and automated
diagnosis leveraging multiple types of metrics. In AutoMAP, we propose the concept
of anomaly behavior graph to describe the correlations between services associated
with different types of metrics. Two binary operations, as well as a similarity function
on behavior graph are defined to help AutoMAP choose appropriate diagnosis metric
in any particular scenario. Following the behavior graph, we design a heuristic investigation
algorithm by using forward, self, and backward random walk, with an objective to identify
the root cause services. To demonstrate the strengths of AutoMAP, we develop a prototype
and evaluate it in both simulated environment and real-work enterprise cloud system.
Experimental results clearly indicate that AutoMAP achieves over 90% precision, which
significantly outperforms other selected baseline methods. AutoMAP can be quickly
deployed in a variety of microservice-based systems without any system knowledge.
It also supports introduction of various expert knowledge to improve accuracy.},
doi = {10.1145/3366423.3380111},
file = {:Ma2020 - AutoMAP_ Diagnose Your Microservice Based Web Applications Automatically.pdf:PDF},
isbn = {9781450370233},
keywords = {anomaly diagnosis, web application, Microservice architecture, root cause, cloud computing},
location = {Taipei, Taiwan},
numpages = {13},
url = {https://doi.org/10.1145/3366423.3380111},
}
@InProceedings{Lopez2017,
author = {L\'{o}pez, Manuel Ram\'{\i}rez and Spillner, Josef},
booktitle = {Companion Proceedings of The10th International Conference on Utility and Cloud Computing},
title = {Towards Quantifiable Boundaries for Elastic Horizontal Scaling of Microservices},
year = {2017},
address = {New York, NY, USA},
pages = {35–40},
publisher = {Association for Computing Machinery},
series = {UCC '17 Companion},
abstract = {One of the most useful features of a microservices architecture is its versatility
to scale horizontally. However, not all services scale in or out uniformly. The performance
of an application composed of microservices depends largely on a suitable combination
of replica count and resource capacity. In practice, this implies limitations to the
efficiency of autoscalers which often overscale based on an isolated consideration
of single service metrics. Consequently, application providers pay more than necessary
despite zero gain in overall performance. Solving this issue requires an application-specific
determination of scaling limits due to the general infeasibility of an application-agnostic
solution. In this paper, we study microservices scalability, the auto-scaling of containers
as microservice implementations and the relation between the number of replicas and
the resulting application task performance. We contribute a replica count determination
solution with a mathematical approach. Furthermore, we offer a calibration software
tool which places scalability boundaries into declarative composition descriptions
of applications ready to be consumed by cloud platforms.},
doi = {10.1145/3147234.3148111},
file = {:Lopez2017 - Towards Quantifiable Boundaries for Elastic Horizontal Scaling of Microservices.pdf:PDF},
isbn = {9781450351959},
keywords = {scalability, replication, optimization, microservices},
location = {Austin, Texas, USA},
numpages = {6},
url = {https://doi.org/10.1145/3147234.3148111},
}
@InProceedings{FreitasApolinario2020,
author = {de Freitas Apolin\'{a}rio, Daniel Rodrigo and de Fran\c{c}a, Breno Bernard Nicolau},
booktitle = {Proceedings of the 14th Brazilian Symposium on Software Components, Architectures, and Reuse},
title = {Towards a Method for Monitoring the Coupling Evolution of Microservice-Based Architectures},
year = {2020},
address = {New York, NY, USA},
pages = {71–80},
publisher = {Association for Computing Machinery},
series = {SBCARS '20},
abstract = {The microservice architecture is claimed to satisfy ongoing software development demands,
such as resilience, flexibility, and velocity. However, developing applications based
on microservices also brings some drawbacks, such as the increased software operational
complexity. Recent studies have also pointed out the lack of methods to prevent problems
related to the maintainability of these solutions. Disregarding established design
principles during the software evolution may lead to the so-called architectural erosion,
which can end up in a condition of unfeasible maintenance. As microservices can be
considered a new architecture style, there are few initiatives to monitoring the evolution
of software microservice-based architectures. In this paper, we introduce the SYMBIOTE
method for monitoring the coupling evolution of microservice-based systems. More specifically,
this method collects coupling metrics during runtime (staging or production environments)
and monitors them throughout software evolution. The longitudinal analysis of the
collected measures allows detecting an upward trend in coupling metrics that could
be signs of architectural erosion. To develop the proposed method, we performed an
experimental analysis of the coupling metrics behavior using artificially-generated
data.},
doi = {10.1145/3425269.3425273},
file = {:FreitasApolinario2020 - Towards a Method for Monitoring the Coupling Evolution of Microservice Based Architectures.pdf:PDF},
isbn = {9781450387545},
keywords = {maintainability, coupling metrics, software evolution, microservices},
location = {Natal, Brazil},
numpages = {10},
url = {https://doi.org/10.1145/3425269.3425273},
}
@InProceedings{Cardarelli2019,
author = {Cardarelli, Mario and Iovino, Ludovico and Di Francesco, Paolo and Di Salle, Amleto and Malavolta, Ivano and Lago, Patricia},
booktitle = {Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing},
title = {An Extensible Data-Driven Approach for Evaluating the Quality of Microservice Architectures},
year = {2019},
address = {New York, NY, USA},
pages = {1225–1234},
publisher = {Association for Computing Machinery},
series = {SAC '19},
abstract = {Microservice architecture (MSA) is defined as an architectural style where the software
system is developed as a suite of small services, each running in its own process
and communicating with lightweight mechanisms. The benefits of MSA are many, ranging
from an increase in development productivity, to better business-IT alignment, agility,
scalability, and technology flexibility. The high degree of microservices distribution
and decoupling is, however, imposing a number of relevant challenges from an architectural
perspective. In this context, measuring, controlling, and keeping a satisfactory level
of quality of the system architecture is of paramount importance.In this paper we
propose an approach for the specification, aggregation, and evaluation of software
quality attributes for the architecture of microservice-based systems. The proposed
approach allows developers to (i) produce architecture models of the system, either
manually or automatically via recovering techniques, (ii) contribute to an ecosystem
of well-specified and automatically-computable software quality attributes for MSAs,
and (iii) continuously measure and evaluate the architecture of their systems by (re-)using
the software quality attributes defined in the ecosystem. The approach is implemented
by using Model-Driven Engineering techniques.The current implementation of the approach
has been validated by assessing the maintainability of a third-party, publicly available
benchmark system.},
doi = {10.1145/3297280.3297400},
file = {:Cardarelli2019 - An Extensible Data Driven Approach for Evaluating the Quality of Microservice Architectures.pdf:PDF},
isbn = {9781450359337},
keywords = {microservices, architecture recovery, software quality, model-driven},
location = {Limassol, Cyprus},
numpages = {10},
url = {https://doi.org/10.1145/3297280.3297400},
}
@InProceedings{Brilhante2017,
author = {Brilhante, Jonathan and Costa, Rostand and Maritan, Tiago},
booktitle = {Proceedings of the 23rd Brazillian Symposium on Multimedia and the Web},
title = {Asynchronous Queue Based Approach for Building Reactive Microservices},
year = {2017},
address = {New York, NY, USA},
pages = {373–380},
publisher = {Association for Computing Machinery},
series = {WebMedia '17},
abstract = {To achieve scalability and flexibility in larger applications a new approach arises,
named by Microservices (MS). However MS architectures are at their inception and are
even more a concept than a fully mature design pattern. One of the hardest topics
in this approach is how to properly migrate or develop a single microservice, in terms
of scope, efficiency and dependability. In this sense, this work proposes a new architectural
model based on high-level architecture pattern of reactive programming to the internal
structure of a new microservice. The new model of microservices are internally coordinated
by asynchronous queues, which allowed to preserve compatibility with most monolithic
components and provide an encapsulation process to enable its continuity. A comparative
study between the standard approach and the proposed architecture was carried out
to measure the eventual performance improvement of the new strategy.},
doi = {10.1145/3126858.3126873},
file = {:Brilhante2017 - Asynchronous Queue Based Approach for Building Reactive Microservices.pdf:PDF},
isbn = {9781450350969},
keywords = {asynchronous queues, reactive approach, micro services, refactoring},
location = {Gramado, RS, Brazil},
numpages = {8},
url = {https://doi.org/10.1145/3126858.3126873},
}
@InProceedings{Khazaei2017,
author = {Khazaei, Hamzeh and Ravichandiran, Rajsimman and Park, Byungchul and Bannazadeh, Hadi and Tizghadam, Ali and Leon-Garcia, Alberto},
booktitle = {Proceedings of the 27th Annual International Conference on Computer Science and Software Engineering},
title = {Elascale: Autoscaling and Monitoring as a Service},
year = {2017},
address = {USA},
pages = {234–240},
publisher = {IBM Corp.},
series = {CASCON '17},
abstract = {Auto-scalability has become an evident feature for cloud software systems including
but not limited to big data and IoT applications. Cloud application providers now
are in full control over their applications' microservices and macroservices; virtual
machines and containers can be provisioned or deprovisioned on demand at run-time.
Elascale strives to adjust both micro/macro resources with respect to workload and
changes in the internal state of the whole application stack. Elascale leverages Elasticsearch
stack for collection, analysis and storage of performance metrics. Elascale then uses
its default scaling engine to elastically adapt the managed application. Extendibility
is guaranteed through provider, schema, plug-in and policy elements in the Elascale
by which flexible scalability algorithms, including both reactive and proactive techniques,
can be designed and implemented for various technologies, infrastructures and software
stacks. In this paper, we present the architecture and initial implementation of Elascale;
an instance will be leveraged to add auto-scalability to a generic IoT application.
Due to zero dependency to the target software system, Elascale can be leveraged to
provide auto-scalability and monitoring as-a-service for any type of cloud software
system.},
file = {:Khazaei2017 - Elascale_ Autoscaling and Monitoring As a Service.pdf:PDF},
keywords = {macroservices, elasticsearch, monitoring, microservices, auto-scalability, cloud application, scalability as a service, containers, docker},
location = {Markham, Ontario, Canada},
numpages = {7},
}
@InProceedings{Toffetti2015,
author = {Toffetti, Giovanni and Brunner, Sandro and Bl\"{o}chlinger, Martin and Dudouet, Florian and Edmonds, Andrew},
booktitle = {Proceedings of the 1st International Workshop on Automated Incident Management in Cloud},
title = {An Architecture for Self-Managing Microservices},
year = {2015},
address = {New York, NY, USA},
pages = {19–24},
publisher = {Association for Computing Machinery},
series = {AIMC '15},
abstract = {Running applications in the cloud efficiently requires much more than deploying software
in virtual machines. Cloud applications have to be continuously managed: 1) to adjust
their resources to the incoming load and 2) to face transient failures replicating
and restarting components to provide resiliency on unreliable infrastructure. Continuous
management monitors application and infrastructural metrics to provide automated and
responsive reactions to failures (health management) and changing environmental conditions
(auto-scaling) minimizing human intervention.In the current practice, management functionalities
are provided as infrastructural or third party services. In both cases they are external
to the application deployment. We claim that this approach has intrinsic limits, namely
that separating management functionalities from the application prevents them from
naturally scaling with the application and requires additional management code and
human intervention. Moreover, using infrastructure provider services for management
functionalities results in vendor lock-in effectively preventing cloud applications
to adapt and run on the most effective cloud for the job.In this position paper we
propose a novel architecture that enables scalable and resilient self-management of
microservices applications on cloud.},
doi = {10.1145/2747470.2747474},
file = {:Toffetti2015 - An Architecture for Self Managing Microservices.pdf:PDF},
isbn = {9781450334761},
location = {Bordeaux, France},
numpages = {6},
url = {https://doi.org/10.1145/2747470.2747474},
}
@Article{Brondolin2020,
author = {Brondolin, Rolando and Santambrogio, Marco D.},
journal = {ACM Trans. Archit. Code Optim.},
title = {A Black-Box Monitoring Approach to Measure Microservices Runtime Performance},
year = {2020},
issn = {1544-3566},
month = nov,
number = {4},
volume = {17},
abstract = {Microservices changed cloud computing by moving the applications’ complexity from
one monolithic executable to thousands of network interactions between small components.
Given the increasing deployment sizes, the architectural exploitation challenges,
and the impact on data-centers’ power consumption, we need to efficiently track this
complexity. Within this article, we propose a black-box monitoring approach to track
microservices at scale, focusing on architectural metrics, power consumption, application
performance, and network performance. The proposed approach is transparent w.r.t.
the monitored applications, generates less overhead w.r.t. black-box approaches available
in the state-of-the-art, and provides fine-grain accurate metrics.},
address = {New York, NY, USA},
articleno = {34},
doi = {10.1145/3418899},
file = {:Brondolin2020 - A Black Box Monitoring Approach to Measure Microservices Runtime Performance.pdf:PDF},
issue_date = {December 2020},
keywords = {network performance monitoring, cloud computing, performance monitoring, docker, power attribution, kubernetes, Microservices},
numpages = {26},
publisher = {Association for Computing Machinery},
url = {https://doi.org/10.1145/3418899},
}
@InProceedings{Dudouet2015,
author = {Dudouet, Florian and Edmonds, Andrew and Erne, Michael},
booktitle = {Proceedings of the 1st International Workshop on Automated Incident Management in Cloud},
title = {Reliable Cloud-Applications: An Implementation through Service Orchestration},
year = {2015},
address = {New York, NY, USA},
pages = {1–6},
publisher = {Association for Computing Machinery},
series = {AIMC '15},
abstract = {As cloud-deployed applications became more and more mainstream, continuously more
complex services started to be deployed; indeed where initially monolithic applications
were simply ported to the cloud, applications are now more and more often composed
of micro-services. This improves the flexibility of an application but also makes
it more complex due to the sheer number of services comprising it.As deployment and
runtime management becomes more complex, orchestration software are becoming necessary
to completely manage the lifecycle of cloud applications. One crucial problem remaining
is how these applications can be made reliable in the cloud, a naturally unreliable
environment.In this paper we propose concepts and architectures which were implemented
in our orchestration software to guarantee reliability. Our initial implementation
also relies on Monasca, a well-known monitoring software for Open-Stack, to gather
proper metric and execute threshold-based actions. This allows us to show how service
reliability can be ensured using orchestration and how a proper incident-management
software feeding decisions to the orchestration engine ensures high-availability of
all components of managed applications.},
doi = {10.1145/2747470.2747471},
file = {:Dudouet2015 - Reliable Cloud Applications_ an Implementation through Service Orchestration.pdf:PDF},
isbn = {9781450334761},
keywords = {incident management, orchestration, cloud computing, reliability},
location = {Bordeaux, France},
numpages = {6},
url = {https://doi.org/10.1145/2747470.2747471},
}
@InProceedings{Ewing2014,
author = {Ewing, John M. and Menasc\'{e}, Daniel A.},
booktitle = {Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering},
title = {A Meta-Controller Method for Improving Run-Time Self-Architecting in SOA Systems},
year = {2014},
address = {New York, NY, USA},
pages = {173–184},
publisher = {Association for Computing Machinery},
series = {ICPE '14},
abstract = {This paper builds on SASSY, a system for automatically generating SOA software architectures
that optimize a given utility function of multiple QoS metrics. In SASSY, SOA software
systems are automatically re-architected when services fail or degrade. Optimizing
both architecture and service provider selection presents a pair of nested NP-hard
problems. Here we adapt hill-climbing, beam search, simulated annealing, and evolutionary
programming to both architecture optimization and service provider selection. Each
of these techniques has several parameters that influence their efficiency. We introduce
in this paper a meta-controller that automates the run-time selection of heuristic
search techniques and their parameters. We examine two different meta-controller implementations
that each use online learning. The first implementation identifies the best heuristic
search combination from various prepared combinations. The second implementation analyzes
the current self-architecting problem (e.g. changes in performance metrics, service
degradations/failures) and looks for similar, previously encountered re-architecting
problems to find an effective heuristic search combination for the current problem.
A large set of experiments demonstrates the effectiveness of the first meta-controller
implementation and indicates opportunities for improving the second meta-controller
implementation.},
doi = {10.1145/2568088.2568098},
file = {:Ewing2014 - A Meta Controller Method for Improving Run Time Self Architecting in SOA Systems.pdf:PDF},
isbn = {9781450327336},
keywords = {heuristic search, meta-controlled qos optimization, autonomic computing, soa, combinatorial search techniques, metaheuristics, automated run-time software architecting},
location = {Dublin, Ireland},
numpages = {12},
url = {https://doi.org/10.1145/2568088.2568098},
}
@Article{Tiwari2014,
author = {Tiwari, Umesh and Kumar, Santosh},
journal = {SIGSOFT Softw. Eng. Notes},
title = {In-out Interaction Complexity Metrics for Component-Based Software},
year = {2014},
issn = {0163-5948},
month = sep,
number = {5},
pages = {1–4},
volume = {39},
abstract = {In the current state of software engineering, component-based software development
is one of the most alluring paradigms for developing large and complex software products.
In this software engineering methodology pre-engineered, pre-tested, context-based,
adaptable, deployable software components are assembled according to a predefined
architecture. Rather than developing a system from scratch, component-based software
development emphasizes the integration of these components according to the user's
requirements and specifications. In component-based software, the components interact
to access and provide services and functionality to each other. Currently, the emphasis
of industry and researchers is on developing impressive and efficient metrics and
measurement tools to analyze the interaction complexity among these components. To
represent the request and the response of services among components, we have used
outgoing edges and incoming edges respectively. In this paper we have defined these
interactions as In-Interactions and Out-Interactions. The metrics proposed in this
paper are solely based on the interactions among the components. In this work some
simple methods and metrics for computing the complexity of composable components are
suggested. The metrics discussed in this paper include the computation of interaction
complexities as Total-Interactions of a component, Total- Interactions of component-based
software, Interaction-Ratio of a component, Interaction-Ratio of component-based software,
Average- Interaction among components and Interaction-Percentage of components.},
address = {New York, NY, USA},
doi = {10.1145/2659118.2659135},
file = {:Tiwari2014 - In Out Interaction Complexity Metrics for Component Based Software.pdf:PDF},
issue_date = {September 2014},
keywords = {component-based software development, adaptable, in-interactions, out-interactions, context-based, metrics, pre-engineered},
numpages = {4},
publisher = {Association for Computing Machinery},
url = {https://doi.org/10.1145/2659118.2659135},
}
@InProceedings{Mo2018,
author = {Mo, Ran and Snipes, Will and Cai, Yuanfang and Ramaswamy, Srini and Kazman, Rick and Naedele, Martin},
booktitle = {Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering},
title = {Experiences Applying Automated Architecture Analysis Tool Suites},
year = {2018},
address = {New York, NY, USA},
pages = {779–789},
publisher = {Association for Computing Machinery},
series = {ASE 2018},
abstract = {In this paper, we report our experiences of applying three complementary automated
software architecture analysis techniques, supported by a tool suite, called DV8,
to 8 industrial projects within a large company. DV8 includes two state-of-the-art
architecture-level maintainability metrics—Decoupling Level and Propagation Cost,
an architecture flaw detection tool, and an architecture root detection tool. We collected
development process data from the project teams as input to these tools, reported
the results back to the practitioners, and followed up with telephone conferences
and interviews. Our experiences revealed that the metrics scores, quantitative debt
analysis, and architecture flaw visualization can effectively bridge the gap between
management and development, help them decide if, when, and where to refactor. In particular,
the metrics scores, compared against industrial benchmarks, faithfully reflected the
practitioners’ intuitions about the maintainability of their projects, and enabled
them to better understand the maintainability relative to other projects internal
to their company, and to other industrial products. The automatically detected architecture
flaws and roots enabled the practitioners to precisely pinpoint, visualize, and quantify
the “hotspots" within the systems that are responsible for high maintenance costs.
Except for the two smallest projects for which both architecture metrics indicated
high maintainability, all other projects are planning or have already begun refactorings
to address the problems detected by our analyses. We are working on further automating
the tool chain, and transforming the analysis suite into deployable services accessible
by all projects within the company.},
doi = {10.1145/3238147.3240467},
file = {:Mo2018 - Experiences Applying Automated Architecture Analysis Tool Suites.pdf:PDF},
isbn = {9781450359375},
keywords = {Software Quality, Software Maintenance, Software Architecture},
location = {Montpellier, France},
numpages = {11},
url = {https://doi.org/10.1145/3238147.3240467},
}
@InProceedings{Abderrahim2016,
author = {Abderrahim, Wiem and Choukair, Zied},
booktitle = {Proceedings of the 31st Annual ACM Symposium on Applied Computing},
title = {PaaS Dependability Integration Architecture Based on Cloud Brokering},
year = {2016},
address = {New York, NY, USA},
pages = {484–487},
publisher = {Association for Computing Machinery},
series = {SAC '16},
abstract = {Cloud computing has revolutionized the way IT is provisioned nowadays since it exposes
computing capabilities as rental resources to consumers. The emergence of cloud computing
services hasn't though prevented outages in these environments even among high profile
ranked cloud providers. Tremendous efforts concentrated on fault management measures
have been applied for these environments. But they have been focused mainly on the
IaaS service model and have been operated on the cloud provider side alone. In this
context, this paper proposes an architecture for cloud brokering that implements dependability
properties in an end to end way involving different cloud actors and all over the
cloud service models SaaS, PaaS and IaaS.},
doi = {10.1145/2851613.2851874},
file = {:Abderrahim2016 - PaaS Dependability Integration Architecture Based on Cloud Brokering.pdf:PDF},
isbn = {9781450337397},
keywords = {fault tolerance, cloud provider, PaaS, IaaS, SaaS, fault management, cloud broker, fault forecasting, dependability},
location = {Pisa, Italy},
numpages = {4},
url = {https://doi.org/10.1145/2851613.2851874},
}
@Article{Hu2017,
author = {Hu, Han and Wen, Yonggang and Chua, Tat-Seng and Li, Xuelong},
journal = {ACM Trans. Intell. Syst. Technol.},
title = {Cost-Optimized Microblog Distribution over Geo-Distributed Data Centers: Insights from Cross-Media Analysis},
year = {2017},
issn = {2157-6904},
month = apr,
number = {3},
volume = {8},
abstract = {The unprecedent growth of microblog services poses significant challenges on network
traffic and service latency to the underlay infrastructure (i.e., geo-distributed
data centers). Furthermore, the dynamic evolution in microblog status generates a
huge workload on data consistence maintenance. In this article, motivated by insights
of cross-media analysis-based propagation patterns, we propose a novel cache strategy
for microblog service systems to reduce the inter-data center traffic and consistence
maintenance cost, while achieving low service latency. Specifically, we first present
a microblog classification method, which utilizes the external knowledge from correlated
domains, to categorize microblogs. Then we conduct a large-scale measurement on a
representative online social network system to study the category-based propagation
diversity on region and time scales. These insights illustrate social common habits
on creating and consuming microblogs and further motivate our architecture design.
Finally, we formulate the content cache problem as a constrained optimization problem.
By jointly using the Lyapunov optimization framework and simplex gradient method,
we find the optimal online control strategy. Extensive trace-driven experiments further
demonstrate that our algorithm reduces the system cost by 24.5% against traditional
approaches with the same service latency.},
address = {New York, NY, USA},
articleno = {40},
doi = {10.1145/3014431},
file = {:Hu2017 - Cost Optimized Microblog Distribution Over Geo Distributed Data Centers_ Insights from Cross Media Analysis.pdf:PDF},
issue_date = {April 2017},
keywords = {cross-media analysis, performance optimization, Social media analytics, data center},
numpages = {18},
publisher = {Association for Computing Machinery},
url = {https://doi.org/10.1145/3014431},
}
@InProceedings{Zimmermann2015,
author = {Zimmermann, Olaf},
booktitle = {Proceedings of the Second International Workshop on Software Architecture and Metrics},
title = {Metrics for Architectural Synthesis and Evaluation: Requirements and Compilation by Viewpoint: An Industrial Experience Report},
year = {2015},
pages = {8–14},
publisher = {IEEE Press},
series = {SAM '15},
abstract = {During architectural analysis and synthesis, architectural metrics are established
tacitly or explicitly. In architectural evaluation, these metrics are then consulted
to assess whether architectures are fit for purpose and in line with recommended practices
and published architectural knowledge. This experience report presents a personal
retrospective of the author's use of architectural metrics during 20 years in IT architect
roles in professional services as well as research and development. This reflection
drives the identification of use cases, critical success factors and elements of risk
for architectural metrics management. An initial catalog of architectural metrics
is compiled next, which is organized by viewpoints and domains. The report concludes
with a discussion of practical impact of architectural metrics and potential research
topics in this area.},
file = {:Zimmermann2015 - Metrics for Architectural Synthesis and Evaluation_ Requirements and Compilation by Viewpoint_ an Industrial Experience Report.pdf:PDF},
keywords = {patterns, viewpoints, architectural metrics, architectural metrics management, enterprise information systems, architectural reviews, integration},
location = {Florence, Italy},
numpages = {7},
}
@InProceedings{Marquez2018,
author = {Marquez, Cristina and Gramaglia, Marco and Fiore, Marco and Banchs, Albert and Costa-Perez, Xavier},
booktitle = {Proceedings of the 24th Annual International Conference on Mobile Computing and Networking},
title = {How Should I Slice My Network? A Multi-Service Empirical Evaluation of Resource Sharing Efficiency},
year = {2018},
address = {New York, NY, USA},
pages = {191–206},
publisher = {Association for Computing Machinery},
series = {MobiCom '18},
abstract = {By providing especially tailored instances of a virtual network,network slicing allows
for a strong specialization of the offered services on the same shared infrastructure.
Network slicing has profound implications on resource management, as it entails an
inherent trade-off between: (i) the need for fully dedicated resources to support
service customization, and (ii) the dynamic resource sharing among services to increase
resource efficiency and cost-effectiveness of the system. In this paper, we provide
a first investigation of this trade-off via an empirical study of resource management
efficiency in network slicing. Building on substantial measurement data collected
in an operational mobile network (i) we quantify the efficiency gap introduced by
non-reconfigurable allocation strategies of different kinds of resources, from radio
access to the core of the network, and (ii) we quantify the advantages of their dynamic
orchestration at different timescales. Our results provide insights on the achievable
efficiency of network slicing architectures, their dimensioning, and their interplay
with resource management algorithms.},
doi = {10.1145/3241539.3241567},
file = {:Marquez2018 - How Should I Slice My Network_ a Multi Service Empirical Evaluation of Resource Sharing Efficiency.pdf:PDF},
isbn = {9781450359030},
keywords = {resource management, network efficiency, network slicing},
location = {New Delhi, India},
numpages = {16},
url = {https://doi.org/10.1145/3241539.3241567},
}
@InProceedings{Antonescu2014,
author = {Antonescu, Alexandru-Florian and Braun, Torsten},
booktitle = {Proceedings of the 2014 ACM SIGCOMM Workshop on Distributed Cloud Computing},
title = {Modeling and Simulation of Concurrent Workload Processing in Cloud-Distributed Enterprise Information Systems},
year = {2014},
address = {New York, NY, USA},
pages = {11–16},
publisher = {Association for Computing Machinery},
series = {DCC '14},
abstract = {Cloud Computing enables provisioning and distribution of highly scalable services
in a reliable, on-demand and sustainable manner. Distributed Enterprise Information
Systems (dEIS) are a class of applications with important economic value and with
strong requirements in terms of performance and reliability. In order to validate
dEIS architectures, stability, scaling and SLA compliance, large testing deployments
are necessary, adding complexity to the design and testing of such systems. To fill
this gap, we present and validate a methodology for modeling and simulating such complex
distributed systems using the CloudSim cloud computing simulator, based on measurement
data from an actual distributed system. We present an approach for creating a performance-based
model of a distributed cloud application using recorded service performance traces.
We then show how to integrate the created model into CloudSim. We validate the CloudSim
simulation model by comparing performance traces gathered during distributed concurrent
experiments with simulation results using different VM configurations. We demonstrate
the usefulness of using a cloud simulator for modeling properties of real cloud-distributed
applications.},
doi = {10.1145/2627566.2627575},
file = {:Antonescu2014 - Modeling and Simulation of Concurrent Workload Processing in Cloud Distributed Enterprise Information Systems.pdf:PDF},
isbn = {9781450329927},
keywords = {cloud computing, performance profiling, distributed applications, modelling and simulation},
location = {Chicago, Illinois, USA},
numpages = {6},
url = {https://doi.org/10.1145/2627566.2627575},
}
@InProceedings{Walter2017,
author = {Walter, J\"{u}rgen and Stier, Christian and Koziolek, Heiko and Kounev, Samuel},
booktitle = {Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion},
title = {An Expandable Extraction Framework for Architectural Performance Models},
year = {2017},
address = {New York, NY, USA},
pages = {165–170},
publisher = {Association for Computing Machinery},
series = {ICPE '17 Companion},
abstract = {Providing users with Quality of Service (QoS) guarantees and the prevention of performance
problems are challenging tasks for software systems. Architectural performance models
can be applied to explore performance properties of a software system at design time
and run time. At design time, architectural performance models support reasoning on
effects of design decisions. At run time, they enable automatic reconfigurations by
reasoning on the effects of changing user behavior. In this paper, we present a framework
for the extraction of architectural performance models based on monitoring log files
generalizing over the targeted architectural modeling language. Using the presented
framework, the creation of a performance model extraction tool for a specific modeling
formalism requires only the implementation of a key set of object creation routines
specific to the formalism. Our framework integrates them with extraction techniques
that apply to many architectural performance models, e.g., resource demand estimation
techniques. This lowers the effort to implement performance model extraction tools
tremendously through a high level of reuse. We evaluate our framework presenting builders
for the Descartes Modeling Language (DML) and the Palladio Component Model(PCM). For
the extracted models we compare simulation results with measurements receiving accurate
results.},
doi = {10.1145/3053600.3053634},
file = {:Walter2017 - An Expandable Extraction Framework for Architectural Performance Models.pdf:PDF},
isbn = {9781450348997},
keywords = {descartes modeling language, palladio component model, automated performance model extraction, builder pattern},
location = {L'Aquila, Italy},
numpages = {6},
url = {https://doi.org/10.1145/3053600.3053634},
}
@InProceedings{Becker2015,
author = {Becker, Matthias and Lehrig, Sebastian and Becker, Steffen},
booktitle = {Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering},
title = {Systematically Deriving Quality Metrics for Cloud Computing Systems},
year = {2015},
address = {New York, NY, USA},
pages = {169–174},
publisher = {Association for Computing Machinery},
series = {ICPE '15},
abstract = {In cloud computing, software architects develop systems for virtually unlimited resources
that cloud providers account on a pay-per-use basis. Elasticity management systems
provision these resources autonomously to deal with changing workload. Such changing
workloads call for new objective metrics allowing architects to quantify quality properties
like scalability, elasticity, and efficiency, e.g., for requirements/SLO engineering
and software design analysis. In literature, initial metrics for these properties
have been proposed. However, current metrics lack a systematic derivation and assume
knowledge of implementation details like resource handling. Therefore, these metrics
are inapplicable where such knowledge is unavailable.To cope with these lacks, this
short paper derives metrics for scalability, elasticity, and efficiency properties
of cloud computing systems using the goal question metric (GQM) method. Our derivation
uses a running example that outlines characteristics of cloud computing systems. Eventually,
this example allows us to set up a systematic GQM plan and to derive an initial set
of six new metrics. We particularly show that our GQM plan allows to classify existing
metrics.},
doi = {10.1145/2668930.2688043},
file = {:Becker2015 - Systematically Deriving Quality Metrics for Cloud Computing Systems.pdf:PDF},
isbn = {9781450332484},
keywords = {metric, elasticity, cloud computing, gqm, efficiency, slo, analysis, scalability},
location = {Austin, Texas, USA},
numpages = {6},
url = {https://doi.org/10.1145/2668930.2688043},
}
@InProceedings{Lehrig2015,
author = {Lehrig, Sebastian and Eikerling, Hendrik and Becker, Steffen},
booktitle = {Proceedings of the 11th International ACM SIGSOFT Conference on Quality of Software Architectures},
title = {Scalability, Elasticity, and Efficiency in Cloud Computing: A Systematic Literature Review of Definitions and Metrics},
year = {2015},
address = {New York, NY, USA},
pages = {83–92},
publisher = {Association for Computing Machinery},
series = {QoSA '15},
abstract = {Context: In cloud computing, there is a multitude of definitions and metrics for scalability,
elasticity, and efficiency. However, stakeholders have little guidance for choosing
fitting definitions and metrics for these quality properties, thus leading to potential
misunderstandings. For example, cloud consumers and providers cannot negotiate reliable
and quantitative service level objectives directly understood by each stakeholder.
Objectives: Therefore, we examine existing definitions and metrics for these quality
properties from the viewpoint of cloud consumers, cloud providers, and software architects
with regard to commonly used concepts. Methods: We execute a systematic literature
review (SLR), reproducibly collecting common concepts in definitions and metrics for
scalability, elasticity, and efficiency. As quality selection criteria, we assess
whether existing literature differentiates the three properties, exemplifies metrics,
and considers typical cloud characteristics and cloud roles. Results: Our SLR yields
418 initial results from which we select 20 for in-depth evaluation based on our quality
selection criteria. In our evaluation, we recommend concepts, definitions, and metrics
for each property. Conclusions: Software architects can use our recommendations to
analyze the quality of cloud computing applications. Cloud providers and cloud consumers
can specify service level objectives based on our metric suggestions.},
doi = {10.1145/2737182.2737185},
file = {:Lehrig2015 - Scalability, Elasticity, and Efficiency in Cloud Computing_ a Systematic Literature Review of Definitions and Metrics.pdf:PDF},
isbn = {9781450334709},
keywords = {systematic literature review, cloud computing, cloud, scalability, metrics, elasticity, efficiency, definitions},
location = {Montr\'{e}al, QC, Canada},
numpages = {10},
url = {https://doi.org/10.1145/2737182.2737185},
}
@InProceedings{Silva2020,
author = {Silva, Jorge Luiz Machado da and de Fran\c{c}a, Breno B. Nicolau and Rubira, Cec\'{\i}lia Mary Fischer},
booktitle = {Proceedings of the 14th Brazilian Symposium on Software Components, Architectures, and Reuse},
title = {Generating Trustworthiness Adaptation Plans Based on Quality Models for Cloud Platforms},
year = {2020},
address = {New York, NY, USA},
pages = {141–150},
publisher = {Association for Computing Machinery},
series = {SBCARS '20},
abstract = {Cloud computing platforms can offer many benefits related to the provision of service
processing and storage for hosting client applications. Trustworthiness can be defined
as the trust of a customer in a cloud service and its provider; however, the assurance
of this property is not trivial. First, trustworthiness in general is not composed
by a single quality attribute, but by the combination of multiple attributes, such
as data privacy, performance, reliability, etc. Second, during runtime clients can
experience a change of the trustworthiness level required by their application due
to the degradation of the cloud service. This article presents a solution that monitors
during runtime the set of quality attributes of a specific application and generates
adaptation plans in order to certify that an adequate resource amount be provided
by the cloud in order to keep its trustworthiness level. Our solution is based on
quality models to compute the metric associated to each non-functional requirement
and their combination them into different types of trustworthiness levels. The main
contribution of the solution is to provide an approach which deals with multiple requirements
at the same time (or simultaneously) during runtime in order to adapt the cloud resources
to keep the trustworthiness level required by the application. The solution was evaluated
by an experiment considering a scenario where the application trustworthiness level
was composed by three quality attributes: data privacy, performance and reliability.
Initial results have shown that the approach is feasible in terms of the execution
of the adaptation plans during runtime to certify the trustworthiness level required
by the application.},
doi = {10.1145/3425269.3425272},
file = {:Silva2020 - Generating Trustworthiness Adaptation Plans Based on Quality Models for Cloud Platforms.pdf:PDF},
isbn = {9781450387545},
keywords = {Cloud Computing, Trustworthiness, Adaptation Planning, Self-adaptive Systems},
location = {Natal, Brazil},
numpages = {10},
url = {https://doi.org/10.1145/3425269.3425272},
}
@InProceedings{Lehrig2015a,
author = {Lehrig, Sebastian and Becker, Steffen},
booktitle = {Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering},
title = {The CloudScale Method for Software Scalability, Elasticity, and Efficiency Engineering: A Tutorial},
year = {2015},
address = {New York, NY, USA},
pages = {329–331},
publisher = {Association for Computing Machinery},
series = {ICPE '15},
abstract = {In cloud computing, software engineers design systems for virtually unlimited resources
that cloud providers account on a pay-per-use basis. Elasticity management systems
provision these resource autonomously to deal with changing workloads. Such workloads
call for new objective metrics allowing engineers to quantify quality properties like
scalability, elasticity, and efficiency. However, software engineers currently lack
engineering methods that aid them in engineering their software regarding such properties.