Site Overlay

Architecture Guide for Cloud Developers

This guide encompasses best practices and recommended architecture for building robust, high-quality apps in the Modern Cloud, starting with mapping out your tech stack to find the inertia holding your org and customers back.

Modern Cloud Architecture for Developers

In modern cloud architecture, capabilities are evolving and merging rapidly. So, mapping your tech stack and understanding what’s available in a modern cloud environment is vital. 

Talk with your teams about the components of the tech stack and see if there are more advanced modern cloud capabilities to take advantage of. Is there a managed service capability that can offload some of the burdens in our tech stack? Through Wardley mapping, you assess your users, their needs, and what to do to meet those needs. You can determine what you need if you go through your value chain of components and your tech stack. Can you leverage DynamoDB, step functions, or other modern cloud capabilities to meet those needs?

Two parts are interesting concerning the user of your application and the components. Number 1, you can spend a lot of time in your logging framework only to realise that it’s low in the stack and nobody cares. And secondly, you may have something custom and complicated that you spend a lot of time on. For example, if you are using a custom MySQL database that we installed, could there be a cloud-native equivalent that’s a more evolved version? And what could that capability evolve to? It is hard to see that from within a team.

Understand the whole value stream.

It is vital to involve business or product people who need help understanding the full value stream. Typically, you decide to invest in organisations at the UI or UX level. They may want to initiate a change but don’t understand the complexity level involved.  A map can be a vehicle for a conversation to get investment to replace a legacy part of the platform. With mapping, you can’t change everything there and then, but you can plot a path. It’s an excellent way to set goals, look for opportunities, and work towards them.  We like to do this early with squads to look for opportunities for the year ahead. What areas need investment for modernisation or to move up a level? It’s an excellent approach to have a joined-up and holistic conversation.

It keeps you grounded in the real needs of your users.  Modern cloud architecture makes you feel like a kid in a sweet shop if technically minded.  You want to explore and leverage all these capabilities, but the map keeps you focused.

The more maps you do, the more tricks you learn, for example, when you identify skills needed for a particular value stream and how much investment your organisation needs to build individuals with those skills. You can converse on the broader picture by looking at the whole value stream. If we move towards this commodity, can we invest in those skills and move faster? 

Find quality developer patterns.

As well as having that conversation as a team, you’re implicitly putting the concept of evolutionary architecture into everyone’s head.  In other words, it’s okay to keep changing. There isn’t a sunk cost fallacy where we hang on to something for years because we built it. What you also need from your tech stack is rapid delivery. You want your engineers to deliver features into production quickly. There are lots of ways to do that. One way is by using decent developer patterns like CDK patterns.

Composable building blocks are critical for rapid delivery. Speed is critical with modern cloud architecture and Product Leader and CEO needs. You need proven patterns to compose your solution from.

With the emergence of infrastructure as code, CDK, SAM, and other infrastructure code capabilities, you can bring expertise and patterns to your teams to rapidly stand up solutions. For example, you can deploy a single-page app pattern because it is a building block. Or an API gateway that connects to a new SQL database with step functions in the middle to do workflow. Pattern collections have exploded over the last couple of years. With the modern cloud, you should be able to find a well-proven pattern that you can leverage or customise to your needs. And you are rapidly delivering value.

Ensure quality in your pattern choice.

Use someone else’s boilerplate code and spend your time designing and discovering. Rapid delivery is a massive breakthrough. Sometimes people think rapid means poor quality! And if you build with those patterns, you need to build quality! You need to start by having a high standard of technical excellence to make sure those patterns have quality attributes in the first place.

If you don’t have quality baked in, it will fall apart quickly. You can only go fast if you have engineering excellence and do unit testing, integration testing, security scanning, logging and audit traceability as part of your automated pipeline.

Modern Cloud Architecture on The Serverless Edge
Photo by Jack Lusco on Unsplash.com

Building squads with continuous learning

When you are talking about modern cloud architecture, serverless, and leveraging managed services, many things shift left. The squad is responsible for assembling things to meet specific standards in the organisation. Building up squads is a considerable aspect. In previous conversations, we’ve talked about supporting teams by creating a psychologically safe environment to learn and set up for success. We are discussing opportunities to improve reliability or stability and doing it in an open way that feeds back into patterns, run books, and playbooks.

So, we become more robust and effective as a group or a collective. We are talking about well-architected and doing it more frequently using our SCORP process to let teams assess where they are. Are we happy with how things are, or what else could we be doing? What could we be doing better? That is important in modern cloud environments. When building squads, you start with the basics and set up your observability, which takes time, and you will go slow. But it’s incredible because after one or two months, you begin to see the philosophy creep in, and before you know it, you’re ten times what you were at the start, and you’ve got all the confidence in the world. The engineers are empowered, and they’re very creative. With continuous architecture, you’ve got everything you need to confidently pivot and deliver rapidly.

Invest in continuous education.

It’s an investment in continuous education. Things move fast.  New features and capabilities are emerging every day. The SCORP process, well-architected reviews, and awareness of what’s available are constant. As a developer, you must invest in continuous education and learning.

We’ve benefited massively from following the right people on Twitter and subscribing to YouTube channels to watch videos. It pays dividends. If you have mapped your tech stack, have situational awareness, and are leveraging the modern cloud properly, you can apply the features Cloud Providers announced today.  That is the differentiator for your team and for your business.

You can have a cloud stack with developers dealing with old stuff and monoliths. Or you can have a modern cloud stack, where you ask developers to go fast, build quality in, and support them with training, the SCORP process, and well-architected. You are investing in the team to help them create their best application. It all fits together. And guess what? You have happy developers! Nicole Forsgren describes it in her ‘Accelerate’ book: if you invest in your team to make them go fast and safely, employee engagement shoots up. It’s hard to explain because some people see it as money spent. But the business benefits at the other end.

Serverless Craic from The Serverless Edge
Check out our book The Value Flywheel Effect
Follow us on X @ServerlessEdge
Follow us on LinkedIn
Subscribe on YouTube and Spotify

5 thoughts on “Architecture Guide for Cloud Developers

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Translate »