Build your Azure app: Six design principles to follow for success
2 min readNov 24, 2022
If you need to create applications that are enterprise-ready, optimized for mobile, and built to be used on any platform or device, consider Microsoft Azure. Cloud-based for reliability and availability, Azure makes it easy to work with .NET, .NET Core, Node.js, Java, Python, or PHP in containers, and run on either Windows or Linux.
Designing an app that is scalable, resilient, and manageable is made easier by starting with Azure, but your design strategy shouldn’t end there. Here are our top six principles for Azure app design that will help you get the most bang for your development buck.
- Design with failure in mind. As we all know, failures happen despite our best efforts. Design your Azure app to self-correct in the face of failure and build in redundancy to help sidestep the risks of operating with a single point of failure.
- Support business needs. Make sure that every feature and function is justified by a concrete business requirement and bring operations into the design process to ensure that when all is said and done, they have the tools they need to do their job.
- Choose the right data store. Large relational SQL databases can be expensive and affect performance. Consider alternatives that might be a better fit for your data and use case(s), like key/value stores, document databases, search engine databases, time series databases, column family databases, or graph databases.
- Use PaaS — not IaaS. Overall, PaaS is simpler to configure and administer than IaaS, with no dependence on virtual machines or networks, and no required maintenance. And thinking of building and operating your own identity service? Save yourself time and effort: Use an identity as a service (IDaaS) platform instead.
- Utilize partitioning for large or growing systems. Work around the limits of Azure services (number of cores, database size, query throughput, and network throughput) to keep your system ready to scale.
- Build for the future. When working with web front ends, databases, business processes, reporting and analysis, and other application services, make sure each one runs on multiple instances to maintain scalability and reliability. Keep your app flexible by designing it to scale horizontally to adapt as demand increases, and to evolve to support future innovation.