Exploring common goals – Engaging with Real-World Customers

Microsoft Azure advises following what is known as the Well-Architected Framework, which covers the five key pillars that need to be considered when designing solutions.

Following these areas is a great way to ensure that your design has captured the main points and provide a starting point for your requirements gathering. As a refresher, the five pillars are the following:

  • Costs
  • Operations
  • Performance
  • Reliability
  • Security

The questions you ask can and should be grouped into each of these areas, and we will look at some example questions for each area along with why they are important. We shall start with costs.

Understanding costs

We need to know how much a solution will cost to build, as well as how much it will cost to run. New solutions are often built as part of a project, and that project will have a defined number of resources in terms of people and technology. Once completed, a solution will have running costs, especially in the cloud where services are paid for by usage.

To be successful, we therefore need to understand what those costs are. If you spend more than has been allocated to the project, then you will be unable to finish. Likewise, if the running costs are more than has been budgeted for, then the business will not want to use it.

In many ways, the questions we need to ask are quite straightforward:

  • How much budget and resources are available?
  • What are the maximum or target running costs?

If a solution is designed to make money for the business, such as an e-commerce site or end user tool, then the running costs need to be less than the revenue being earned. One of the core features of the cloud is that you can easily start small and scale up. Therefore, the answers to these questions may need to accommodate increasing costs as the solution is utilized more so that the running costs always stay within the revenue.

Costs can also come from the next pillar: operations.

Understanding operational requirements

Operational requirements can cover many areas, from deployment to monitoring.

Sometimes a solution is built and then left unchanged. Modern development principles and operational methodologies dictate a continual release cycle as new features are continually added.

We must also constantly monitor the application for performance and reliability. This might require new tooling to be created as part of the solution or we may integrate existing processes and systems.

Operational excellence is therefore about ensuring that our solution is stable and performing well, taking into consideration multiple releases and updates as well as varying or even unpredictable usage patterns.

Of course, every solution will differ and as operations are closely related to costs, it is important we understand the requirements.

We therefore need to ask questions such as the following:

  • What monitoring and management tools do you need to integrate?
  • Who needs to be alerted to problems and how?
  • What is your release cycle? Do you deploy to development and test systems first?
  • Who signs off new releases?

As well as being aligned with costs, operations are also closely aligned with reliability and performance.

Leave a Reply

Your email address will not be published. Required fields are marked *