Enterprise 2.0 Cloud Computing – DevOps for every one
In compliment to Jon’s headline focus on Enterprise Cloud Computing, my key specialism is where this technology overlaps with social media aka ‘Enterprise 2.0′.
Although it can feel like you’re playing an intense game of Buzzword Bingo, the key way to approach new technologies like Cloud Computing is to marry them up with other hot topics, like social media and big data.
Typically these aren’t entirely different domains more so simply different perspectives on to the same system, and so it’s helpful to throw them all in a pot and discuss: DevOps, IaaS, PaaS, web 2.0, enterprise 2.0, .. etc.
Agile Cloud best practices
Ultimately they all point to an evolving Internet ecosystem that favours lightweight, fast-moving, modular approaches to systems design and implementation, whereas the ‘old world’ is one of the enterprise monolith. The big bang IT project costing 10′s millions and taking years to implement.
The Cloud world will obviate that one because of the sweet spot around ‘DevOps‘.
IT systems are typically implemented via a lifecycle featuring Development, Test and Production, and moving new upgrades and installations through this process is what IT does. But it does via different departments and hierarchical structures, rather than Agile platforms.
It’s the change movement that is problematic, with resources from each department spending between 30-70% of their time with the break/fix workload associated with this lifecycle, in terms of troubleshooting the myriad of technical issues that can arise due to software bugs, configuration issues, hardware downtime, … etc.
In particular is the dynamic between the code itself and the environment that is running it. This environment itself can experience bugs and other technical problems, and so when trying to fire-fight technical problems you have to try and figure out whether it’s an application bug or an operating system issue, etc etc.
Therefore it’s this combination of departmental structure related to technical seperation that can result in issues related not just to technology but to human and organizational factors too, ie.
“Network says it’s a hardware problem, hardware says its a network problem.”
So one key idea of DevOps is it represents the merging of these different departments at one level of the work itself, to engage a more mature and effective approach that yields higher throughput of bugfix and therefore ultimately code deployment rates.
The DevOps concept is more easily understood when you focus in on how it can be applied in the scenario of one particular application, let’s say Drupal for example. Not only that but this presentation is also a very good overview of DevOps itself as well – Check it out : DevOps for Drupal.
Hence the idea of DevOps is not just the technical tools but also the cultural and team models that encourage a more mature, solutions-centric and less bureaucratic approach to technical delivery, achieved through a “meta department” of DevOps that merges the others into one.
This can then be further accelerated through software tools, especially those that can automate much of the drudgery of moving the software around, setting up new servers, new test environments etc. Automation of this activity is what Cloud technologies are all about.
Enterprise 2.0 – Unified Cloud Collaboration
As the DevOps explanation highlights the core objective is to “increase the frequency of Release Events“, referring to how quickly software developers produce new code updates.
The key idea of Agile Cloud best practices is that these principles aren’t restricted to software or IT, any other teams and staff can also use these same techniques in their work. This is the general idea behind using some parts of social media software, they make this type of workflow easier.
You might think you don’t have “Release Events”, but think of all those client sales proposals, those event presentations, those business plan spreadsheets. Each one is a project work item that you evolve through iterations by collaborating with your colleagues internally and across other organizations.
The same type of workflow and collaboration tools that the software engineers use can be used by any one else the same way, as part of an enterprise strategy to adopt Cloud, social media and unified communications tools.