Opinionated mantra though it is, I believe that the improvements brought by automation, cloud architectures, and intelligent processing of the resultant data streams mean that new opportunities are available to benefit peoples lives through access to knowledge and services.
With an understanding of current platforms and approaches, a modern devops team is a key component in bringing these ideas into reality. To bring all these elements together several important concepts need to be architected for.
For services to be able to enhance people lives it is essential that the users are at the centre of the decision-making process, this is as applicable within operations as it is within any other sphere of development.
Cloud architecture first design
Cloud computing imposes an ephemeral nature to our compute resources, holding on to previously successful hardware-identifiable approaches complicates and eventually breaks these services. Designing with the platform in mind leads to a focusing on concepts such as the separation of data and compute, auto-scaling and auto-healing.
Data at the core
Services in the present day can generate huge quantities of data. User and service data needs to be streamed, stored and retrieved, reliably and robustly. Transformational actions on this data should form the core of both businesses and government in the present day.
As resources become more diverse and numerous, the ability of people to monitor and control them becomes ever more complex and accident-prone. Automation is something that must be built into designs from their inception. Compute components must be able to monitor and heal themselves, data must backup and recover without human intervention. In a containerised world where uptime can sometimes be measured in hours rather than years, removing the manual tasks from operations is now a critical requirement.
I like to think that in the years to come we will be able to look back at systems chaos with a smile, then again, I’m sure I said that last decade too 🙂