Workloads in the Clouds

  • Maria Carla CalzarossaEmail author
  • Marco L. Della Vedova
  • Luisa Massari
  • Dana Petcu
  • Momin I. M. Tabash
  • Daniele Tessera
Part of the Springer Series in Reliability Engineering book series (RELIABILITY)


Despite the fast evolution of cloud computing, up to now the characterization of cloud workloads has received little attention. Nevertheless, a deep understanding of their properties and behavior is essential for an effective deployment of cloud technologies and for achieving the desired service levels. While the general principles applied to parallel and distributed systems are still valid, several peculiarities require the attention of both researchers and practitioners. The aim of this chapter is to highlight the most relevant characteristics of cloud workloads as well as identify and discuss the main issues related to their deployment and the gaps that need to be filled.


Cloud computing Workload characterization Monitoring Resource management Scheduling Reliability Failure 


  1. 1.
    Alhamazani K, Ranjan R, Mitra K, Rabhi F, Jayaraman P, Khan SU, Guabtni A, Bhatnagar V (2015) An overview of the commercial cloud monitoring tools: research dimensions, design issues, and state-of-the-art. Computing 97(4):357–377Google Scholar
  2. 2.
    Alonso J, Trivedi K (2015) Software rejuvenation and its application in distributed systems. In: Bruneo D, Distefano S (eds) Quantitative assessments of distributed systems: methodologies and techniques, Wiley, pp 301–325Google Scholar
  3. 3.
    Araujo J, Matos R, Alves V, Maciel P, de Souza FV, Matias R, Trivedi KS (2014) Software aging in the Eucalyptus cloud computing infrastructure: characterization and rejuvenation. ACM J Emerg Technol Comput Syst 10(1):11:1–11:22Google Scholar
  4. 4.
    Ardagna C, Damiani E, Frati F, Rebeccani D, Ughetti M (2012) Scalability patterns for Platform-as-a-Service. In: Proceedings of the 5th international conference on cloud computing—CLOUD’12, IEEE, pp 718–725Google Scholar
  5. 5.
    Armbrust M, Fox A, Griffith R, Joseph AD, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M (2010) A view of cloud computing. Commun ACM 53(4):50–58Google Scholar
  6. 6.
    Atikoglu B, Xu Y, Frachtenberg E, Jiang S, Paleczny M (2012) Workload analysis of a large-scale key-value store. In: Proceedings of the 12th ACM SIGMETRICS/PERFORMANCE joint international conference on measurement and modeling of computer systems, ACM, pp 53–64Google Scholar
  7. 7.
    Azmandian F, Moffie M, Dy JG, Aslam JA, Kaeli DR (2011) Workload characterization at the virtualization layer. In: Proceedings of the 19th international symposium on modeling, analysis simulation of computer and telecommunication systems—MASCOTS’11, IEEE, pp 63–72Google Scholar
  8. 8.
    Bala A, Chana I (2015) Intelligent failure prediction models for scientific workflows. Expert Syst Appl 42(3):980–989CrossRefGoogle Scholar
  9. 9.
    Beaumont O, Eyraud-Dubois L, Lorenzo del Castillo JA (2014) Analyzing real cluster data for formulating allocation algorithms in cloud platforms. In: Proceedings of the 26th international symposium on computer architecture and high performance computing—SBAC-PAD, IEEE, pp 302–309Google Scholar
  10. 10.
    Bi J, Zhu Z, Tian R, Wang Q (2010) Dynamic provisioning modeling for virtualized multi-tier applications in cloud data center. In: Proceedings of the 3rd international conference on cloud computing—CLOUD’10, IEEE, pp 370–377Google Scholar
  11. 11.
    Birke R, Chen LY, Smirni E (2014) Multi-resource characterization and their (in)dependencies in production datacenters. In: Proceedings of the network operations and management symposium—NOMS’14, IEEEGoogle Scholar
  12. 12.
    Bruneo D, Distefano S, Longo F, Puliafito A, Scarpa M (2013) Workload-based software rejuvenation in cloud systems. IEEE Trans Comput 62(6):1072–1085MathSciNetCrossRefGoogle Scholar
  13. 13.
    Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I (2009) Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener Comput Syst 25(6):599–616Google Scholar
  14. 14.
    Byun EK, Kee YS, Kim JS, Maeng S (2011) Cost optimized provisioning of elastic resources for application workflows. Future Gener Comput Syst 27(8):1011–1026CrossRefGoogle Scholar
  15. 15.
    Calero JMA, Aguado JG (2015) Comparative analysis of architectures for monitoring cloud computing infrastructures. Future Gener Comput Syst 47:16–30Google Scholar
  16. 16.
    Chen S, Ghorbani M, Wang Y, Bogdan P, Pedram M (2014) Trace-based analysis and prediction of cloud computing user behavior using the fractal modeling technique. In: Proceedings of the 7th international congress on big data, IEEE, pp 733–739Google Scholar
  17. 17.
    Chen W, Ferreira da Silva R, Deelman E, Fahringer T (2015) Dynamic and fault–tolerant clustering for scientific workflows. IEEE Trans Cloud Comput 4(1):46–62Google Scholar
  18. 18.
    Chen X, Lu CD, Pattabiraman K (2014) Failure analysis of jobs in compute clouds: a Google cluster case study. In: Proceedings of the 25th international symposium on software reliability engineering—ISSRE’14, IEEE, pp 167–177Google Scholar
  19. 19.
    Chen X, Lu CD, Pattabiraman K (2014) Failure prediction of jobs in compute clouds: a Google cluster case study. In: Proceedings of the IEEE international symposium on software reliability engineering workshops–ISSREW’14, pp 341–346Google Scholar
  20. 20.
    Chen Y, Ganapathi AS, Griffith R, Katz RH (2010) Analysis and lessons from a publicly available Google cluster trace. Technical report UCB/EECS-2010-95, EECS Department, University of California, BerkeleyGoogle Scholar
  21. 21.
    Chen Y, Alspaugh S, Katz R (2012) Interactive analytical processing in big data systems: a cross-industry study of MapReduce workloads. Proc VLDB Endow 5(12):1802–1813CrossRefGoogle Scholar
  22. 22.
    Cheng D, Jiang C, Zhou X (2014) Heterogeneity-aware workload placement and migration in distributed sustainable datacenters. In: Proceedings of the 28th international symposium on parallel and distributed processing–IPDP’14, IEEE, pp 307–316Google Scholar
  23. 23.
    Cotroneo D, Natella R, Pietrantuono R, Russo S (2014) A survey of software aging and rejuvenation studies. ACM J Emerg Technol Comput Syst 10(1):8:1–8:34Google Scholar
  24. 24.
    de Oliveira GSS, Ribeiro E, Ferreira DA, Araujo A, Holanda MT, Walter MPF (2013) ACOsched: a scheduling algorithm in a federated cloud infrastructure for bioinformatics applications. In: Proceedings of the international conference on bioinformatics and biomedicine–BIBM’13, IEEE, pp 8–14Google Scholar
  25. 25.
    Dean J, Ghemawat S (2008) MapReduce: simplified data processing on large clusters. Commun ACM 51(1):107–113CrossRefGoogle Scholar
  26. 26.
    Di S, Kondo D, Cappello F (2014) Characterizing and modeling cloud applications/jobs on a Google data center. J Supercomput 69(1):139–160CrossRefGoogle Scholar
  27. 27.
    Di Martino C, Kalbarczyk Z, Iyer RK, Goel G, Sarkar S, Ganesan R (2014) Characterization of operational failures from a business data processing SaaS platform. In: Proceedings of the 36th international conference on software engineering companion—ICSE’14, ACM, pp 195–204Google Scholar
  28. 28.
    Do AV, Chen J, Wang C, Lee YC, Zomaya AY, Zhou BB (2011) Profiling applications for virtual machine placement in clouds. In: Proceedings of the 4th international conference on cloud computing–CLOUD’11, IEEE, pp 660–667Google Scholar
  29. 29.
    Du J, Sehrawat N, Zwaenepoel W (2011) Performance profiling of virtual machines. ACM SIGPLAN Not 46(7):3–14CrossRefGoogle Scholar
  30. 30.
    Duan R, Prodan R, Li X (2014) Multi-objective game theoretic scheduling of bag-of-tasks workflows on hybrid clouds. IEEE Trans Cloud Comput 2(1):29–42CrossRefGoogle Scholar
  31. 31.
    Dutta S, Gera S, Verma A, Viswanathan B (2012) Smartscale: automatic application scaling in enterprise clouds. In: Proceedings of the 5th international conference on cloud computing—CLOUD’12, IEEE, pp 221–228Google Scholar
  32. 32.
    Fatema K, Emeakaroha VC, Healy PD, Morrison JP, Lynn T (2014) A survey of Cloud monitoring tools: taxonomy, capabilities and objectives. J Parallel Distrib Comput 74(10):2918–2933Google Scholar
  33. 33.
    Fiondella L, Gokhale SS, Mendiratta VB (2013) Cloud incident data: an empirical analysis. In: Proceedings of the international conference on cloud engineering—IC2E’13, IEEE, pp 241–249Google Scholar
  34. 34.
    Ganapathi A, Yanpei C, Fox A, Katz R, Patterson D (2010) Statistics-driven workload modeling for the Cloud. In: Proceedings of the 26th international conference on data engineering workshops—ICDEW’10, IEEE, pp 87–92Google Scholar
  35. 35.
    Garraghan P, Townend P, Xu J (2014) An empirical failure-analysis of a large-scale cloud computing environment. In: Proceedings of the 15th international symposium on high-assurance systems engineering—HASE’14, IEEE, pp 113–120Google Scholar
  36. 36.
    Ghorbani M, Wang Y, Xue Y, Pedram M, Bogdan P (2014) Prediction and control of bursty cloud workloads: a fractal framework. In: Proceedings of the international conference on hardware/software codesign and system synthesis–CODES’14, ACM, pp 12:1–12:9Google Scholar
  37. 37.
    Grozev N, Buyya R (2015) Performance modelling and simulation of three-tier applications in cloud and multi-cloud environments. Comput J 58(1):1–22CrossRefGoogle Scholar
  38. 38.
    Han R, Ghanem MM, Guo L, Guo Y, Osmond M (2014) Enabling cost-aware and adaptive elasticity of multi-tier cloud applications. Future Gener Comput Syst 32:82–98Google Scholar
  39. 39.
    Huang J, Nicol DM (2013) Trust mechanisms for cloud computing. J Cloud Comput 2(1):1–14Google Scholar
  40. 40.
    Huang D, He B, Miao C (2014) A survey of management in multi-tier web applications. IEEE Commun Surv Tutor 16(3):1574–1590CrossRefGoogle Scholar
  41. 41.
    Iosup A, Ostermann S, Yigitbasi MHJ, Prodan R, Fahringer T, Epema D (2011) Performance analysis of cloud computing services for many-tasks scientific computing. IEEE Trans Parallel Distrib Syst 22(6):931–945Google Scholar
  42. 42.
    Jayasinghe D, Malkowski S, Li J, Wang Q, Wang Z, Pu C (2014) Variations in performance and scalability: an experimental study in IaaS clouds using multi-tier workloads. IEEE Trans Serv Comput 7(2):293–306CrossRefGoogle Scholar
  43. 43.
    Jennings B, Stadler R (2015) Resource management in clouds: survey and research challenges. J Netw Syst Manage 23(3):567–619CrossRefGoogle Scholar
  44. 44.
    Jiang HJ, Huang KC, Chang HY, Gu DS, Shih PJ (2011) Scheduling concurrent workflows in HPC cloud through exploiting schedule gaps. In: Xiang Y, Cuzzocrea A, Hobbs M, Zhou W (eds) Algorithms and architectures for parallel processing, lecture notes in computer science, vol 7016, Springer, pp 282–293Google Scholar
  45. 45.
    Jiang T, Zhang Q, Hou R, Chai L, Mckee SA, Jia Z, Sun N (2014) Understanding the behavior of in-memory computing workloads. In: Proceedings of the international symposium on workload characterization–IISWC’14, IEEE, pp 22–30Google Scholar
  46. 46.
    Johnson SK, Huizenga G, Pulavarty B (2005) Performance tuning for linux servers. IBM RedBooksGoogle Scholar
  47. 47.
    Juan DC, Li L, Peng HK, Marculescu D, Faloutsos C (2014) Beyond Poisson: modeling inter-arrival time of requests in a datacenter. In: Tseng V, Ho T, Zhou ZH, Chen AP, Kao HY (eds) Advances in knowledge discovery and data mining, lecture notes in computer science, vol 8444, Springer, pp 198–209Google Scholar
  48. 48.
    Juve G, Chervenak A, Deelman E, Bharathi S, Mehta G, Vahi K (2013) Characterizing and profiling scientific workflows. Future Gener Comput Syst 29(3):682–692CrossRefGoogle Scholar
  49. 49.
    Kaviani N, Wohlstadter E, Lea R (2011) Profiling-as-a-Service: adaptive scalable resource profiling for the cloud in the cloud. In: Kappel G, Maamar Z, Motahari-Nezhad H (eds) Service-oriented computing, lecture notes in computer science, vol 7084, Springer, pp 157–171Google Scholar
  50. 50.
    Kessaci Y, Melab N, Talbi EG (2012) A Pareto-based metaheuristic for scheduling HPC applications on a geographically distributed cloud federation. Cluster Comput 16(3):451–468CrossRefGoogle Scholar
  51. 51.
    Khan A, Yan X, Tao S, Anerousis N (2012) Workload characterization and prediction in the cloud: a multiple time series approach. In: Proceedings of the 13th network operations and management symposium–NOMS’12, IEEE, pp 1287–1294Google Scholar
  52. 52.
    Khazaei H, Misic J, Misic VB (2012) Performance analysis of cloud computing centers using M/G/m/m+r queuing systems. IEEE Trans Parallel Distrib Syst 23(5):936–943Google Scholar
  53. 53.
    Li S, Ren S, Yu Y, Wang X, Wang L, Quan G (2012) Profit and penalty aware scheduling for real-time online services. IEEE Trans Ind Inform 8(1):78–89CrossRefGoogle Scholar
  54. 54.
    Lim HC, Babu S, Chase JS, Parekh SS (2009) Automated control in cloud computing: challenges and opportunities. In: Proceedings of the 1st workshop on automated control for datacenters and clouds–ACDC’09, ACM, pp 13–18Google Scholar
  55. 55.
    Liu Z, Cho S (2012) Characterizing machines and workloads on a Google cluster. In: Proceedings of the 41st international conference on parallel processing workshops–ICPPW’12, IEEE, pp 397–403Google Scholar
  56. 56.
    Liu S, Quan G, Ren S (2010) On-line scheduling of real-time services for cloud computing. In: Proceedings of the 6th world congress on services, IEEE, pp 459–464Google Scholar
  57. 57.
    Mao M, Humphrey M (2013) Scaling and scheduling to maximize application performance within budget constraints in cloud workflows. In: Proceedings of the 27th international symposium on parallel and distributed processing–IPDPS’13, IEEE, pp 67–78Google Scholar
  58. 58.
    Marshall P, Keahey K, Freeman T (2010) Elastic site: using clouds to elastically extend site resources. In: Proceedings of the 10th IEEE/ACM international symposium on cluster, cloud and grid computing–CCGrid’10, IEEE, pp 43–52Google Scholar
  59. 59.
    Mauch V, Kunze M, Hillenbrand M (2013) High performance cloud computing. Future Gener Comput Syst 29(6):1408–1416CrossRefGoogle Scholar
  60. 60.
    Meng S, Liu L (2013) Enhanced Monitoring-as-a-Service for effective cloud management. IEEE Trans Comput 62(9):1705–1720Google Scholar
  61. 61.
    Mishra AK, Hellerstein JL, Cirne W, Das CR (2010) Towards characterizing cloud backend workloads: insights from Google compute clusters. ACM SIGMETRICS Perform Eval Rev 37(4):34–41Google Scholar
  62. 62.
    Moreno-Vozmediano RS, Montero RS, Llorente IM (2011) Multicloud deployment of computing clusters for loosely coupled MTC applications. IEEE Trans Parallel Distrib Syst 22(6):924–930Google Scholar
  63. 63.
    Mueller J, Palma D, Landi G, Soares J, Parreira B, Metsch T, Gray P, Georgiev A, Al-Hazmi Y, Magedanz T, Simoes P (2014) Monitoring as a service for cloud environments. In: Proceedings of the 5th international conference on communications and electronics–ICCE’14, IEEE, pp 174–179Google Scholar
  64. 64.
    Pacheco-Sanchez S, Casale G, Scotney B, McClean S, Parr G, Dawson S (2011) Markovian workload characterization for QoS prediction in the cloud. In: Proceedings of the 4th international conference on cloud computing–CLOUD’11, IEEE, pp 147–154Google Scholar
  65. 65.
    Pandey S, Wu L, Guru SM, Buyya R (2010) A particle swarm optimization-based heuristic for scheduling workflow applications in cloud computing environments. In: Proceedings of the 24th international conference on advanced information networking and applications–AINA’10, IEEE, pp 400–407Google Scholar
  66. 66.
    Patel J, Jindal V, Yen IL, Bastani F, Xu J, Garraghan P (2015) Workload estimation for improving resource management decisions in the cloud. In: Proceedings of the 12th international symposium on autonomous decentralized systems–ISADS’15, IEEE, pp 25–32Google Scholar
  67. 67.
    Raicu I (2009) Many-task computing: bridging the gap between high-throughput computing and high-performance computing. Ph.D. thesis, University of ChicagoGoogle Scholar
  68. 68.
    Reiss C, Wilkes J, Hellerstein JL (2011) Google cluster-usage traces: format+schema. Google IncGoogle Scholar
  69. 69.
    Reiss C, Tumanov A, Ganger GR, Katz RH, Kozuch MA (2012) Heterogeneity and dynamicity of clouds at scale: Google trace analysis. In: Proceeings of the 3rd symposium on cloud computing–SoCC’12, ACM, pp 7:1–7:13Google Scholar
  70. 70.
    Ren G, Tune E, Moseley T, Shi Y, Rus S, Hundt R (2010) Google-wide profiling: a continuous profiling infrastructure for data centers. IEEE Micro 30(4):65–79CrossRefGoogle Scholar
  71. 71.
    Ren Z, Xu X, Wan J, Shi W, Zhou M (2012) Workload characterization on a production Hadoop cluster: a case study on Taobao. In: Proceedings of the international symposium on workload characterization–IISWC’12, IEEE, pp 3–13Google Scholar
  72. 72.
    Sadooghi I, Palur S, Anthony A, Kapur I, Belagodu K, Purandare P, Ramamurty K, Wang K, Raicu I (2014) Achieving efficient distributed scheduling with message queues in the cloud for many-task computing and high-performance computing. In: Proceedings of the 14th IEEE/ACM international symposium on cluster, cloud and grid computing–CCGrid’14, IEEE, pp 404–413Google Scholar
  73. 73.
    Samak T, Gunter D, Goode M, Deelman E, Juve G, Silva F, Vahi K (2012) Failure analysis of distributed scientific workflows executing in the cloud. In: Proceedings of the 8th international conference on network and system management–CNSM’12, IEEE, pp 46–54Google Scholar
  74. 74.
    Schad J, Dittrich J, Quiané-Ruiz JA (2010) Runtime measurements in the cloud: observing, analyzing, and reducing variance. Proc VLDB Endow 3(1–2):460–471CrossRefGoogle Scholar
  75. 75.
    Sharma U, Shenoy P, Towsley DF (2012) Provisioning multi-tier cloud applications using statistical bounds on sojourn time. In: Proceedings of the 9th international conference on autonomic computing–ICAC’12, ACM, pp 43–52Google Scholar
  76. 76.
    Shen S, van Beek V, Iosup A (2015) Statistical characterization of business-critical workloads hosted in cloud datacenters. In: Proceedings of the 15th IEEE/ACM international symposium on cluster, cloud and grid computing–CCGrid’15, IEEEGoogle Scholar
  77. 77.
    Singh R, Sharma U, Cecchet E, Shenoy P (2010) Autonomic mix-aware provisioning for non-stationary data center workloads. In: Proceedings of the 7th international conference on autonomic computing–ICAC’10, ACM, pp 21–30Google Scholar
  78. 78.
    Solis Moreno I, Garraghan P, Townend P, Xu J (2014) Analysis, modeling and simulation of workload patterns in a large-scale utility cloud. IEEE Trans Cloud Comput 2(2):208–221Google Scholar
  79. 79.
    Somasundaram TS, Govindarajan K (2014) CLOUDRB: a framework for scheduling and managing high-performance computing (HPC) applications in science cloud. Future Gener Comput Syst 34:47–65Google Scholar
  80. 80.
    Spicuglia S, Bjöerkqvist M, Chen LY, Serazzi G, Binder W, Smirni E (2013) On load balancing: a mix-aware algorithm for heterogeneous systems. In: Proceedings of the 4th international conference on performance engineering–ICPE’13, ACM, pp 71–76Google Scholar
  81. 81.
    Tai J, Zhang J, Li J, Meleis W, Mi N (2011) ArA: adaptive resource allocation for cloud computing environments under bursty workloads. In: Proceedings of the 30th international conference on performance computing and communications–IPCCC’11, IEEE, pp 1–8Google Scholar
  82. 82.
    Tickoo O, Iyer R, Illikkal R, Newell D (2010) Modeling virtual machine performance: challenges and approaches. SIGMETRICS Perform Eval Rev 37(3):55–60CrossRefGoogle Scholar
  83. 83.
    Van den Bossche R, Vanmechelen K, Broeckhove J (2010) Cost-optimal scheduling in hybrid IaaS clouds for deadline constrained workloads. In: Proceedings of the 3rd international conference on cloud computing–CLOUD’10, IEEE, pp 228–235Google Scholar
  84. 84.
    Warneke D, Kao O (2011) Exploiting dynamic resource allocation for efficient parallel data processing in the cloud. IEEE Trans Parallel Distrib Syst 22(6):985–997CrossRefGoogle Scholar
  85. 85.
    Weingärtner R, Bräscher GB, Westphall CB (2015) Cloud resource management: a survey on forecasting and profiling models. J Netw Comput Appl 47:99–106Google Scholar
  86. 86.
    Wu F, Wu Q, Tan Y (2015) Workflow scheduling in cloud: a survey. J Supercomput 71(9):3373–3418MathSciNetCrossRefGoogle Scholar
  87. 87.
    Yang H, Luan Z, Li W, Qian D (2012) MapReduce workload modeling with statistical approach. J Grid Comput 10(2):279–310CrossRefGoogle Scholar
  88. 88.
    Yin J, Lu X, Chen H, Zhao X, Xiong NN (2014) System resource utilization analysis and prediction for cloud based applications under bursty workloads. Inform Sci 279:338–357CrossRefGoogle Scholar
  89. 89.
    Zhan ZH, Liu XF, Gong YJ, Zhang J, Chung HSH, Li Y (2015) Cloud computing resource scheduling and a survey of its evolutionary approaches. ACM Comput Surv 47(4):63:1–63:33Google Scholar
  90. 90.
    Zhang F, Cao J, Li K, Khan SU, Hwang K (2014) Multi-objective scheduling of tasks in cloud platforms. Future Gener Comput Syst 37:309–320Google Scholar
  91. 91.
    Zhang Q, Zhani MF, Boutaba R, Hellerstein JL (2014) Dynamic heterogeneity-aware resource provisioning in the cloud. IEEE Trans Cloud Comput 2(1):14–28Google Scholar
  92. 92.
    Zhao Y, Fei X, Raicu I, Lu S (2011) Opportunities and challenges in running scientific workflows on the cloud. In: Proceedings of the international conference on cyber-enabled distributed computing and knowledge discovery–CyberC’11, IEEE, pp 455–462Google Scholar
  93. 93.
    Zhu Q, Agrawal G (2010) Resource provisioning with budget constraints for adaptive applications in cloud environments. In: Proceedings of the 19th international symposium on high performance distributed computing–HPDC’10, ACM, pp 304–307Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Maria Carla Calzarossa
    • 1
    Email author
  • Marco L. Della Vedova
    • 2
  • Luisa Massari
    • 1
  • Dana Petcu
    • 3
  • Momin I. M. Tabash
    • 1
  • Daniele Tessera
    • 2
  1. 1.Dipartimento di Ingegneria Industriale e dell’InformazioneUniversità degli Studi di PaviaPaviaItaly
  2. 2.Dipartimento di Matematica e FisicaUniversità Cattolica del Sacro CuoreBresciaItaly
  3. 3.Departament InformaticaUniversitatea de Vest din TimişoaraTimişoaraRomania

Personalised recommendations