Looking for Senior AWS Serverless Architects & Engineers?
Let's TalkThis article is part of a series:
- Part One — review your existing application
- Part Two — break apart your application
- Part Three — lift-and-shift
- Part Four — choose a deployment framework
- Part Five — build a strong foundation
In this series, we take a look at what areas you need to think about when making a “serverless migration”. First, we will touch on what you should review about your existing application, move into breaking your application apart, talk about lift-and-shift, choose a cloud provider, choose a deployment framework, and how to build a strong foundation.
In this article, we are going to talk about building a strong foundation. A strong foundation is key to a successful serverless migration and long term success.
A strong foundation
When we think about building serverless applications to some degree we need to let go of some of the traditional ways that we’ve done things in the past. Serverless allows us to build complex systems by linking together a set of lego type fully managed services.
Our overhead is reduced, but we still need to understand the core limitations of the legos themselves.
Identify your teams comfort level with serverless
What we’ve done for clients at Serverless Guru when helping enterprise clients with a serverless migration for 30+ developers is to identify the overall skill level of the development team.
Specifically, we want to understand the comfort level of the development team who will be tackling the serverless migration and moving things over or building new services on top of serverless services.
If the development team is not already comfortable then the first thing we will do is start with the basics. The goal is to get everyone who will be working with serverless to understand how the various tools and common services work together.
At this stage it’s not about understanding everything as we’ve found that to a large degree, this is ineffective. It’s ineffective because your brain can only consume so much and without direct context for how it’s relevant, you will quickly see developers eyes glaze over.
Migrate something first to build context for training
Instead we want to start from a pre-existing service. We want to select one that is relatively small in size, then begin building a replica of the service inside of our new system. At Serverless Guru, we will create a pattern out of that service and then use it as a training tool to help the developers understand within their specific context.
This approach also gives us the ability to demonstrate our own opinionated way of building serverless applications as well as talking over best practices, common pitfalls, and most importantly keeping developers engaged.
Narrowly focused training and pattern development
Once the developers understand to some degree how their existing services will transition to this new way of doing things, we move into more narrowly focused training and pattern development.
We’ve found this works best because we don’t try to anticipate what the client needs. We let the client tell us what they need then build something tailored to them.
This increases overall retention on the behalf of the developers and keeps engagement high when doing a training session.
Ongoing support and pattern development
As we hand over the reigns slowly to the development team, we don’t jump and run. At Serverless Guru, we will continue working shoulder to shoulder with the development team and help them on an individual basis, constantly updating patterns, best practices, and refining the migration strategy on the fly as new information is surfaced.
During this process, we often find that new patterns are required to help an individual developer. However, this is where the real benefit of working with a serverless consulting company like Serverless Guru comes in.
We don’t purely help the individual developer solve their problem. No, that’s not big enough.
We will help the individual developer by creating a pattern which is shareable, a video overview on how it works, and then we will share that out to the entire team.
As others on the development team undoubtedly run into the same issues, we are quickly able to reference existing patterns, videos, documentation, code repositories for the clients own services, and provide multiple layers of reusable material. This rapidly speeds up development and wasted time spent trying to resolve a solved problem.
At this stage, Serverless Guru is helping provide guardrails to the development team and keep the ball moving forward.
Helping guide the ship beyond the serverless migration
Once we start seeing the development team ramping up in their understanding and expertise. We start steering the ship a bit more regarding how the executives and client leadership think about new initiatives.
Now that we, Serverless Guru, have proven ourselves to be trustworthy members of the clients team, not just another pair of hands.
We get to provide guidance on what direction to choose when approaching a “fork in the road”. This is where things shift from being a serverless migration partner to a long term technology partner and that’s personally what I love about consulting the most.
It’s about making an impact
At Serverless Guru, we love to help clients understand new concepts and make smart choices upstream to save exponential downstream expenses.
We love helping developers pick up new skills and feel empowered and we love seeing the look in people’s eyes when they go from student to teacher.
This is how you build a solid foundation.
Additional thoughts
Whether you work directly with Serverless Guru or not. You want to make sure that you follow a similar process and make sure you have the right people leading the initiative. People that will see the forest through the trees and help chop a path through it.
If you don’t work with Serverless Guru, make sure to give your development team much more timeline to figure things out, make mistakes, not implement best practices the first time, and slowly discover how to do things in the most optimal way.
Honestly, a serverless migration can be a lot of work, but for the clients we’ve worked with at Serverless Guru. We’ve been blown away by the downstream benefits they realize, such as:
- Faster development cycles
- Higher quality products
- Developer empowerment
- Stronger team collaboration
- A culture of innovation and risk taking
- Less infrastructure and operational overhead
Each one of these, above, increase the quality of the product, the happiness of your team, and ultimately lead to exponential downstream benefits for years to come.
The “developer empowerment” is a real one for a lot of us in the serverless community. Serverless gives us the power to do things we never had the ability to do before because of the overhead required and how precious and limited our time is. Now the barrier of entry is lower and more people than ever before can pick up serverless development and build world class applications. That’s a future to be proud of and something to help build.
If you’re thinking about starting to do some serverless development. Just Do It ✔️. The future of serverless development is bright and serverless is taking over the software development industry by storm. The skills you learn while becoming a “serverless developer” are also highly in demand!
If you don’t know where to start to learn about building serverless applications, check out our FREE 90+ lesson course, Serverless: Zero to paid professional on training.serverlessguru.com 🍻
And if you enjoyed this article and found it insightful in any way. Drop us some 👏 and if you want to find out more about Serverless Guru give us a follow on Twitter or send us a message directly.