{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,7]],"date-time":"2025-06-07T22:22:15Z","timestamp":1749334935118},"publisher-location":"Cham","reference-count":48,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030316457"},{"type":"electronic","value":"9783030316464"}],"license":[{"start":{"date-parts":[[2019,12,12]],"date-time":"2019-12-12T00:00:00Z","timestamp":1576108800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020]]},"DOI":"10.1007\/978-3-030-31646-4_8","type":"book-chapter","created":{"date-parts":[[2019,12,11]],"date-time":"2019-12-11T15:04:52Z","timestamp":1576076692000},"page":"183-208","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["A Formal Approach to Microservice Architecture Deployment"],"prefix":"10.1007","author":[{"given":"Mario","family":"Bravetti","sequence":"first","affiliation":[]},{"given":"Saverio","family":"Giallorenzo","sequence":"additional","affiliation":[]},{"given":"Jacopo","family":"Mauro","sequence":"additional","affiliation":[]},{"given":"Iacopo","family":"Talevi","sequence":"additional","affiliation":[]},{"given":"Gianluigi","family":"Zavattaro","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,12,12]]},"reference":[{"key":"8_CR1","first-page":"229","volume":"9984","author":"E \u00c1brah\u00e1m","year":"2016","unstructured":"E. \u00c1brah\u00e1m, F. Corzilius, E.B. Johnsen, G. Kremer, J. Mauro, Zephyrus2: on the fly deployment optimization using SMT and CP technologies, in SETTA. LNCS, vol. 9984, pp. 229\u2013245 (2016)","journal-title":"SETTA. LNCS"},{"key":"8_CR2","unstructured":"Amazon: Amazon Cloudwatch. \nhttps:\/\/aws.amazon.com\/cloudwatch\/\n\n. Accessed January 2019"},{"key":"8_CR3","unstructured":"Amazon: AWS Auto Scaling. \nhttps:\/\/aws.amazon.com\/autoscaling\/\n\n. Accessed January 2019"},{"issue":"2\u20133","key":"8_CR4","doi-asserted-by":"publisher","first-page":"95","DOI":"10.1561\/2500000031","volume":"3","author":"D Ancona","year":"2016","unstructured":"D. Ancona, V. Bono, M. Bravetti, J. Campos, G. Castagna, P. Deni\u00e9lou, S.J. Gay, N. Gesbert, E. Giachino, R. Hu, E.B. Johnsen, F. Martins, V. Mascardi, F. Montesi, R. Neykova, N. Ng, L. Padovani, V.T. Vasconcelos, N. Yoshida, Behavioral types in programming languages. Found. Trends Program. Lang. 3(2\u20133), 95\u2013230 (2016)","journal-title":"Found. Trends Program. Lang."},{"key":"8_CR5","unstructured":"ANTLR (ANother Tool for Language Recognition). \nhttp:\/\/www.antlr.org\/\n\n. Accessed January 2019"},{"key":"8_CR6","unstructured":"Apache: Apache MESOS. \nhttp:\/\/mesos.apache.org\/\n\n. Accessed January 2019"},{"issue":"6","key":"8_CR7","doi-asserted-by":"publisher","first-page":"1057","DOI":"10.1017\/S0960129508007111","volume":"18","author":"JCM Baeten","year":"2008","unstructured":"J.C.M. Baeten, M. Bravetti, A ground-complete axiomatisation of finite-state processes in a generic process algebra. Math. Struct. Comput. Sci. 18(6), 1057\u20131089 (2008)","journal-title":"Math. Struct. Comput. Sci."},{"issue":"1","key":"8_CR8","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3150227","volume":"51","author":"Alexander Bergmayr","year":"2018","unstructured":"A. Bergmayr, U. Breitenb\u00fccher, N. Ferry, A. Rossini, A. Solberg, M. Wimmer, G. Kappel, F. Leymann, A systematic review of cloud modeling languages. Assoc. Comput. Mach. Comput. Surv. 51(1), 22:1\u201322:38 (2018)","journal-title":"ACM Computing Surveys"},{"key":"8_CR9","first-page":"13","volume-title":"Robust reconfigurations of component assemblies, in ICSE","author":"F Boyer","year":"2013","unstructured":"F. Boyer, O. Gruber, D. Pous, Robust reconfigurations of component assemblies, in ICSE (IEEE Computer Society, Piscataway, 2013), pp. 13\u201322"},{"key":"8_CR10","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1016\/j.jlamp.2018.01.002","volume":"96","author":"M Bravetti","year":"2018","unstructured":"M. Bravetti, Reduction semantics in Markovian process algebra. J. Log. Algebr. Meth. Program. 96, 41\u201364 (2018)","journal-title":"J. Log. Algebr. Meth. Program."},{"issue":"3","key":"8_CR11","doi-asserted-by":"publisher","first-page":"565","DOI":"10.1017\/S0960129509007683","volume":"19","author":"M Bravetti","year":"2009","unstructured":"M. Bravetti, G. Zavattaro, On the expressive power of process interruption and compensation. Math. Struct. Comput. Sci. 19(3), 565\u2013599 (2009)","journal-title":"Math. Struct. Comput. Sci."},{"key":"8_CR12","doi-asserted-by":"crossref","unstructured":"M. Bravetti, S. Gilmore, C. Guidi, M. Tribastone, Replicating web services for scalability, in TGC. LNCS, vol. 4912 (Springer, Berlin, 2008), pp. 204\u2013221","DOI":"10.1007\/978-3-540-78663-4_15"},{"key":"8_CR13","first-page":"1","volume-title":"Trustworthy Global Computing","author":"Mario Bravetti","year":"2009","unstructured":"M. Bravetti, I. Lanese, G. Zavattaro, Contract-driven implementation of choreographies, in Trustworthy Global Computing, 4th International Symposium, TGC 2008, Barcelona, Spain, November 3\u20134, 2008, Revised Selected Papers. Lecture Notes in Computer Science, eds. by Kaklamanis, C., Nielson, F., vol. 5474 (Springer, Berlin, 2009), pp. 1\u201318"},{"key":"8_CR14","doi-asserted-by":"publisher","first-page":"300","DOI":"10.1016\/j.ic.2017.07.010","volume":"256","author":"M Bravetti","year":"2017","unstructured":"M. Bravetti, M. Carbone, G. Zavattaro, Undecidability of asynchronous session subtyping. Inf. Comput. 256, 300\u2013320 (2017)","journal-title":"Inf. Comput."},{"key":"8_CR15","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1016\/j.tcs.2018.02.010","volume":"722","author":"M Bravetti","year":"2018","unstructured":"M. Bravetti, M. Carbone, G. Zavattaro, On the boundary between decidability and undecidability of asynchronous session subtyping. Theor. Comput. Sci. 722, 19\u201351 (2018)","journal-title":"Theor. Comput. Sci."},{"key":"8_CR16","unstructured":"M. Bravetti, S. Giallorenzo, J. Mauro, I. Talevi, G. Zavattaro, Code repository for the email processing example. \nhttps:\/\/github.com\/IacopoTalevi\/SmartDeploy-ABS-ExampleCode\n\n. Accessed January 2019"},{"key":"8_CR17","doi-asserted-by":"crossref","unstructured":"M. Bravetti, S. Giallorenzo, J. Mauro, I. Talevi, G. Zavattaro, Optimal and Automated Deployment for Microservices, in FASE (2019)","DOI":"10.1007\/978-3-030-16722-6_21"},{"key":"8_CR18","doi-asserted-by":"publisher","first-page":"351","DOI":"10.1007\/978-3-030-16722-6_21","volume-title":"Fundamental Approaches to Software Engineering","author":"Mario Bravetti","year":"2019","unstructured":"M. Bravetti, S. Giallorenzo, J. Mauro, I. Talevi, G. Zavattaro, Optimal and automated deployment for microservices (2019). \nhttps:\/\/arxiv.org\/abs\/1901.09782\n\n. Technical Report"},{"key":"8_CR19","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1007\/978-3-319-24072-5_2","volume-title":"Service Oriented and Cloud Computing","author":"Antonio Brogi","year":"2015","unstructured":"A. Brogi, A. Canciani, J. Soldani, Modelling and analysing cloud application management, in ESOCC. LNCS, vol. 9306 (Springer, Berlin, 2015), pp. 19\u201333"},{"key":"8_CR20","first-page":"724","volume-title":"Madeus: a formal deployment model, in HPCS","author":"M Chardet","year":"2018","unstructured":"M. Chardet, H. Coullon, D. Pertin, C. P\u00e9rez, Madeus: a formal deployment model, in HPCS (IEEE, Piscataway, 2018), pp. 724\u2013731"},{"key":"8_CR21","unstructured":"Chuffed Team: The CP Solver. \nhttps:\/\/github.com\/geoffchu\/chuffed\n\n. Accessed January 2019"},{"issue":"3","key":"8_CR22","doi-asserted-by":"publisher","first-page":"197","DOI":"10.3233\/FI-2018-1663","volume":"159","author":"FS Boer de","year":"2018","unstructured":"F.S. de Boer, M. Bravetti, M.D. Lee, G. Zavattaro, A petri net based modeling of active objects and futures. Fund. Inform. 159(3), 197\u2013256 (2018)","journal-title":"Fund. Inform."},{"key":"8_CR23","doi-asserted-by":"crossref","unstructured":"S. de Gouw, J. Mauro, B. Nobakht, G. Zavattaro, Declarative elasticity in ABS, in ESOCC. LNCS, vol. 9846 (Springer, Berlin, 2016), pp. 118\u2013134","DOI":"10.1007\/978-3-319-44482-6_8"},{"key":"8_CR24","doi-asserted-by":"crossref","unstructured":"R. Di Cosmo, S. Zacchiroli, G. Zavattaro, Towards a formal component model for the cloud, in SEFM 2012. LNCS, vol. 7504 (2012)","DOI":"10.1007\/978-3-642-33826-7_11"},{"key":"8_CR25","doi-asserted-by":"crossref","unstructured":"R. Di Cosmo, M. Lienhardt, R. Treinen, S. Zacchiroli, J. Zwolakowski, A. Eiche, A. Agahi, Automated synthesis and deployment of cloud applications, in ASE (2014)","DOI":"10.1145\/2642937.2642980"},{"key":"8_CR26","doi-asserted-by":"publisher","first-page":"100","DOI":"10.1016\/j.ic.2014.11.002","volume":"239","author":"R Cosmo Di","year":"2014","unstructured":"R. Di Cosmo, J. Mauro, S. Zacchiroli, G. Zavattaro, Aeolus: a component model for the cloud. Inf. Comput. 239, 100\u2013121 (2014)","journal-title":"Inf. Comput."},{"key":"8_CR27","unstructured":"R. Di Cosmo, M. Lienhardt, J. Mauro, S. Zacchiroli, G. Zavattaro, J. Zwolakowski, Automatic application deployment in the cloud: from practice to theory and back (invited paper), in CONCUR. LIPIcs, vol. 42, (Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2015), pp. 1\u201316"},{"key":"8_CR28","unstructured":"Docker: Docker Compose Documentation. \nhttps:\/\/docs.docker.com\/compose\/\n\n. Accessed January 2019"},{"key":"8_CR29","unstructured":"Docker: Docker Swarm. \nhttps:\/\/docs.docker.com\/engine\/swarm\/\n\n. Accessed January 2019"},{"key":"8_CR30","first-page":"195","volume-title":"Microservices: yesterday, today, and tomorrow, in PAUSE","author":"N Dragoni","year":"2017","unstructured":"N. Dragoni, S. Giallorenzo, A. Lluch-Lafuente, M. Mazzara, F. Montesi, R. Mustafin, L. Safina, Microservices: yesterday, today, and tomorrow, in PAUSE (Springer, Berlin, 2017), pp. 195\u2013216"},{"key":"8_CR31","doi-asserted-by":"publisher","first-page":"524","DOI":"10.1016\/j.jss.2015.09.020","volume":"122","author":"F Dur\u00e1n","year":"2016","unstructured":"F. Dur\u00e1n, G. Sala\u00fcn, Robust and reliable reconfiguration of cloud applications. J. Syst. Softw. 122, 524\u2013537 (2016)","journal-title":"J. Syst. Softw."},{"issue":"1","key":"8_CR32","first-page":"37","volume":"27","author":"I Feinerer","year":"2013","unstructured":"I. Feinerer, Efficient large-scale configuration via integer linear programming. AI EDAM 27(1), 37\u201349 (2013)","journal-title":"AI EDAM"},{"issue":"6","key":"8_CR33","doi-asserted-by":"publisher","first-page":"263","DOI":"10.1145\/2345156.2254096","volume":"47","author":"Jeffrey Fischer","year":"2012","unstructured":"J. Fischer, R. Majumdar, S. Esmaeilsabzali, Engage: a deployment management system, in: PLDI (2012)","journal-title":"ACM SIGPLAN Notices"},{"key":"8_CR34","unstructured":"K. Fromm, Thinking Serverless! How New Approaches Address Modern Data Processing Needs. \nhttps:\/\/read.acloud.guru\/thinking-serverless-how-new-approaches-address-modern-data-processing-needs-part-1-af6a158a3af1\n\n. Accessed January 2019"},{"key":"8_CR35","unstructured":"GECODE: An Open, Free, Efficient Constraint Solving Toolkit. \nhttp:\/\/www.gecode.org\n\n. Accessed January 2019"},{"key":"8_CR36","unstructured":"Google: Optimization Tools. \nhttps:\/\/developers.google.com\/optimization\/\n\n. Accessed January 2019"},{"key":"8_CR37","unstructured":"R. Hat, Ansible. \nhttps:\/\/www.ansible.com\/\n\n. Accessed January 2019"},{"key":"8_CR38","unstructured":"J.A. Hewson, P. Anderson, A.D. Gordon, A declarative approach to automated configuration, in LISA (2012)"},{"key":"8_CR39","volume-title":"Kubernetes: Up and Running Dive into the Future of Infrastructure","author":"K Hightower","year":"2017","unstructured":"K. Hightower, B.Burns, J. Beda, Kubernetes: Up and Running Dive into the Future of Infrastructure, 1st edn. (O\u2019Reilly Media, Inc., Sebastopol, 2017)","edition":"1"},{"key":"8_CR40","volume-title":"Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation","author":"J Humble","year":"2010","unstructured":"J. Humble, D. Farley, Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation (Addison-Wesley Professional, Upper Saddle River, 2010)"},{"key":"8_CR41","doi-asserted-by":"crossref","unstructured":"E.B. Johnsen, R. H\u00e4hnle, J. Sch\u00e4fer, R. Schlatte, M. Steffen, ABS: a core language for abstract behavioral specification, in FMCO (2010)","DOI":"10.1007\/978-3-642-25271-6_8"},{"key":"8_CR42","unstructured":"L. Kanies, Puppet: Next-generation configuration management. ;login: the USENIX Magazine 31(1) (2006)"},{"key":"8_CR43","unstructured":"J. Mauro, Zephyrus2 code repository. \nhttps:\/\/bitbucket.org\/jacopomauro\/zephyrus2"},{"key":"8_CR44","doi-asserted-by":"publisher","first-page":"382","DOI":"10.1007\/978-3-662-48057-1_30","volume-title":"Mathematical Foundations of Computer Science 2015","author":"Jacopo Mauro","year":"2015","unstructured":"J. Mauro, G. Zavattaro, On the complexity of reconfiguration in systems with legacy components, in MFCS. LNCS, vol. 9234 (Springer, Berlin, 2015), pp. 382\u2013393"},{"key":"8_CR45","unstructured":"D. Merkel, Docker: lightweight Linux containers for consistent development and deployment. Linux J. 2014(239), 2 (2014)"},{"key":"8_CR46","unstructured":"N. Nethercote, P.J. Stuckey, R. Becket, S. Brand, G.J. Duck, G. Tack, MiniZinc: towards a standard CP modelling language, in CP (2007), pp. 529\u2013543. \nhttp:\/\/dl.acm.org\/citation.cfm?id=1771668.1771709"},{"key":"8_CR47","unstructured":"Opscode: Chef. \nhttps:\/\/www.chef.io\/chef\/\n\n. Accessed January 2019"},{"key":"8_CR48","unstructured":"Puppet Labs: Marionette Collective. \nhttp:\/\/docs.puppetlabs.com\/mcollective\/\n\n. Accessed January 2019"}],"container-title":["Microservices"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-31646-4_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,12,11]],"date-time":"2019-12-11T15:13:12Z","timestamp":1576077192000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-31646-4_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,12,12]]},"ISBN":["9783030316457","9783030316464"],"references-count":48,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-31646-4_8","relation":{},"subject":[],"published":{"date-parts":[[2019,12,12]]},"assertion":[{"value":"12 December 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}