Customer-facing, content-driven applications can be time-consuming, complex, and costly to run and scale. Technology leaders are always looking for ways to address the challenges without compromising product quality. Serverless architecture is gaining prominence as a strategy for addressing the intricacies of modern application development. Coupled with a headless content platform, this strategy allows a product-like approach to content development. The result is quick deployment and scaling at an attractive cost.
Our recent roundtable with members of our CIO community, hosted by Mark Ardito, considered how enterprises can approach serverless architecture. Mark was joined by Paolo Negri, Co-founder & CTO of Contentful, and Heeki Park, Principal SA, Serverless at AWS. The group’s discussion offered useful insights for companies across all industry sectors. Here are key takeaways.
6 key takeaways to maximize the benefits of serverless architecture
Think in terms of “crawl, walk, run.”
Any time a game-changing technology is being implemented, the best approach is iterative in nature. Serverless architecture is no different. Start slow and small, demonstrate success quickly and holistically.
Make sure every role on the team sees success and that customers have a good experience. Over time, your architects, your developers, even your operators gain expertise and are ready to push the envelope and do a bit more. As skills mature and a number of serverless components are in play, the next step might be to stitch those components together in a loosely coupled way. Continuing along this path will lead to successful implementation of serverless architecture.
Ensure meaningful executive sponsorship.
Executive leadership, including but not limited to the technology leaders, needs to understand the business benefits of a serverless initiative and fully (and publicly) support it. In addition to setting the direction for the rest of the organization, executive sponsorship also ensures that the right level of investment is made to support success.
A notable example discussed during the roundtable, is CapitalOne, whose CEO announced in May 2021 that the enterprise would be serverless first going forward.
Enable the organization.
The tech organization needs to be ready to take on serverless architecture before any initiatives launch. This means “de-siloing” functions so that the team is fully integrated.
When you think about organizational construct, you may have an architecture team, a development team, a security team, and an operations team working together. It's likely that they're all siloed and separate, which is going to make development difficult.
What you want to do is have security integrated throughout the organization through tooling and guardrails, while a security team will be available to provide guidance.
Foster a close partnership between application development and operations.
Going serverless can blur the boundaries of ownership that functions are accustomed to. Code is certainly front and center, but at the same time it is an artifact that needs to be deployed. In cases where the ops team and the dev teams are worlds apart, there may be a lot of butting heads over how to get deployments to work successfully in the organization. If the two teams are not already well-coupled, take whatever steps are needed to establish a partnership that will be an enabler of success rather than an obstacle.
Don’t change what doesn’t need to be changed.
Preparing for serverless depends greatly on where the organization is in general. For a team that has been working in the cloud and using containers for development, the step to serverless may be a small one and needed changes may be few. Teams that are not yet working in the cloud may need to take bigger steps. Also, while tools like static code analysis, security scanning, and dependency analysis need to be built, deployment pipeline shouldn’t need to change much.
Start with obvious use cases.
There will be areas of the enterprise where serverless approach is well suited, low risk, and an easy win that will help increase buy in. One example cited in the discussion was UX. When you've got a monolithic on-prem system, significant performance improvement is an excellent goal. Take a slice of that functionality and use the strangler pattern to proceed to serverless and create a low risk, low cost foundation for a team to progress from there.
Another example was serverless at the edge, which, in the words of one participant, can be “mind blowing.” If you have an asset that is already distributed on, say, a CDN, and you want to do some last-mile computation, you can configure a function to run at the edge.
Suddenly you have worldwide distributed deployment, and all the work that you did was simply to define the function and somehow configure it to hook it up to the right cloud distribution.This can be a powerful demonstration of the benefits of a serverless approach. Other obvious use cases include IT automation, web application APIs, data processing workloads, and machine learning capabilities.
Customer experience is key from the business perspective, and this includes employee experience and the quest to get things done faster. As one of the technologies that is fast becoming an imperative for technology leaders, serverless architecture can be a competitive game-changer for enterprises, turbo charging innovation and speeding delivery of products to customers.