152 research outputs found

    Käytettävyyden ja kehityksen modernisointi mikropalveluilla

    Get PDF
    Vanhat ohjelmistojärjestelmät, joilla tarkoitetaan vanhoja ja vanhentuneita ohjelmistoja joita on tehty vanhentuneilla työskentelytavoilla, ovat todellisuus jonka kanssa suurin osa ohjelmistokehitysyrityksistä joutuvat kamppailemaan. Vanhat työskentelytavat ja teknologiat aiheuttavat usein ohjelmiston kehityksen ja julkaisun hidastumista, sillä niiden jatkuvassa käytössä voi piillä yhteensopivuus, turvallisuus, skaalautuvuus sekä ekonomisia ongelmia, muiden ongelmien muassa. Ohjelmistojärjestelmien modernisointi, uudelleensuunnittelu ja refaktorointi voivat lievittää vanhoista järjestelmistä nousevia ongelmia, oli se sitten työskentelytapojen muutoksella, teknologioiden päivityksellä tai ohjelmistoalustojen vaihdolla. On olemassa monia teknologioita ja metodeja jotka voivat helpottaa ohjelmistojärjestelmien modernisointia, mukaanlukien siirto käyttämään erilaista arkkitehtuuria, uusien teknologioiden käyttöönotto ja ohjelmistokehityksen tapojen vaihto. Näillä teknologioilla ja metodeilla, ja modernisaatiolla yleensäkkin, on omat riskinsä ja haasteensa, jotka tulee ottaa huomioon onnistuneen modernisaation aikaansaamiseksi; Nämä strategiset huomiot ovat avaintekijöitä modernisaatiossa. Tämä opinnäytetyö tutkii ohjelmistojen modernisaatiota yleisellä tasolla kirjallisuusarvostelun kautta, ja käyttää tietyn yrityksen tapaustutkimuksen dataa, joka on kerätty kyselyjen ja yhtiön lokien kautta, katsoen mitä teknologioita, konsepteja ja strategioita tarvitaan onnistuneeseen modernisaatioon, ja mitä vaikutuksia modernisaatiolla on modernisoitavaan ohjelmistojärjestelmään loppukäyttäjien sekä ohjelmistokehittäjien näkökulmasta. Tämän tutkimuksen lopputulos paljastaa miksi modernisaatio on monimutkainen aihe jossa on monia haasteita, mutta joka samaan aikaan tarjoaa monia hyötyjä modernisoitavalle ohjelmistojärjestelmälle. Näitä tuloksia on parasta käyttää ohjeina siihen, mihin ongelmiin kannattaa keskittyä modernisoinnin aikana, pitäen mielessä tapaustutkimuksen rajoitetun soveltamisalan.Legacy software systems, which refers to old and likely outdated software applications and practices, are a reality that most software development companies have to contend with. Old practices and technologies are often at fault for slowing down development and deployment of software, as they can have compatibility, security, scalability and economic issues with their continued use, among other issues. Software modernization, reengineering and refactoring can alleviate the issues stemming from legacy systems, whether it be in the form of altering practices, updating technologies or changing platforms. There are many technologies and methods that can facilitate the modernization of a software system, including a move to using different architectures, specific newer technologies and changing the methods of working and developing the software system. These technologies and methods, and modernization in general, come with their own risks and challenges that must be considered for a successful modernization to take place; These strategic considerations are a key factor in modernization. This thesis will explore software modernization in general through literature reviews and as a case study for a specific company using data from surveys and the case company’s logs, with a look into the technologies, concepts and strategies required for a successful modernization, and what kinds of effects modernization can have on the software system being modernized, both from a user perspective as well as from a developer perspective. The end-result of this exploration reveals that modernization is a complex subject with many challenges, but that also offers benefits to the software system being modernized. These results are best used as a guideline on what issues should be concentrated on during modernization, with a mindful consideration for the limited scope of the case study represented within

    Legacy Digital Transformation: TCO and ROI Analysis

    Get PDF
    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

    On the Modularization of ExplorViz towards Collaborative Open Source Development

    Get PDF
    Software systems evolve over their lifetime. Changing conditions such as requirements or customer requests make it inevitable for developers to perform adjustments to the underlying code base. Especially in the context of open source software where everybody can contribute, demands can change over time and new user groups may be addressed. In particular, research software is often not structured with a maintainable and extensible architecture. In combination with obsolescent technologies, this is a challenging task for developers, especially, when students are involved. In this paper, we report on the modularization process and architecture of our open source research project ExplorViz towards a microservice architecture, which facilitates a collaborative development process for both researchers and students. We describe the modularization measures and present how we solved occurring issues and enhanced our development process. Afterwards, we illustrate our modularization approach with our modernized, extensible software system architecture and highlight the improved collaborative development process. Finally, we present a proof-of-concept implementation featuring several developed extensions in terms of architecture and extensibility

    Migrating to Cloud-Native Architectures Using Microservices: An Experience Report

    Full text link
    Migration to the cloud has been a popular topic in industry and academia in recent years. Despite many benefits that the cloud presents, such as high availability and scalability, most of the on-premise application architectures are not ready to fully exploit the benefits of this environment, and adapting them to this environment is a non-trivial task. Microservices have appeared recently as novel architectural styles that are native to the cloud. These cloud-native architectures can facilitate migrating on-premise architectures to fully benefit from the cloud environments because non-functional attributes, like scalability, are inherent in this style. The existing approaches on cloud migration does not mostly consider cloud-native architectures as their first-class citizens. As a result, the final product may not meet its primary drivers for migration. In this paper, we intend to report our experience and lessons learned in an ongoing project on migrating a monolithic on-premise software architecture to microservices. We concluded that microservices is not a one-fit-all solution as it introduces new complexities to the system, and many factors, such as distribution complexities, should be considered before adopting this style. However, if adopted in a context that needs high flexibility in terms of scalability and availability, it can deliver its promised benefits

    Creation of a Cloud-Native Application: Building and operating applications that utilize the benefits of the cloud computing distribution approach

    Get PDF
    Dissertation presented as the partial requirement for obtaining a Master's degree in Information Management, specialization in Information Systems and Technologies ManagementVMware is a world-renowned company in the field of cloud infrastructure and digital workspace technology which supports organizations in digital transformations. VMware accelerates digital transformation for evolving IT environments by empowering clients to adopt a software-defined strategy towards their business and information technology. Previously present in the private cloud segment, the company has recently focused on developing offers related to the public cloud. Comprehending how to devise cloud-compatible systems has become increasingly crucial in the present times. Cloud computing is rapidly evolving from a specialized technology favored by tech-savvy companies and startups to the cornerstone on which enterprise systems are constructed for future growth. To stay competitive in the current market, both big and small organizations are adopting cloud architectures and methodologies. As a member of the technical pre-sales team, the main goal of my internship was the design, development, and deployment of a cloud native application and therefore this will be the subject of my internship report. The application is intended to interface with an existing one and demonstrates in question the possible uses of VMware's virtualization infrastructure and automation offerings. Since its official release, the application has already been presented to various existing and prospective customers and at conferences. The purpose of this work is to provide a permanent record of my internship experience at VMware. Through this undertaking, I am able to retrospect on the professional facets of my internship experience and the competencies I gained during the journey. This work is a descriptive and theoretical reflection, methodologically oriented towards the development of a cloud-native application in the context of my internship in the system engineering team at VMware. The scientific content of the internship of the report focuses on the benefits - not limited to scalability and maintainability - to move from a monolithic architecture to microservices
    corecore