Serverless Craic Ep18 Modern Cloud Architecture for Developers
Manage episode 323615681 series 3304957
We're continuing our conversation on Modern Cloud. There are a couple of previous episodes: an overview of the CEO's perspective and an overview of Product's perspective.
I figured we would look at the Developer perspective today. Sometimes when you meet with developers, you don't know what's working or not. By mapping out the tech stack, it's easy to spot things that are in the wrong place. In the modern cloud, capabilities are evolving and merging rapidly. So mapping out your tech stack and understanding what's available in a modern cloud environment is very valuable.
You can have a conversation with your teams on 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 burden in our tech stack? Can you leverage DynamoDB, step functions or some other evolved modern cloud capability to meet those needs?
It's a cracking exercise to involve business or product people who don't understand the full value stream. Typically in organisations, investment is done at the UI or UX level. Perhaps they want to make a change but don't really understand the level of complexity that's 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 a good way to set goals, look for opportunities and work towards those goals.
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. You want your engineers to deliver features into production quickly. There's 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. You need proved 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 a single page app pattern is a building block that can be deployed. Or an API gateway that connects to a new SQL database with step functions in the middle to do workflow.
With modern cloud, you should be able to find a well proven pattern that you can leverage or customize to your needs. If you're going to build with those patterns, then you need to build quality in! You actually need to start by having a high standard of technical excellence to make sure those patterns have quality attributes, in the first place.
Building up squads is a huge aspect. You start off with the basics and get your observability set up which takes time, and you will go slow. But it's amazing, 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.
If you have mapped your tech stack, have situational awareness and if you are leveraging modern cloud properly, you can apply the features that are being announced today. That is the differentiator for your team and for your business. You have happy developers! Nicole Forsgren describes it
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
60 episodes