It can be dispiriting to find that what seemed to be a well-designed system, carefully implemented by an Agile team, runs into problems as soon as it hits production, but such things do happen. Conversely how is it that gnarled old systems containing tangled code and without a unit test in sight are often successful production applications and run reliably for years?
Today the DevOps movement aims to prevent problems when systems reach production by unifying the work of development, application management, and production operations staff. This is a terrific step forward, but we still need actionable advice that architects and development teams can apply to prevent this Dev–Ops interaction from being a frustrating and ineffective process.
This session will explore why good software development practice is important but ultimately isn't sufficient to create a reliable and effective enterprise system. We will discuss what being "production ready" really means and then look at the design forces that this implies for our systems. This inquiry will allow us to understand the principles, patterns, and practices that architects need to know and apply in order to work with our Ops colleagues, get our systems into production, and keep them there.