- Software System Performance and Reliability
- Cloud Computing and Resource Management
- Service-Oriented Architecture and Web Services
- Advanced Software Engineering Methodologies
- Business Process Modeling and Analysis
- Digital Platforms and Economics
- ERP Systems Implementation and Impact
- Simulation Techniques and Applications
- Distributed systems and fault tolerance
- Software-Defined Networks and 5G
- Advanced Data Storage Technologies
- Network Security and Intrusion Detection
- Software Engineering Research
- Model-Driven Software Engineering Techniques
- Software Reliability and Analysis Research
- Scientific Computing and Data Management
- Distributed and Parallel Computing Systems
- Information Technology Governance and Strategy
- Network Traffic and Congestion Control
- Big Data and Business Intelligence
- Real-Time Systems Scheduling
- IoT and Edge/Fog Computing
- Parallel Computing and Optimization Techniques
- Mobile Agent-Based Network Management
Kiel University
2016-2021
Microservices are commonly known as an architecture for building scalable applications running in the cloud. However, they also promise high maintainability due to smaller code bases and strong component separation, making them interesting option software modernization. This article presents a migration process decompose existing application into microservices, experiences from applying this ongoing legacy modernization project.
Microservices complement approaches like DevOps and continuous delivery in terms of software architecture. Along with this architectural style, several important deployment technologies, such as container-based virtualization container orchestration solutions, have emerged. These technologies allow to efficiently exploit cloud platforms, providing a high degree scalability, availability, portability for microservices.
Microservices are an architectural style for software which currently receives a lot of attention in both industry and academia. Several companies employ microservice architectures with great success, there is wealth blog posts praising their advantages. Especially so-called Internet-scale systems use them to satisfy enormous scalability requirements rapidly deliver new features users. But microservices not only popular large, systems. Many traditional also considering whether viable option...
Improving agility and maintainability are common drivers for companies to adopt a microservice architecture their existing software systems. However, the often relies heavily on fact that it is executed within single process space. Therefore, decomposing into out-of-process components like microservices can have severe impact non-functional properties, such as overall performance due invocation overhead or data consistency. To minimize this impact, important consider properties already part...
Microservices are a promising target architecture for the modernization of monolithic software. However, breaking up monolith into services can have severe impact on performance, especially transactions. Therefore, careful planning such modernizations with respect to performance is required. This particularly true incremental modernizations, which release partially modernized states application production. In this paper, we present simulation-based approach sustaining runtime during towards...
Replicating software performance experiments is difficult. A common obstacle to replication that recreating the hardware and environments often impractical. As researchers usually run their on happens be available them, would require obtaining identical hardware, which can lead high costs. Recreating environment also difficult, as components such particular library versions might no longer available. Cheap, standardized like Raspberry Pi portable containers ones provided by Docker are a...
The ability to independently deploy parts of a software system is one the cornerstones modern development, and allows for these evolve at different speeds.A major challenge such independent deployment, however, ensure that despite their individual evolution, interfaces between interacting remain compatible. This especially important enterprise systems, which are often highly integrated based on heterogenous IT infrastructures.Although several approaches interface evolution have been...