Checklist: Validate DevOps Architecture – Part 1: Understand business needs
An organization moving to the cloud truly understands the cloud’s benefits only when setting up good DevOps methodologies and cloud automation to meets its needs. The process is replete with tool choices at every stage and the overall goal is to understand and meet the organization’s needs.
From our experience in setting up DevOps infrastructure multiple times the business needs of your organization can be summed up as below:
Business Continuity And Disaster Recovery
Disasters are inevitable and it is necessary for an organization to be prepared to handle them. The Disaster Recovery method depends
On the size of the organization and what’s at stake.
Cost of a downtime
Cost to prevent downtime
It should be noted that there are diminishing returns on implementing good disaster recovery and availability. In the same vein, the cost of an outage increases super-linearly with the duration. So even if your organization is small, there is a huge incentive for picking the low-hanging fruit and having a rudimentary disaster recovery plan in place.
Meeting Customer Demands
The goal of any service is to meet varying customer demands. Questions to consider for the varying demands:
Would there be surges in demand?
To what level does our system scale?
No system can scale indefinitely. An investment in the architecture from the ground up is required to attain higher levels of scaling. These solutions are inevitably more expensive if not used to their full capabilities.
It is critical to protect business IP and customer data not only for a competitive advantage and for customer privacy purposes but also for the legal requirements on various kinds of data. The role of a DevOps architecture is to ensure the required security constraints are not compromised in the transition to a DevOps workflow which means that there are strict access rules for resources’ access. For instance, entities have access to a certain resource which does not mean a new entity when added will be granted the same access.
Reducing Time To Market
An organization needs to run like a well-oiled machine. This encompasses using the right tools that enable rapid turnaround on the application development, setting up a good dev workflow, improve software QA, and improving operations turnaround time.
Minimizing cost in terms of machines or manpower is always a significant need. The cloud forces rethinking on operational vs capital costs and how to handle the cost variability during budgeting.
Several other sub-points could be added to the above list including latency, quality of service, bug rate. However, these are just different aspects of the above points and not orthogonal ideas as such. Understanding these business needs is necessary to have your DevOps strategy make a meaningful impact on your organization.
Next Monday we will discuss how these goals translate into questions you can use to validate your DevOps architecture.
Update: Read part 2 of the series here to understand the checklist of questions that would help understand better about DevOps architecture and how to validate an architecture based on business needs.