Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agile Software Distribution

Similar presentations


Presentation on theme: "Agile Software Distribution"— Presentation transcript:

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

2 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)

3 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)

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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.

13 Thanks for your attention
and have a nice day!


Download ppt "Agile Software Distribution"

Similar presentations


Ads by Google