39 research outputs found

    Analyzing the Effects of CI/CD on Open Source Repositories in GitHub and GitLab

    Full text link
    Numerous articles emphasize the benefits of implementing Continuous Integration and Delivery (CI/CD) pipelines in software development. These pipelines are expected to improve the reputation of a project and decrease the number of commits and issues in the repository. Although CI/CD adoption may be slow initially, it is believed to accelerate service delivery and deployment in the long run. This study aims to investigate the impact of CI/CD on commit velocity and issue counts in two open-source repositories, GitLab and GitHub. By analyzing more than 12,000 repositories and recording every commit and issue, it was discovered that CI/CD enhances commit velocity by 141.19 percent, but also increases the number of issues by 321.21 percent.Comment: This paper has been accepted at the 20th IEEE/ACIS International Conference on Software Engineering, Management and Applications (SERA 2022

    Continuous Deployment Transitions at Scale

    Get PDF
    Predictable, rapid, and data-driven feature rollout; lightning-fast; and automated fix deployment are some of the benefits most large software organizations worldwide are striving for. In the process, they are transitioning toward the use of continuous deployment practices. Continuous deployment enables companies to make hundreds or thousands of software changes to live computing infrastructure every day while maintaining service to millions of customers. Such ultra-fast changes create a new reality in software development. Over the past four years, the Continuous Deployment Summit, hosted at Facebook, Netflix, Google, and Twitter has been held. Representatives from companies like Cisco, Facebook, Google, IBM, Microsoft, Netflix, and Twitter have shared the triumphs and struggles of their transition to continuous deployment practices—each year the companies press on, getting ever faster. In this chapter, the authors share the common strategies and practices used by continuous deployment pioneers and adopted by newcomers as they transition and use continuous deployment practices at scale

    A new approach making it possible to change software behavior dynamically

    Get PDF
    12th Turkish National Software Engineering Symposium (2018: Istanbul; Turkey)Nowadays software provided over web and mobile platforms can be frequently updated. W i t h updates the behavior of software changes. Certain behaviors can cause undesired damages. Therefore, the correc¬ tion of incorrect behavior that reaches customers is done via new up¬ dates. Fixing software's source code, testing these new changes, getting peer approval through code reviews, building a new version of the soft¬ ware and deploying it to the production environment can take hours. As a result, being able to correct any changes that may severely affect a lot of customers in the matter of seconds is an important need for software developers to preserve developers' prestige and customer satisfaction. I n this study, we propose an approach that enables developers to change software's behavior at run time and describe an implementation realiz¬ ing this approach. W i t h our approach, software updates can be deployed incrementally without making any code changes or they can be reverted completely within seconds. I n addition, our approach makes it possible to try out experimental features on small subsets of users in production environments.Günümüzde web ve mobil platformlar üzerinden sağlanan yazılımlar sık sık güncellenebilmektedir. Güncellemeler ile beraber yazılımların davranışları değişir. Bazı davranışlar istenmeyen hasarlara yol açabilir. Bu sebeple müşteriye ulaşan hatalı davranışların düzeltilmesi yeni güncellemeler yoluyla yapılmaktadır. Kaynak kodlarda düzeltmelerin yapılması, değişikliklerin test edilmesi ve kaynak kod denetimlerinden geçmesi, bu değişikliklerle yeni yazılım versiyonunun inşa edilmesi ve güncellenmiş versiyonun üretim ortamlarına konuşlandırılması saatler alabilir. Dolayısıyla birçok müşteriyi etkileyebilecek ve hatalı olduğunda müşterilerde büyük iş kayıplarına yolaçabilecek değişikliklerin saniyeler mertebesinde düzeltilebilmesi yazılım üreticilerinin prestijinin korunması ve müşteri memnuniyetinin devamı için önemli bir ihtiyaçtır. Bu çalışmada koşan yazılımların davranışlarını dinamik olarak değiştirilebilmesini sağlayacak bir yaklaşım ve bu yaklaşımı gerçekleştiren bir yazılım aracı sunmaktayız. Yaklaşımımız yazılım güncellemelerinin herhangi bir kod değişikliği gerektirmeden kademeli olarak devreye alınmasını veya saniyeler içerisinde tamamen devreden çıkarılmasını sağlamaktadır. Aynı zamanda yaklaşımımız deneysel sayılabilecek yeni yazılım özelliklerinin üretim ortamında ufak bir kullanıcı kitlesi üzerinde denenebilmesini mümkün kılmaktadır

    Evolution of Integration, Build, Test, and Release Engineering Into DevOps and to DevSecOps

    Get PDF
    Software engineering operations in large organizations are primarily comprised of integrating code from multiple branches, building, testing the build, and releasing it. Agile and related methodologies accelerated the software development activities. Realizing the importance of the development and operations teams working closely with each other, the set of practices that automated the engineering processes of software development evolved into DevOps, signifying the close collaboration of both development and operations teams. With the advent of cloud computing and the opening up of firewalls, the security aspects of software started moving into the applications leading to DevSecOps. This chapter traces the journey of the software engineering operations over the last two to three decades, highlighting the tools and techniques used in the process

    Stage-gate and agile development in the digital age: Promises, perils, and boundary conditions

    Get PDF
    Some artists begin with careful plans, sketches, preliminary drawings and even paintings before settling on one particular direction. Claude Monet, for example, carefully planned and prepared his work to coincide with specific natural light, timing his activity according to when and how daylight touched his canvas (House, 2004). His work was revolutionary: masterpieces such as his famous Impressions, Sunrise and subsequent Water Lilies series were intended to capture the feelings initiated by observation and interpretation; they exceeded the mere recording of scenery details. Other artists seemed to obtain their inspiration internally, beginning with little formal preparation. They approached the canvas experientially. Jackson Pollock adopted this style with his famous drip paintings - action pieces that were acclaimed to show motion, depicting accidents and energy

    Online Schema Evolution is (Almost) Free for Snapshot Databases

    Full text link
    Modern database applications often change their schemas to keep up with the changing requirements. However, support for online and transactional schema evolution remains challenging in existing database systems. Specifically, prior work often takes ad hoc approaches to schema evolution with 'patches' applied to existing systems, leading to many corner cases and often incomplete functionality. Applications therefore often have to carefully schedule downtimes for schema changes, sacrificing availability. This paper presents Tesseract, a new approach to online and transactional schema evolution without the aforementioned drawbacks. We design Tesseract based on a key observation: in widely used multi-versioned database systems, schema evolution can be modeled as data modification operations that change the entire table, i.e., data-definition-as-modification (DDaM). This allows us to support schema almost 'for free' by leveraging the concurrency control protocol. By simple tweaks to existing snapshot isolation protocols, on a 40-core server we show that under a variety of workloads, Tesseract is able to provide online, transactional schema evolution without service downtime, and retain high application performance when schema evolution is in progress.Comment: To appear at Proceedings of the 2023 International Conference on Very Large Data Bases (VLDB 2023
    corecore