A good foundation is indispensable for any project where safety and reliability are fundamental. This also applies for the type of projects we work on; without the use of building blocks in the traditional sense, but with digital building blocks.
From the outset, we at Sentia have worked according to the principle that 'we're in it for the long haul'. Because of this, we ensure the business-critical IT projects we carry out for our customers are stable, secure, sustainable and efficient. We do so with regard to use, performance and costs, hence our close relationship with Amazon Web Services. This has resulted in the AWS MSP (Managed Service Program) partnership because we both, in fact, strive for the same thing: a rock-solid architecture for our customers.
AWS has made that aspiration real through its Well Architected Framework and we use that framework for our customers. The advantages of the Well Architected Framework are explained below.
Well Architected Framework
For a simple application the architecture design is less complex or costly. This of course differs for a large SaaS solution, or an application with thousands, or even millions of users. In that case a solid, well-designed foundation, or a well-designed architecture, is crucial. Such a solid foundation has a major impact on the rest of the digital ecosystem. It plays a crucial role in an application’s user-friendliness, as well as speed and running costs.
The foundation that organizations lay by using the Well Architected Framework consists of five pillars:
- Operational Excellence: the possibility to implement and monitor systems so they add value, and to structurally improve processes and procedures.
- Security: the ability to secure information and systems while being able to estimate risks and potential improvements in the security strategy.
- Reliability: the ability to ensure that a system functions properly at all times and recovers in the event of failure, done in ways such as providing solutions to configuration errors and network problems, and scaling resources up or down during busy and quieter periods.
- Performance Efficiency: the ability to efficiently provide computing resources and be flexible in responding to changing demand for them.
- Cost optimization: the ability to minimize costs by guaranteeing proper analysis and optimal scalability.
In an ideal situation, each pillar gets the same importance in a project, to optimally meet all aspirations of the underlying business model. As we all know however, no situation is truly ideal. Additional considerations or priorities are simply a part of everyday reality. There are companies that choose, for example, to put application reliability at less than 100% for cost reasons. Instead, they initially roll-out an application in one region, with some added offsite backups, rather than doing an immediate, multi-regional roll-out.
An important consideration is, of course, how critical the workloads are. A government department, bank, or hospital is likely to opt for roll-out across multiple regions as the application in question must always be available. A small retailer however, won’t face a critical situation if a malfunction shuts them down for a short time.
Design rule 1: ensure a scalable environment
AWS has formulated a number of important design rules for building cloud applications. The first important rule is to not estimate the capacity you might need to run the application properly. Just make sure the cloud can auto-scale additional resources as demand increases. Once an application is up and running and you know what the base load is, then you can look at optimizing efficiency and costs.
Design rule 2: test and solve
‘To measure is to know’ - this applies in construction as much as it does in IT. Test your system on a production scale. That’s the only way to see how it responds to heavier workloads and to locate and prevent potential bottlenecks. Such a heavy simulation requires no more than 15 minutes of your time. What's more, it's very cost-efficient because in the cloud you pay for workloads per minute. With a limited investment you gain extremely valuable insights.
Design rule 3: automate
Let the tools do the work; apply as much automation as possible to build or expand the architecture. This makes it easier to monitor and respond faster to changing circumstances, as opposed to resorting to manual work.
Design rule 4: innovate!
There's a huge arsenal of tools at your disposal, and that's only getting bigger. Use those tools and experiment with them! Remain open to innovation and judge each part of the architecture on its own merits. By seeing each part as separate from the whole and treating it - just as in traditional architecture - as separate building blocks, it’s easier to substitute modern alternatives that are more efficient, faster or cheaper.
A house is not designed in one afternoon. Neither is an application. Take your time. Analyze, test and use the data to select the best model for a particular situation. You will find that having started with a good foundation, you’ve built a structure 'for the long haul'.
Curious about the best possible way to design your AWS foundation to accelerate innovation and development?