Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Architecting Microservices

161 views

Published on

4th of April 2017. My presentation done at the 14th International Conference on Software Architecture (ICSA), Young Researchers Forum, Gothenburg, Sweden.

Microservice Architecture (MSA) has recently emerged as an architectural style particularly suitable to the cloud infrastructures. The MSA style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms.
Although the set of MSA principles aim for high degree of flexibility, modularity and evolution, adopting, operating and maintaining microservice architectures in practice is challenging and time consuming.
This paper reports on a PhD research project addressing three different challenges concerning MSA: (i) the identification of the key properties of microservice architectures, (ii) the identification and investigation on a description language for designing and analyzing architectures, (iii) the identification of the factors that
impact the process of migrating existing applications towards MSA.
The first contribution of this project is a systematic mapping study on architecting microservices, which has been performed in order to understand the state of the research and the possible gaps in the area.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Architecting Microservices

  1. 1. Paolo Di Francesco Architecting Microservices Author Paolo Di Francesco paolo.difrancesco@gssi.it Architecting Microservices Supervisors Prof. Patricia Lago p.lago@vu.nl Dr. Ivano Malavolta i.malavolta@vu.nl Gran Sasso Science Institute (GSSI), L’ Aquila, Italy
  2. 2. 2Paolo Di Francesco Paolo Di Francesco Microservice architectures MSA is an architectural style inspired by service-oriented computing • Small services • Running in own process • Lightweight communication Introduction
  3. 3. 3Paolo Di Francesco Paolo Di Francesco Microservice architectures • Products not Projects • Cross-functional teams • Infrastructure automation • Intelligence in the endpoints • Decentralized governance of • Language • Data Introduction Delivery Pipelines Teams Capabilities
  4. 4. 4Paolo Di Francesco Paolo Di Francesco Research Objectives Goal: Realize a comprehensive understanding of the MSA style and its architectural properties • RQ1: What are the key properties of MSA? • RQ2: How to describe MSA to guide architectural analysis? • RQ3: How to estimate the impact of MSA migration? Research Objectives
  5. 5. 5Paolo Di Francesco Paolo Di Francesco RQ1: Key properties of MSA • What is the research focus on MSA? • Quality attributes • Architectural activities • Architectural patterns • Infrastructure services • … • Preliminary Result Research on architecting microservices: Trends, focus, and potential for industrial adoption [DLM17] Research Questions
  6. 6. 6Paolo Di Francesco Paolo Di Francesco RQ2: Describe MSA to guide arch. analysis • Challenges • High number of services • Dynamic environments • … • Identify instruments for supporting design activities • Reasoning about software qualities • Automatic analysis • Physical and logical modeling Research Questions
  7. 7. 7Paolo Di Francesco Paolo Di Francesco RQ2: Describe MSA to guide arch. analysis • How to get a clear understanding of the overall architecture? 1. Reverse Engineering 2. Domain-specific Language • Preliminary Results • Towards recovering the software architecture of microservice- based systems [GCD+17] • MicroART: A software architecture recovery tool for maintaining microservice-based systems [GCDM+17] Research Questions
  8. 8. 8Paolo Di Francesco Paolo Di Francesco RQ3: Estimate impact of MSA migration • Migration • Long and difficult task [JAP13] • Incremental and iterative process • Affected by • Decomposition • Cloud infrastructure constraints • Business constraints • Goal: Key factors for • Feasibility analysis • Evaluation of effort, methodologies and techniques Research Questions
  9. 9. 9Paolo Di Francesco Paolo Di Francesco Industrial Impact 1. Mapping study on architecting microservices • Potential for industrial adoption (TRL, industry involvement) 2. MicroART • Modeling • Documentation • Reasoning • Change impact analysis 3. Industrial migration case studies • Experiences, tools and practices Industrial Impact
  10. 10. 10Paolo Di Francesco Paolo Di Francesco Research Plan Research Plan
  11. 11. 11Paolo Di Francesco Paolo Di Francesco Conclusions Conclusions
  12. 12. 12Paolo Di Francesco Paolo Di Francesco References  DLM17 - P. Di Francesco, P. Lago, and I. Malavolta. Research on architecting microservices: Trends, focus, and potential for industrial adoption. IEEE International Conference on Software Architecture (ICSA), 2017  GCD+17 - G. Granchelli, M. Cardarelli, P. Di Francesco, I. Malavolta, L. Iovino, and A. Di Salle. Towards recovering the software architecture of microservice-based systems. First International Workshop on Architecting with MicroServices (AMS), 2017.  GCDM+17 - G. Granchelli, M. Cardarelli, P. Di Francesco, I. Malavolta, L. Iovino, and A. Di Salle. Microart: A software architecture recovery tool for maintaining microservice- based systems. IEEE International Conference on Software Architecture (ICSA), 2017.  DGL+16 - Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara, M., Montesi, F., Mustafin, R., & Safina, L. (2016). Microservices: yesterday, today, and tomorrow. arXiv preprint arXiv:1606.04036.  FL14 - M. Fowler and J. Lewis. Microservices a definition of this new architectural term. URL: http://martinfowler.com/articles/micros-ervices.html  JAP13 - Jamshidi, P., Ahmad, A. and Pahl, C., 2013. Cloud migration research: a systematic review. IEEE Transactions on Cloud Computing, 1(2), pp.142-15 References

×