904 research outputs found

    End-to-End Automation in Cloud Infrastructure Provisioning

    Get PDF
    Infrastructure provisioning in the cloud can be time-consuming and error-prone due to the manual process of building scripts. Configuration Management Tools (CMT) such as Ansible, Puppet or Chef use scripts to orchestrate the infrastructure provisioning and its configuration in the cloud. Although CMTs have a high level of automation in the infrastructure provisioning still remains a challenge to automate the iterative development process in the cloud. Infrastructure as Code is a process where the infrastructure is automatically built, managed, and provisioned by scripts. However, there are several infrastructure provisioning tools and scripting languages that need to be used coherently. In previous work, we have introduced the ARGON modelling tool with the purpose of abstracting the complexity of working with different DevOps tools through a DSL. In this work, we present an end-to- end automation for a toolchain for infrastructure provisioning in the cloud based on DevOps community tools and ARGON

    A DevOps approach to integration of software components in an EU research project

    Get PDF
    We present a description of the development and deployment infrastructure being created to support the integration effort of HARNESS, an EU FP7 project. HARNESS is a multi-partner research project intended to bring the power of heterogeneous resources to the cloud. It consists of a number of different services and technologies that interact with the OpenStack cloud computing platform at various levels. Many of these components are being developed independently by different teams at different locations across Europe, and keeping the work fully integrated is a challenge. We use a combination of Vagrant based virtual machines, Docker containers, and Ansible playbooks to provide a consistent and up-to-date environment to each developer. The same playbooks used to configure local virtual machines are also used to manage a static testbed with heterogeneous compute and storage devices, and to automate ephemeral larger-scale deployments to Grid5000. Access to internal projects is managed by GitLab, and automated testing of services within Docker-based environments and integrated deployments within virtual-machines is provided by Buildbot

    Cloud WorkBench - Infrastructure-as-Code Based Cloud Benchmarking

    Full text link
    To optimally deploy their applications, users of Infrastructure-as-a-Service clouds are required to evaluate the costs and performance of different combinations of cloud configurations to find out which combination provides the best service level for their specific application. Unfortunately, benchmarking cloud services is cumbersome and error-prone. In this paper, we propose an architecture and concrete implementation of a cloud benchmarking Web service, which fosters the definition of reusable and representative benchmarks. In distinction to existing work, our system is based on the notion of Infrastructure-as-Code, which is a state of the art concept to define IT infrastructure in a reproducible, well-defined, and testable way. We demonstrate our system based on an illustrative case study, in which we measure and compare the disk IO speeds of different instance and storage types in Amazon EC2

    The Making of Cloud Applications An Empirical Study on Software Development for the Cloud

    Full text link
    Cloud computing is gaining more and more traction as a deployment and provisioning model for software. While a large body of research already covers how to optimally operate a cloud system, we still lack insights into how professional software engineers actually use clouds, and how the cloud impacts development practices. This paper reports on the first systematic study on how software developers build applications in the cloud. We conducted a mixed-method study, consisting of qualitative interviews of 25 professional developers and a quantitative survey with 294 responses. Our results show that adopting the cloud has a profound impact throughout the software development process, as well as on how developers utilize tools and data in their daily work. Among other things, we found that (1) developers need better means to anticipate runtime problems and rigorously define metrics for improved fault localization and (2) the cloud offers an abundance of operational data, however, developers still often rely on their experience and intuition rather than utilizing metrics. From our findings, we extracted a set of guidelines for cloud development and identified challenges for researchers and tool vendors

    Selecting a Deployment Automation Tool for CRM Software in Elisa Oy

    Get PDF
    Software passes through several phases during its production process which are typically designing, developing, testing and delivering. In the software development life cycle (SDLC), the ultimate aim is to deliver the software product to its intended users with the expected functionality. Deployment is a critical step which harnesses all the work done in the previous stages in the SDLC and makes the software available to the end user. Thus, failure in the final deployment stage will waste the effort expended in earlier phases. The responsibility for deployment usually belongs to operations teams and it is done manually or then partially automated, often using inefficient scripts. Manual deployment can be extremely difficult task, and it is easy to blunder with repetitive routines consisting of many steps such as setting up similar environments and installing software components in those environments. Some operations teams attempt to ease the manual work by writing scripts to automate the process, but ultimately this method can become complicated and burdensome. The deployment process delays can be avoided and redundant costs eliminated in the error prone manual deployment process by changing the work culture and automating said processes. There are several products on the market to help automate this process. Achieving fully automated provisioning is the ultimate goal to produce and update services rapidly within enterprise applications in large corporations. Full automation is accomplished when the environments are set up automatically, and software installation is automatic in those environments. The objective of this research is to introduce these automation tools to the Customer Relation Management (CRM) system at Elisa Oy and to develop a proposal for automating the deployment process as an alternative to its current manual process. CRM as a large system consists of numerous sub systems and software components. A deployment case with a selected tool will be demonstrated to show how the automation can be accomplished

    An Industry-Based Study on the Efficiency Benefits of Utilising Public Cloud Infrastructure and Infrastructure as Code Tools in the IT Environment Creation Process

    Get PDF
    The traditional approaches to IT infrastructure management typically involve the procuring, housing and running of company-owned and maintained physical servers. In recent years, alternative solutions to IT infrastructure management based on public cloud technologies have emerged. Infrastructure as a Service (IaaS), also known as public cloud infrastructure, allows for the on-demand provisioning of IT infrastructure resources via the Internet. Cloud Service Providers (CSP) such as Amazon Web Services (AWS) offer integration of their cloud-based infrastructure with Infrastructure as Code (IaC) tools. These tools allow for the entire configuration of public cloud based infrastructure to be scripted out and defined as code. This thesis hypothesises that the correct utilization of IaaS and IaC can offer an organisation a more efficient type of IT infrastructure creation system than that of the organisations traditional method. To investigate this claim, an industry-based case study and survey questionnaire were carried out as part of this body of work. The case study involved the replacement of a manually managed IT infrastructure with that of the public cloud, the creation of which was automated via a framework consisting of IaC and related automation tools. The survey questionnaire was created with the intent to corroborate or refute the results obtained in the case study in the context of a wider audience of organisations. The results show that the correct utilization of IaaS and IaC technologies can provide greater efficiency in the management of IT networks than the traditional approac

    Cloud Infrastructure Automation Through IaC (Infrastructure as Code)

    Get PDF
    Cloud computing has emerged as a key force in the IT sector, allowing businesses to take use of the cloud's scalability and cost-effectiveness to satisfy their IT requirements. When compared to the traditional on-premise method, companies that use cloud services can benefit from higher efficiency, dependability, and agility, as well as lower operational expenses and improved security. In spite of all the benefits, configuring cloud services may be a difficult and time-consuming procedure, especially when done manually. As a solution to the mentioned challenges, the Infrastructure as Code (IaC) was introduced. IaC has revolutionised the way organisations approach IT. Organisations may gain improved efficiency, dependability, and agility by exploiting the cloud's scalability and cost-effectiveness, as well as automating the provisioning, configuration, and administration of infrastructure with different IaC tools. However, using cloud and IaC can also present challenges, including complexity, collaboration, versioning, testing, security, integration, and automation. This paper discusses the overview of cloud computing and IaC. Explores the benefits and challenges of using these technologies. Concludes by emphasising the importance of careful planning and execution when using cloud and IaC, in order to maximise the benefits while minimising the difficulties
    corecore