172 research outputs found
From Monolith to Microservices: A Classification of Refactoring Approaches
While the recently emerged Microservices architectural style is widely
discussed in literature, it is difficult to find clear guidance on the process
of refactoring legacy applications. The importance of the topic is underpinned
by high costs and effort of a refactoring process which has several other
implications, e.g. overall processes (DevOps) and team structure. Software
architects facing this challenge are in need of selecting an appropriate
strategy and refactoring technique. One of the most discussed aspects in this
context is finding the right service granularity to fully leverage the
advantages of a Microservices architecture. This study first discusses the
notion of architectural refactoring and subsequently compares 10 existing
refactoring approaches recently proposed in academic literature. The approaches
are classified by the underlying decomposition technique and visually presented
in the form of a decision guide for quick reference. The review yielded a
variety of strategies to break down a monolithic application into independent
services. With one exception, most approaches are only applicable under certain
conditions. Further concerns are the significant amount of input data some
approaches require as well as limited or prototypical tool support.Comment: 13 pages, 4 tables, 2 figures, Software Engineering Aspects of
Continuous Development and New Paradigms of Software Production and
Deployment, First International Workshop, DEVOPS 2018, Chateau de
Villebrumier, France, March 5-6, 2018, Revised Selected Paper
Legacy Digital Transformation: TCO and ROI Analysis
Legacy Digital Transformation is modernizing or migrating systems from non-digital or older digital technology to newer digital technologies. Digitalization is essential for information reading, processing, transforming, and storing. Social media, Cloud, and analytics are the major technologies in today\u27s digital world. Digitalization (business process) and Digital Transformation (the effect) are the core elements of newer global policies and processes. Recent COVID pandemic situation, Organizations are willing to digitalize their environment without losing business. Digital technologies help to improve their capabilities to transform processes that intern promote new business models. Applications cannot remain static and should modernize to meet the evolving business and technology needs. Business needs time to market, Agility, and reduce technical debt. Technology needs consist of APIs, better Security, Portability, Scalability, Cloud support, Deployment, Automation, and Integration. This paper elaborates different transformation/modernization approaches for Legacy systems written in very long or End of Life (EOL) systems to newer digital technologies to serve the business needs. EOL impacts application production, supportability, compliance, and security. Organizations spend money and resources on Digital Transformation for considering Investment versus Return on Investment, Agility of the System, and improved business processes. Migration and Modernization are critical for any Legacy Digital Transformation. Management takes decisions to proceed with Digital Transformation for considering Total Cost Ownership (TCO) and Return on Investment (ROI) of the program. The paper also includes a TCO-ROI calculator for Transformation from Legacy / Monolithic to new architectures like Microservices
Serverless software engineering – and how to get there
Serverless computing is on the rise but developing software to exploit this space involves a deep rethink of software architecture, deployment, and operation (perhaps also, software development processes and team structures). Central to this revolution, we find a compelling argument for distributed, services-based software architectures. But converting a large, established monolith architecture system to microservices is non-trivial and fraught with both cost and risk. For the many firms with established software systems, this architectural system conversion might be considered the first stop-off on the journey to serverless computing. In tandem, software deployment and production monitoring also require reinvention. The focus of this paper involves an examination of the advantages of microservices architectures, include techniques for migrating from monolith architectures. Through application of a Multivocal Literature Review (MLR), we find that migrating from a monolith architecture to a microservices architecture is risky and non-trivial, but that there are techniques that can be employed to support the transition. We find also that monoliths have their advantages which might be overlooked to some extent in the race to serverless computing
Microservice Architecture Reconstruction and Visualization Techniques: A Review
Microservice system solutions are driving digital transformation; however,
fundamental tools and system perspectives are missing to better observe,
understand, and manage these systems, their properties, and their dependencies.
Microservices architecture leads towards decentralization, which implies many
advantages to system operation; it, however, brings challenges to their
development. Microservice systems often lack a system-centric perspective that
would help engineers better cope with system evolution and quality assessment.
In this work, we explored microservice-specific architecture reconstruction
based on static analysis. Such reconstruction typically results in system
models to visualize selected system-centric perspectives. Conventional models
involve 2D methods; however, these methods are limited in utility when services
proliferate. We considered various architectural perspectives relevant to
microservices and assessed the relevancy of the traditional method, comparing
it to alternative data visualization using 3D space. As a representative of the
3D method, we considered a 3D graph model presented in augmented reality. To
begin testing the feasibility of deriving such perspectives from microservice
systems, we developed and implemented prototype tools for software architecture
reconstruction and visualization of compared perspectives. Using these
prototypes, we performed a small user study with software practitioners to
highlight the potentials and limitations of these innovative visualizations
used for common practitioner reasoning and tasks
- …