75 research outputs found

    An Assessment of DevOps Maturity in a Software Project

    Get PDF
    DevOps is a software development method, which aims at decreasing conflict between software developers and system operators. Conflicts can occur because the developers’ goal is to release the new features of the software to production, whereas the operators’ goal is to keep the software as stable and available as possible. In traditional software development models, the typical amount of time between deployments can be long and the changes in software can become rather complex and big in size. The DevOps approach seeks to solve this contradiction by bringing software developers and system operators together from the very beginning of a development project. In the DevOps model, changes deployed to production are small and frequent. Automated deployments decrease human errors that sometimes occur in manual deployments. Testing is at least partly automated and tests are run after each individual software change. However, technical means are only one part of the DevOps approach. The model also emphasizes changes in organizational culture, which are ideally based on openness, continuous learning, and experimentation. Employees possess the freedom of decision-making while carrying the responsibility that follows. In addition to individual or team-based goals, each employee is encouraged to pursue the common goals. The aim of this thesis is two-fold. Firstly, the goal is to understand and define the DevOps model through a literature review. Secondly, the thesis analyzes the factors that contribute to the successful adoption of DevOps in an organization, including those with the possibility of slowing down or hindering the process. A qualitative case study was carried out on a system development project in a large Finnish technology company. The data consists of semi-structured open-ended interviews with key personnel, and the findings are analyzed and compared to factors introduced in previous DevOps literature, including the DevOps maturity model. The case project is also assessed in terms of its DevOps maturity. Finally, impediments and problems regarding DevOps adoption are discussed. Based on the case study, major challenges in the project include the large size and complexity of the project, problems in project management, occasional communication problems between the vendor and the client, poor overall quality of the software, and defects in the software development process of the vendor. Despite the challenges, the company demonstrated progress in some aspects, such as partly automating the deployment process, creating basic monitoring for the software, and negotiating development and testing guidelines with the vendor

    Development of an ERP with CI/CD application, Authentication and System Auditing

    Get PDF
    Developing and maintaining software like ERPs can be challenging because of the complexity and the amount of data that these systems require maintaining. Many of the software programs can grow with weak structure, which lead to great effort to maintain, and with more probability to error. This project proposes that a development cycle that incorporates DevOps can have major bene ts, by not only removing some hassle the programmers and systems admins have with testing and deploying the system, but can also give a early feedback if the changes made into the application brings problems to the systems. The design of a CI/CD pipeline and audit logs, and the implementation in an ERP development helped get more feedback and cause of root problems, which lead to more confidence in the developers to make changes, and to escalate more quickly since the deployment is automatized.Desenvolver "software" como os ERPs podem ser difícil de manter devido à complexidade e a quantidade de dados envolvida nestes sistemas. Isto leva a que muitos destes "softwares" cresçam com uma estrutura de código fraca, o que leva a um esforço adicional para manter, e com maior probabilidade para erros. Este projeto propõe que a incorporação do conceito de DevOps no ciclo de desenvolvimento traz muitas vantagens, não só a remover algum trabalho dos programadores e dos administradores de sistemas ao ser mais fácil testar o sistema e fazer deploy do mesmo, mas também fornece uma forma de feedback mais rápida para eventuais erros. O "design" de uma pipeline CI/CD e logs para auditoria do sistema, e a respetiva implementação destes conceitos no desenvolvimento consegue dar mais feedback a problemas, o que leva a uma maior confiança dos programadores para fazer alterações, e conseguir escalar a solução mais rapidamente visto que a implantação é automatizada

    DevOps dashboard

    Get PDF
    DevOps stands for development and operations. DevOps is a culture that empowers both development and operations teams to reduce time to market, make incremental improvements in response to changing conditions, and create a more efficient development process. Software development and delivery is a very complex practice, and managing it is even harder. Any kind of system or process needs to gather data and metrics to understand how it is performing. Understandably, measuring is essential in creating valuable software. However, measuring software is not easy and has been a problem for several organizations. There is the notion of utilizing a dashboard to ease the way DevOps teams interact and respond to data collected from systems to aid stakholders measure and monitor. The Design Science Research (DSR) methodology was chosen to build an artefact – the DevOps dashboard - and evaluate its value to the DevOps community. Several versions of the artifact were developed as part of an improvement process, with each iteration validated through interviews. It was identified that the dashboards generally accessible in the DevOps community are extremely specialized and lack a broader perspective of the entire ecosystem to help stakeholders in decision-making. The contribution of this research is the developed dashboard that allows more significant monitoring of a DevOps system employing metric categories that follow visualization best practices to improve user experience and impact the user decision process positively.DevOps é uma cultura que combina desenvolvimento e operação e que tem como principais objectivos reduzir o tempo de chegada ao mercado, fazer mudanças incrementais em resposta à mudança das condições, e construir um processo de desenvolvimento mais racionalizado. DevOps é adotado em todo o mundo, e com a adoção em massa, vêm as diferentes implementações e padronizações. Contudo o software responsável por agregar métricas não é de fácil implementação a nível de negócio e tem sido um problema para várias organizações. Com o intuito de medir e monitorizar software, existe a premissa de utilizar um painel de maneira a simplificar a forma como o DevOps pode interagir com as métricas. Esta tese centra-se no desenvolvimento de um painel de DevOps focado nas boas praticas de visualização com o objetivo principal de apoiar as equipas DevOps na tomada de decisões. A fim de continuar a desenvolver o painel, foi escolhida a metodologia Design Science Research (DSR) com o objectivo de construir um artefacto e o avaliar. Foi identificado que os dashboards utilizados na comunidade DevOps carecem de uma perspectiva mais ampla de todo o ecossistema de forma ajudar as partes interessadas na tomada de decisões. A contribuição desta investigação é o painel de DevOps que monitoriza um sistema de DevOps, que segue as melhores praticas de visualização, utilizando categorias de métricas de maneira a mais facilmente navegar e interpretar os dados, a fim de melhorar a experiência do utilizador e tomada de decisão

    Deployment and Operation of Complex Software in Heterogeneous Execution Environments

    Get PDF
    This open access book provides an overview of the work developed within the SODALITE project, which aims at facilitating the deployment and operation of distributed software on top of heterogeneous infrastructures, including cloud, HPC and edge resources. The experts participating in the project describe how SODALITE works and how it can be exploited by end users. While multiple languages and tools are available in the literature to support DevOps teams in the automation of deployment and operation steps, still these activities require specific know-how and skills that cannot be found in average teams. The SODALITE framework tackles this problem by offering modelling and smart editing features to allow those we call Application Ops Experts to work without knowing low level details about the adopted, potentially heterogeneous, infrastructures. The framework offers also mechanisms to verify the quality of the defined models, generate the corresponding executable infrastructural code, automatically wrap application components within proper execution containers, orchestrate all activities concerned with deployment and operation of all system components, and support on-the-fly self-adaptation and refactoring

    DevOps for Digital Leaders

    Get PDF
    DevOps; continuous delivery; software lifecycle; concurrent parallel testing; service management; ITIL; GRC; PaaS; containerization; API management; lean principles; technical debt; end-to-end automation; automatio

    DevOps for Digital Leaders

    Get PDF
    DevOps; continuous delivery; software lifecycle; concurrent parallel testing; service management; ITIL; GRC; PaaS; containerization; API management; lean principles; technical debt; end-to-end automation; automatio
    corecore