Modular Infrastructure Design with Messaging

Slides:



Advertisements
Similar presentations
GForge: A collaborative development environment Presentation by: Geoff Gerfin.
Advertisements

Version Control Systems Phil Pratt-Szeliga Fall 2010.
DNS: Revising the Current Protocol Matt Gustafson Matt Weaver CS522 Computer Communications University of Colorado, Colorado Springs.
SYST Web Technologies SYST Web Technologies Installing a Web Server (XAMPP)
Web Page A page displayed by the browser. Website Collection of multiple web pages Web Browser: A software that displays web pages on client computer.
MCDevOps Infrastructure In One Hour. Sponsors Improving Enterprises Software Development.
Created by: Maria Abrahms Modified Date: Classification: How to get it done Contributing to OpenStack.
UNIT - 1Topic - 2 C OMPUTING E NVIRONMENTS. What is Computing Environment? Computing Environment explains how a collection of computers will process and.
Version Control. What is it? Software to help keep track of changes made to files Tracks the history of your work Helps you collaborate with others.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
AngularJS & Git Workshop Made by: Nikola Novakovic.
Module 7: Resolving NetBIOS Names by Using Windows Internet Name Service (WINS)
Accelerator Physics SNS EPICS Integration with Web-based Technologies Presentation by Madhan Sundaram.
CERN-PH-SFT-SPI August Ernesto Rivera Contents Context Automation Results To Do…
Kuali Rice at Indiana University From the System Owner Perspective July 29-30, 2008 Eric Westfall.
Chapter 19 Binding Protocol Addresses (ARP) A frame transmitted across a physical network must contain the hardware address of the destination. Before.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Tzu-Han Wu Yi-Chi Chiang Han-Yang Ou
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
Unified Address Book Security Implications. Unified Address Book Overview –What are we talking about –What is the Risk –What are we doing to minimize.
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
AutoQA and You Will Woods, Fedora QA Architect FUDCon Toronto 2009.
Luke Macken [ bodhi ]. ● History of Fedora updates ● bodhi ● goals ● features ● architecture ● using ● testing/qa ● hacking ● future ideas [ overview.
Fedora Bug Triage John "poelcat" Poelstra Jon "jds2001" Stanley June 21, 2008 version 0.2.
An Introduction to. Where did Fedora come from? Boxed set every 6 months == Failed business model [
Avast Mail Scanner When we talk about antivirus, Avast has never disappointed us. With the inclusions of latest features all the time, it is able to.
Imposing MVC design sample in.NET. Design patterns are very useful to solve complex design issues if used well. The primary concept of the Model View.
CompSci 230 Software Construction
Applications Active Web Documents Active Web Documents.
CS5220 Advanced Topics in Web Programming Version Control with Git
SharePoint Broken Link Manager
Process improvements for better quality
Development process Douglas Schilling Landgraf
Shared Services with Spotfire
Arbitrary Branching The Upstream Pivot Matt Prahl Presented by
Rebuilding Modules and Containers
LECTURE 2: Software Configuration Management
What’s New in RSA 8.0 Beta 1 – Compare and merge
Distribution and components
Some bits on how it works
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
Say Hello to my Little Friend - Fedora Messaging Infrastructure
Zanata Translation platform Alex Eng Presented by
Fedora QA: What we do and how you can help
BOOTP and DHCP Objectives
Concurrent Version Control
PHP / MySQL Introduction
Fedora Distribution Toolbox
Reliable Services Jeffrey Richter Microsoft Azure Service Fabric.
LECTURE 3: Software Configuration Management
CANalytics TM CAN Interface Software BY.
Cache Coherence Protocols:
Cache Coherence Protocols:
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Informatics 43 – May 26, 2016.
Gridification progress report
Architecture Competency Group
Dynamic Process for Source Control
SharePoint Broken Link Manager
Version Control System - Git
(UCCSC, 2017) Vince Kellen CIO, UC San Diego
DMEMATCHER.COM – Process Flow / Features
Ch 17 - Binding Protocol Addresses
Overview Multimedia: The Role of WINS in the Network Infrastructure
Git GitHub.
Introduction to JavaScript
Architectural Mismatch: Why reuse is so hard?
Presentation transcript:

Modular Infrastructure Design with Messaging Jesse Keating LinuxFest Northwest 2009

Overview of Fedora Infrastructure Build Server (Koji) Source Control (CVS) Ownership Database (PkgDB) Bug Database (bugzilla) QA System (autoqa)

Walkthrough of a Build Commit of a change (CVS) Check of ACLs (generated by cron of pkgdb) Email to alias (generated by cron of pkgdb) Request Build in Koji Email to owner listed in Koji (set by cron of pkgdb)

What if we want to change something? Change email address for a Packager Touch PkgDB Cron pull to update email alias Change ownership of a package Cron pull to update CVS ACLs Cron pull to update Koji

What if we wanted to add functionality? How to notify the QA system? Add code to koji to poke autoqa? Create a procmail script? Listen to RSS? Reporting back? How to notify Bugzilla? Add code to CVS to poke bugzilla? Add code to koji to poke bugzilla? procmail?

What if we want to replace something? Replace CVS with git? Rewrite all interaction bits Touch multiple systems

What if there was a better way? Unified Message Bus Pass messages between applications Pass messages between computer systems Multiple language bindings Multiple platform support Multiple ways to exchange Broadcast Client / Server Durable

Walkthrough of a Build Commit of a change (CVS) Message put on bus of change Listener of change generates email Listener of change creates rss Listener of change modifies bugzilla Request Build in Koji Message put on bus of build Lilstener of change creates rss

Making changes with a Bus Change email address of a Maintainer Touch PackageDB Message on bus of change Alias generation script reacts to message Change ownership of a package ACL generation script reacts to message Buildsystem listener reacts to message

AutoQA? Add a listener to the bus to react to messages Report QA results on bus Add listeners to the bus to react to QA messages and touch other systems

Bugzilla? Add a listener to the bus that reacts to messages and frobs bugzilla

Replace CVS? Only have to modify the listeners and teach new SCM to put messages on the bus

Other Problems to solve Config Management refreshes Dashboard of activity

Questions?