The essentials of serverless thinking
The ability to operate at a granular level in serverless can be challenging to under‐ stand if you have been working with containerized or monolithic applications. Here are some essential areas to focus on to equip your mind to think about the new ways of working with serverless:
- Developing knowledge of the serverless technology ecosystem and its parts
- Gaining a practical understanding of the characteristics of serverless
- Determining how to map the benefits of serverless to your business requirements
- Recognizing that observability principles are as important as business logic
- Creating cost awareness while architecting and building your serverless applica‐ tion
- Trusting AWS as your cloud provider and using managed services
- Alongside the serverless-specific areas, your experience with Agile development prac‐ tices, microservices, and DevOps principles will be highly beneficial. You will see all these points discussed throughout this book.
Habits to offboard from a legacy mindset
As well onboarding the essentials mentioned in the previous section, removing some of the traditional thoughts and habits you might have been clinging to for years is equally important. Here are some tips:
- Move away from the legacy siloed development rituals followed in waterfall models. For example, lengthy testing phases by dedicated QA teams or infrequent production deployment by designated teams won’t suit an agile team iteratively building serverless solutions.
- Disperse “superstar” teams and encourage equal participation and delegation. The idea is to equip and develop all engineers to share the responsibility.
- As there are no servers to manage, accept that you don’t need to SSH into virtual machines to troubleshoot.
- The roles and responsibilities of team members need not be fixed and per‐ manent. As serverless favors multiskilled engineers (see “Multiskilled, Diverse Engineering Teams” on page 20), you may not find a dedicated database adminis‐ trator, infrastructure, or network engineer in every serverless team.
- The flow of architecture and design proposals is not one-way between archi‐ tects and engineering teams. With the cloud and serverless, it’s a collaboration between architects, tech leads, and engineers.
These are just a few of the changes you will commonly notice in serverless teams, but remember, these practices vary between organizations and teams.
Technology alone cannot be the sole contributor to your success. Without the right people (engineering, product, and business stakeholder teams) and the necessary processes (analysis, design principles, best practices, etc.), serverless adoption is notguaranteed to yield the expected long-term success. The following section takes you through what you need to realize this goal and explains how all three of these elements are vital for successful serverless adoption.