Skip to main content

Towards automated deployment

Currently, whenever we deploy a new application on the university's IT infrastructure, we follow a detailed quality assurance process.  This involves several different teams.  The actual deployment is performed by the database/system adminstration team.  If we developed the application ourselves, or if it needed significant integration with other university systems, then the software development or software configuration teams will be involved.  The corresponding support teams will check that they have the documentation and knowledge that they need to start supporting the application once it is "live".  The project mangers co-ordinate everything.  And this is just the teams in Applications Division; our colleagues for whom we are implementing the system will be doing their own checks and making their own arrangements.  So deployment takes quite a bit of effort and time.

What we would like to do is to make this process easier, quicker and more reliable.  To this end, we have run software development project in which we tried using a continuous integration tool.  Rather than having one big deployment with everyone involved, we wrote scripts to automate the process and had deployed the application (to a test server) every time the software changed during development.  Automated tests ensured that we didn't introduce any bugs as we wrote new code.  The result was a much smoother deployment process, and the assurance from much greater testing (the equivalent of 60 days of a human tester).

We're now looking to make this a standard approach for our software development projects.  At least on of our developers is wondering why management (that's me) doesn't just make this happen immediately. Well, as is often the case, the technical solution is simple, but we need to change the "people" part of the process to make it possible.  All the teams need to understand how the new process works and what it means for them.  We need to understand what value the different teams currently bring to the process and make sure that we don't lose these contributions.  We also have to adapt the other parts of the process, such as writing support documentation, to work with the new deployment process.  All this takes time, and has to be done while we're under pressure to deliver a large number of systems during the year.

Although it will take some work to make this happen, I'm quite excited by this development.  It promises to make our deployments much easier for everyone and to provide a consistently reliable service to our colleagues. I'll post news of progress here as it happens.

Comments

Popular posts from this blog

Presentation: Putting IT all together

This is a presentation I gave to an audience of University staff: 

In this seminar, I invite you to consider what the University’s online services would be like, if we worked together to design them from the perspective of the student or member of staff who will use them, instead of designing them around the organisational units that provide them. I’ll start with how the services might appear to that student or member of staff, then work back from there to show what this implies for how we work, how we manage our data, and how we integrate our IT systems. It might even lead to changes in our organisational structure.

Our online services make a vital and valued contribution to the work of our students and staff. I argue that with better integration, more consistent user interfaces, and shared data, this contribution could be significantly enhanced.

This practice is called “Enterprise Architecture”. I’ll describe how it consults multiple organisational units and defines a framework …

Not so simple...

A common approach to explaining the benefits of Enterprise Architecture is to draw two diagrams: one that shows a complicated mess of interconnections, and one that shows a nicely layered set of blocks. Something like this one, which came from some consultants:


I've never felt entirely happy with this approach.  Yes, we do want to remove as much of the needless complexity and ad-hoc design that litters the existing architecture.  Yes, we do want to simplify the architecture and make it more consistent and intelligible.  But the simplicity of the block diagram shown here is unobtainable in the vast majority of real enterprises.  We have a mixture of in-house development and different third-party systems, some hosted in-house, some on cloud infrastructure and some accessed as software-as-a-service.  For all the talk of standards, vendors use different authentication systems, different integration systems, and different user interfaces.

So the simple block diagram is, basically, a l…

2016 has been a good year

So much has happened over the last year with our Enterprise Architecture practice that it's hard to write a succinct summary.  For my day-to-day experience as enterprise architect, the biggest change is that I now have a team to work with.  This time last year, I was in the middle of a 12-month secondment to create the EA practice, working mainly on my own.  Now my post has been made permanent and I have recruited two members of staff to help meet the University's architectural needs.

I have spent a lot of the year meeting people, listening to their concerns and explaining how architecture can help them.  This communication remains vital, the absolute core of what we do and we will continue to meet people in this way.  We also talk to people in other Universities in order to learn from what they are doing and to share our own experience back.  A highlight in this regard was my trip to the USA last January.

Our biggest deliverable for the past year was the design of the data wa…