66 research outputs found

    Evolving legacy enterprise systems with microservices-based architecture in cloud environments

    Get PDF
    Many legacy enterprise systems suffer from a number of common and critical problems. Such systems have often been implemented in the past with hardware and software technologies which are now out of date. Furthermore, they have often been modified in piecemeal so as to allow them to cope with changed requirements, and the need for new functionalities, which have come to light since their initial implementation. Thus, they are often ‘messy’ in their implementations and difficult to use: the modules are no longer well-structured, and many dependencies exist across module boundaries; also some new functionalities may prove impossible to incorporate within them. The old-fashioned technologies on which they are based frequently are unable to deliver the speed and throughput required by the business environment, and such technologies usually do not offer the ease of modification provided by modern service oriented and networked systems. Further, new technologies are often available on a much wider range of platforms and are generally more scalable and flexible – leading to much greater ease of use. Therefore, there is a need to migrate legacy systems to the newer technologies and in this process to construct the more well-structured systems. One path by which this can be done is to migrate the system to the Cloud-based technology, and in the course of this migration, to re-structure it into a microservices-based architecture. By doing so, the hope is that the resultant system will be easier to modify, offer higher performance, and offer other benefits as well, such as better security. To attain these hoped-for benefits, it is vital that the migration is performed in an appropriate approach. The contributions of this thesis are to propose and validate an approach to the migration of a legacy system to a microservice-oriented architecture and Cloud based system. This approach is predicated on the creation and use of two sets of rules: a set of feature-driven microservice transformation rules and a set of feature-driven cloud migration rules. It is hypothesized that the correct interpretation of, and the appropriate adherence to, these rules will lead to the implementation of a new microservices-oriented and Cloud based system, which will replace the functionality of the legacy system, improve the QoS offered by this, in terms of non-functional requirements, and be far easier to modify in the future in order to cope with further functional and other requirements which may emerge. To verify that the proposed approach and its associated rules are fit for the above purpose, two case studies are embarked upon. One involves the comprehensive conversion of a legacy system, via the rules, into a Cloud and microservices architecture based system implemented within a container technology environment – an environment which, according to the literature, is the one best suited to this purpose. The testing and implementation involved with that case study is focused on the microservice-oriented system’s compliance with non-functional requirements such as throughput. The second case study is analysis-intensive, focusing on how a much more complex and much larger legacy system could be migrated in the same way. This latter case study is focused on interoperability, testability, maintainability, availability, and scalability. The results from these case studies verify the validity and efficacy of the approach and the rules which are developed for it, and lead to some insightful suggestions for future research

    Towards predictive runtime modelling of Kubernetes microservices

    Get PDF
    Kubernetes is one of the major container management platforms utilised by Cloud Service Providers offering to host applications and services. As cloud based services become more prevalent, platform providers are faced with an increasingly complex problem of trying to meet contracted performance levels. Providers must strike a balance between management of resource allocations and contractual obligations to ensure that their service is profitable, while offering competitive pricing rates for contracts. This research explores performance modelling of microservice application tenants within the Kubernetes container management platform. We present a self-adaptive architecture to achieve modelling at runtime. We establish the potential for automated classification of cloud systems, and utilise a hybridised modelling approach to verify system properties and evaluate performance. We achieve this through the modelling of components as Extended Finite State Machines in WATERS, from which we automate the generating of performance models using the PEPA syntax

    Innovative techniques for deployment of microservices in cloud-edge environment

    Get PDF
    PhD ThesisThe evolution of microservice architecture allows complex applications to be structured into independent modular components (microservices) making them easier to develop and manage. Complemented with containers, microservices can be deployed across any cloud and edge environment. Although containerized microservices are getting popular in industry, less research is available specially in the area of performance characterization and optimized deployment of microservices. Depending on the application type (e.g. web, streaming) and the provided functionalities (e.g. ltering, encryption/decryption, storage), microservices are heterogeneous with speci c functional and Quality of Service (QoS) requirements. Further, cloud and edge environments are also complex with a huge number of cloud providers and edge devices along with their host con gurations. Due to these complexities, nding a suitable deployment solution for microservices becomes challenging. To handle the deployment of microservices in cloud and edge environments, this thesis presents multilateral research towards microservice performance characterization, run-time evaluation and system orchestration. Considering a variety of applications, numerous algorithms and policies have been proposed, implemented and prototyped. The main contributions of this thesis are given below: Characterizes the performance of containerized microservices considering various types of interference in the cloud environment. Proposes and models an orchestrator, SDBO for benchmarking simple webapplication microservices in a multi-cloud environment. SDBO is validated using an e-commerce test web-application. Proposes and models an advanced orchestrator, GeoBench for the deployment of complex web-application microservices in a multi-cloud environment. GeoBench is validated using a geo-distributed test web-application. - i - Proposes and models a run-time deployment framework for distributed streaming application microservices in a hybrid cloud-edge environment. The model is validated using a real-world healthcare analytics use case for human activity recognition.

    Automated Testing for Provisioning Systems of Complex Cloud Products

    Get PDF
    Context: The proliferation of cloud computing enabled companies to shift their approach regarding infrastructure provisioning. The uprising of cloud provisioning enabled by virtualisation technologies sprouted the rise of the Infrastructure as a Service (IaaS) model. OutSystems takes advantage of the IaaS model to spin-up infrastructure on-demand while abstracting the infrastructure management from the end-users. Problem: OutSystems’ orchestrator system handles the automated orchestration of the clients’ infrastructure, and it must be thoroughly tested. Problems arise because infrastructure provisioning takes considerable amounts of time, which dramatically increases the feedback loop for the developers. Currently, the duration of the orchestrator tests hinder the ability to develop and deliver new features at a desirable pace. Objectives: The goals of this work include designing an efficient testing strategy that considers a microservices architecture with infrastructure provisioning capabilities while integrating it in a Continuous Integration (CI)/Continuous Deployment (CD) pipeline. Methods: The solution applies multiple testing techniques that target different portions of the system and follow a pre-determined test distribution to guarantee a balanced test suite. The strategy was tested against a set of prototypes to evaluate its adequacy and efficiency. The strategy definition focuses on mapping the type of errors that each test level should tackle and is, therefore, independent of the employed technologies. Results: The devised strategy is integrated in a CI/CD pipeline and is capable of comprehensively test the created prototypes while maintaining a short feedback loop. It also provides support for testing against commonly found errors in distributed systems in a deterministic way. Conclusions: The work developed in this dissertation met the outlined objectives, as the developed strategy proved its adequacy against the developed prototypes. Moreover, this work provides a solid starting point for the migration of the orchestrator system to a microservices architecture

    ICSEA 2021: the sixteenth international conference on software engineering advances

    Get PDF
    The Sixteenth International Conference on Software Engineering Advances (ICSEA 2021), held on October 3 - 7, 2021 in Barcelona, Spain, continued a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education. The conference had the following tracks: Advances in fundamentals for software development Advanced mechanisms for software development Advanced design tools for developing software Software engineering for service computing (SOA and Cloud) Advanced facilities for accessing software Software performance Software security, privacy, safeness Advances in software testing Specialized software advanced applications Web Accessibility Open source software Agile and Lean approaches in software engineering Software deployment and maintenance Software engineering techniques, metrics, and formalisms Software economics, adoption, and education Business technology Improving productivity in research on software engineering Trends and achievements Similar to the previous edition, this event continued to be very competitive in its selection process and very well perceived by the international software engineering community. As such, it is attracting excellent contributions and active participation from all over the world. We were very pleased to receive a large amount of top quality contributions. We take here the opportunity to warmly thank all the members of the ICSEA 2021 technical program committee as well as the numerous reviewers. The creation of such a broad and high quality conference program would not have been possible without their involvement. We also kindly thank all the authors that dedicated much of their time and efforts to contribute to the ICSEA 2021. We truly believe that thanks to all these efforts, the final conference program consists of top quality contributions. This event could also not have been a reality without the support of many individuals, organizations and sponsors. We also gratefully thank the members of the ICSEA 2021 organizing committee for their help in handling the logistics and for their work that is making this professional meeting a success. We hope the ICSEA 2021 was a successful international forum for the exchange of ideas and results between academia and industry and to promote further progress in software engineering research

    A Design Framework for Aggregation in a System of Digital Twins

    Get PDF
    Mechanical and Mechatronic Engineerin
    corecore