In my last blog I talked a lot about encoding patterns and then being able to deploy them in a repeatable manner. That’s a big advance and certainly helps operations teams deliver code smoothly into production. However, it doesn’t address what happens after that, namely maintenance cycles, emergency security patches, etc… These take considerable time and effort as well as introduce risk that needs to be carefully managed. While it doesn’t sound like a huge problem in isolation, the size of a typical data center means that potentially hundreds of systems may need to be updated on very short notice. This can be a nightmare scenario with considerable manual effort required.
Thankfully the IBM PureApplication System deals with the full application lifecycle at multiple levels gracefully. Every layer of the stack, from hardware firmware up through the OS to the middleware, is clearly aware of what version it is and if there are potential updates. Depending on how you choose to do it, you can update individual components or whole systems at once. Of course, previous versions can co-exist, so updates can be rolled out in stages, and rolled back just as easily in the unlikely case that’s necessary.
The advantages around such a systematic approach to patching are the same as for encoding patterns: because it’s fully scripted, it’s predictable in behaviour and one can be sure patches were applied correctly and will not be lost at a later date. It’s also fast and reduces (or entirely eliminates) downtime: patches are performed on offline master images which are then activated. When they are ready to use, the system workload coordination components ensure that new systems are inserted in the right places (eg: load balancers know about them) and old systems are removed when new ones are ready. Thus one can effectively perform zero downtime maintenance in a predictable and automated manner.
In summary, this post shows how IBM PureApplication System handles the critical yet often unglamorous job of keeping your systems current. By using a full system-aware strategy, this approach taken saves time and effort at the same time as significantly reducing risk. It also facilitates zero down time maintenance cycles, which is a huge bonus.