Explore chapters and articles related to this topic
Cloud DevOps
Published in Haishi Bai, Zen of Cloud, 2019
Jenkins is an open source automation server that is commonly used for continuous integration and continuous delivery. Jenkins was developed by Sun Microsystem in the early 2000s under a Hudson project. In 2011, the project forked into an Oracle Hudson CI project controlled by Oracle and Jenkins managed by open source community contributors. In this tutorial, you'll set up another build pipeline using Jenkins running on Google Compute Platform (GCP).
DevOps adoption: Insights from a large European Telco
Published in Cogent Engineering, 2022
António Trigo, João Varajão, Leandro Sousa
Regarding status quo (Q1), it was possible to verify, by direct observation, that some of the DevOps practices, processes, and tools already existed in the company before the DevOps adoption, which was also later confirmed by the interviewees. The company used continuous integration and continuous delivery practices, but not in the form of an automated pipeline. Planning and automated testing processes were also in use. Concerning DevOps tools, the use of a central code repository, a compilation orchestrator, and deploy and monitoring tools were identified. One example is the use of Jenkins orchestrator for automation processes of some compilations and product installation. To sum up, before DevOps, the company already had some of the required practices, processes and tools, but was experiencing significant communication problems with both Devs and Ops teams. There were also opportunities for improvement by adopting new good practices.
Spatial and Temporal Audience Behavior of Scrum Practitioners Around Semi-Public Ambient Displays
Published in International Journal of Human–Computer Interaction, 2022
Jan Schwarzer, Susanne Draheim, Kai von Luck
At the time of this research, two Ambient Surfaces (labeled System 1 and System 2) were deployed in the ASD department of a German company where roughly 70–80 people were employed. The department’s organization could be characterized as a professional, large-scale ASD context (Dingsøyr et al., 2014) as, during the entire study, the total number of agile teams varied between 4 to 8 teams. The staff was equipped with a variety of tools that assisted them in developing the company’s custom software product. For the context of this research, the following tools deserve a special mention: Atlassian Jira (e.g., used to store user stories), Atlassian Confluence (e.g., utilized to share architectural decisions), Jenkins (used for continuous integration purposes), GoCD (leveraged to automate the build and deployment infrastructure), Tetris (a custom tool to visualize test summaries), and Avatar (also a custom tool to highlight graphical test metrics). Both Ambient Surfaces were situated in a common area (see Figure 3) which was selected because it seemed to provide the chance for opportunistic interactions (Ardito et al., 2015; Parker et al., 2020). Card boards, beverages, tables, restrooms, and chairs were in the vicinity of both systems. In Figure 3, we highlight one area, labeled Lobby, which we will repeatedly refer to below. The area Lobby highlights the space in which people went in and out of the restrooms and fetched beverages.
Architecting Microservices: Practical Opportunities and Challenges
Published in Journal of Computer Information Systems, 2020
Saša Baškarada, Vivian Nguyen, Andy Koronios
While developing individual microservices may not presuppose any particular skillsets (since they may be developed with heterogeneous technology stacks), effectively implementing and efficiently managing a large application developed using microservice architecture requires significant advanced skills in distributed system development and DevOps. Given that individual microservices can be developed and deployed independently, and considering that non-trivial applications may be composed of a large number of microservices, the resulting architectural complexity (continuous development/delivery, monitoring, scaling, recovery, etc.) cannot be managed manually. Popular DevOps tools include Jenkins (for continuous integration), Docker (for containerized deployment), Docker Swarm (for container clustering and orchestration), and Kubernetes (for load balancing, scaling, and discovery). Moreover, the assumption that, due to their relative simplicity, individual microservices are easy to develop is also misleading. Compared with large teams developing monoliths, where individual developers can specialize in particular technologies/features, microservice developers need to have a solid understanding of a range of non-functional aspects, including security, system fault-tolerance, microarchitecture recoverability, latency, and the like.