Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Midnight Cowboy


Published on

Published in: Technology
  • Be the first to comment

Midnight Cowboy

  1. 1. How to avoid being the Midnight Cowboy! Pitfalls of Enterprise Java Application Deployment
  2. 2. Anthony Shortland DTO Solutions Professional Services
  3. 3. Don’t lose the plot ... • Many times things are broken because you’ve got the wrong files deployed • Do you know where every file deployed to your production environment comes from? • Do you know which packages should be deployed to which boxes? • Can you identify which package a particular file belongs to and how that package was built? • Can you check that the correct files are installed?
  4. 4. ... maintain full-lifecycle traceability • Development build process starts with code committed to a version control system • Repositories of version controlled packages • Resource model tracks node/package assignments • Package formats are verifiable Development Operations
  5. 5. Don’t try to mix oil and water ... • Changes to environment specific configuration are often hacked on the fly since doing it properly is too difficult • Can you make a traceable configuration change without re-releasing the application? • Does operations need to tell development about infrastructure changes that affect applications?
  6. 6. ... establish formal separation of concerns • Maintain a separate repository of environment- specific infrastructure and application configuration data • Provide mechanisms for default configuration values be overridden externally to the application • Formally describe how the application is to be configured
  7. 7. People, process and tools Development Operations Release Management Framework Resource Resource Model Resource Model Resource Model Environment repository repository Release repository Build Build Development environment Source base Build Deploy Build environment Deploy Source base Build QA environment Deploy Package repository Staging Deploy environment Source base Build Deploy Production environment