Agile Software Distribution

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software change management
Configuration management
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Copyright Hub Software Engineering Ltd 2010All rights reserved Hub Document Manager Product Overview.
An open source QA stack testing tools for agile teams Presented by Aaron Evans
Configuration Management
Alternate Software Development Methodologies
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
T-FLEX DOCs PLM, Document and Workflow Management.
CS 325: Software Engineering April 7, 2015 Software Configuration Management Task Scheduling & Prioritization Reporting Project Progress Configuration.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Configuration Management
Business Intelligence (3 of 3): Technically Speaking, This is How We Did It PRESENTED BY.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
FileSecure Implementation Training Patch Management Version 1.1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
This chapter is extracted from Sommerville’s slides. Text book chapter
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Software Configuration Management (SCM)
QWise software engineering – refactored! Testing, testing A first-look at the new testing capabilities in Visual Studio 2010 Mathias Olausson.
Linux Operations and Administration
Michael Burnside Blog: Software Quality Assurance, Quality Engineering, and Web and Mobile Test.
LBTO IssueTrak User’s Manual Norm Cushing version 1.3 August 8th, 2007.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Section 1: Introducing Group Policy What Is Group Policy? Group Policy Scenarios New Group Policy Features Introduced with Windows Server 2008 and Windows.
Configuration Management (CM)
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Priit Collaboration infrastructure.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
MERCURY BUSINESS PROCESS TESTING. AGENDA  Objective  What is Business Process Testing  Business Components  Defining Requirements  Creation of Business.
Michael Still Google Inc. October, Managing Unix servers the slack way Tools and techniques for managing large numbers of Unix machines Michael.
A Networked Machine Management System 16, 1999.
Developing Policy and Procedure Management System إعداد برنامج سياسات وإجراءات العمل 8 Safar February 2007 HERA GENERAL HOSPITAL.
View and Manage corporate files from within Baan and ERP Ln Baan Hot Link Ver 6.2.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Configuration Management CSCI 5801: Software Engineering.
Creating SmartArt 1.Create a slide and select Insert > SmartArt. 2.Choose a SmartArt design and type your text. (Choose any format to start. You can change.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
TargetProcess - AGILE Project tracking tool Shashwat Gupta CS
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
© 2013 IBM Corporation Accelerating Product and Service Innovation Service Virtualization Testing in Managed Environments Michael Elder, IBM Senior Technical.
Windows Vista Configuration MCTS : Installing and Upgrading.
DECTRIS Ltd Baden-Daettwil Switzerland Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Software Configuration Management
Software Project Configuration Management
Build Automation with Gradle
Use Cases Discuss the what and how of use cases: Basics Benefits
PLM, Document and Workflow Management
Chapter 11: Software Configuration Management
Computer Aided Software Engineering (CASE)
CS 325: Software Engineering
LCGAA nightlies infrastructure
A451 Theory – 7 Programming 7A, B - Algorithms.
Make Links from your Baan System
Maintaining software solutions
Visual Studio 2005 “Personalized productivity”
COMP-10: Managing OpenEdge® Development with the Roundtable® TSMS
Automated Testing and Integration with CI Tool
Chapter 25 – Configuration Management
Chapter 11: Software Configuration Management
Configuration management
Extreme Programming.
Presentation transcript:

Agile Software Distribution Session held by: René Steg Steg IT-Engineering, Zurich (Switzerland)

Why do I need „Agile Software Distribution“? Because you may have hundreds of servers with a high number of applications running on these servers have distributed applications in place allow manual changes on the runtime configuration of the application after „installation“ not have a link between Software Configuration Management (SCM) and Software Distribution (SWD) document the installation-steps in plain-text ... which makes the question: „What Release of my application is running on which server ?“ very difficult to answer (if it can be answered at all)

1st Step: Reorganize the way you do SWD Require referential builds for all of your applications Setup a team, which supports the software developers / engineers in creating the installation packages Store your server metadata in a repository, which can be easily accessed and queried Define and implement standards, how the applications have to be installed on your servers (e. g. applications must be delivered in Solaris Packaging Format)

Software Distribution Process Test / Runtime Software Distribution Development Referential Build Build Installations- Package Distribution / Installation Capacity Management Repository Executables, Install-Param. / Golden Copy/2 Installations-Package Silver Copy Server-Metadata Silver Copy Installations-Package Server-Metadata Installation-Logs Silver Copy Source, Executables. / Golden Copy

Installation- Package Distribution / Installation Referential Build Repository Sources from Baseline Developer Compile / Build Source-Code Executables Check-in / Golden Copy Source / Executable Golden Copy Referential Build Build Installation- Package Distribution / Installation Capacity Management contains

Build Installation-Packages (Part 1) Repository Developer Executable / Install.-Parm. Golden Copy/2 Packaging- Specialist Installation- Parameters Referential Build Build Installations- Package Distribution / Installation Capacity Management contains Source / Executable Golden Copy is derived

Build Installation-Packages (Part 2) Runtime- Code Repository Developer Build Packages Check-in / Silver Copy Packaging- Specialist Package Installation- Parameters, Executables Install-Packages Silver Copy Referential Build Build Installations- Package Distribution / Installation Capacity Management contains Source / Executable Golden Copy is derived Executable / Install.-Parm. Golden Copy/2

Installations- Package Distribution / Installation Capacity Management Repository Server- Metadata Environment Manager Server – Product Assignment Server is assigned contains Referential Build Build Installations- Package Distribution / Installation Capacity Management Source / Executable Golden Copy Developer Package Silver Copy is derived Executable / Install.-Parm. Golden Copy/2

Distribution / Installation Repository Distribution- Order Environment Manager Distribution Server Package Installation-Status contains is installed Referential Build Build Installations- Package Distribution / Installation Capacity Management Source / Executable Golden Copy is assigned Silver Copy is derived Executable / Install.-Parm. Golden Copy/2

Automating the Processes Automate the Build-Process Using a SCM-Tool, this task will be a lot easier Always use a Baseline for the automatic Builds (else it won‘t be referential!) Automate the Package-Creation Check, which software-products in your company may be installed in the same way and create the packages for these application automatically Version the installation-parameters (these are part of the software configuration anyway) Scan Hardware-Data automatically Try to minimize manual data-entry for hardware, to keep the hardware-inventory up-to-date and store these data in a repository as well Automate the Distribution- and Installation-Processes Try to eliminate any manual interaction for a distribution / installation De-Installation must also be automated Keep the installation fast, using a delta-distribution mechanism

And what‘s the benefit? Software Distribution gets agile, even with hundreds of servers in a large enterprise The question: „What Release of my application is running on which server ?“, may be answered with some clicks using a web-report The same application-release is always installed the same way Back-out scenarios are easier to implement The distribution-process is a one-button-only-click, if the metadata has been pre-defined once in the repository and therefore the Distribution Manager does not need to know the installation sequence of the application CMMI-Level 3 may be reachable, because to implement and automate Software Distribution successfully, it is essential, that the processes are: Documented Standardized Repeatable

Recommendations Define standards, policies and naming conventions (Programs love conventions!) Reduce special-engineering and minimize the number of different middleware and operating-systems on your servers (programs hate exceptions! And so do your programmers) Use a repository which keeps your metadata of your distribution activities together Use the automated distribution mechanism already in the testing phases, this way the installation packages are also tested in early stages Use the SWD system for the entire software-stack of your server (operating system, middleware and business-application) Link the source (Golden Copy) and the installation-unit (Silver Copy), so you know immediately, which source to change in an error-case (Best Practice: there is a link between source-code, derived object and installation package) Define an emergency-scenario, in case the automatic SWD is not available Do not allow ANY manual changes on the servers (exception: emergency-scenario) Performance: If you want your developers to use the SWD in early stages, be aware, that the process must be fast (data model, delta-deploy etc.) Reports are important, not only for your management, but also for other roles involved in the entire application life-cycle.

Thanks for your attention and have a nice day!