Serverless App Strategies for Enterprise Architects
Friday, March 22, 2019
Posted by: Kaylin Berg
Sumit Sarkar, Chief Data Evangelist, Progress Kinvey
There’s a new approach to app development that gives developers new freedom to focus on frontend functionality and deliver better, more innovative user experiences.
At the Enterprise Architecture Strategies conference in Chicago hosted by CAMP IT, I had the pleasure to present on how serverless architectures enable high productivity application development for enterprises. The audience was comprised of mostly enterprise architects from Fortune 500 companies, which provided some great insights for me in exchange.
Abstract: What Serverless Means to Enterprise Apps
There’s a new approach to app development ripe with misconceptions and more buzzwords to translate to business sponsors. Industry analysts call it serverless, but it’s also known as backend as a service (BaaS), function as a service (FaaS), cloud-native architectures or microservices—just to name a few. Whatever you call it, this approach is giving developers new freedom to focus on frontend functionality and deliver better, more innovative user experiences and ultimately establish value faster. Let’s discuss the pros and cons of serverless in enterprise architectures.
During the presentation, I ran a live poll asking the audience what slows app delivery in their enterprises and below are the results.
There was a theme around talent being a constraint from 28% of the responses. And overall, 50% of these can be addressed with a high productivity, serverless platform.
In contrast, we asked the same question to 5,500+ app professionals in a Progress-sponsored survey and got very different answers. However, despite that, the theme of talent surfaced again with 12% citing a need for more of it.
Next, I asked how many web or mobile apps will your business need to deliver over the next 12 months?
The majority of these enterprises expect to deliver 2-4 apps over the next 12 months, but 35% plan to deliver 5+ apps. This is consistent with the problem my team has observed in our research, which is that application development is becoming increasingly complex for established enterprises while internal demand is outpacing existing capabilities—a critical business problem.
How Serverless Accelerates Modern App Capabilities
Serverless is not a magic bullet, but it is an architecture pattern that shifts value creation from delivering infrastructure to delivering innovation. Enterprise architects have shared with me that a lot of their job is spent explaining buzzwords to various stakeholders. So, what does “serverless” actually mean in the context of enterprise app development?
Serverless refers to any cloud-native service for implementing application logic that allows the developer to focus on the app and not think about servers.
Let’s unpack this a little:
- Could-native means that it’s not client-side and not installed anywhere, and that it’s provisioned on-demand with automatic scaling. Developers should never have to actively worry about infrastructure concerns or scaling.
- Application logic refers to any tasks that need to be offloaded from the client to a server, like accessing data, responding to events or messaging.
- The most critical part is last—serverless allows you to focus entirely on the app itself and what will make it a success, so you don’t have to worry about the technical details of the servers powering it.
As you can see, there are a lot of advantages to a serverless approach to app development.
How Does Serverless Increase Enterprise Agility?
Serverless functionality allows you to focus your application development processes on the value and experience of your app. What do you provide that’s different? How will the user experience it? Begin with these essential building blocks and don’t worry about resource or scaling needs.
Once the user experience is designed, you can then begin to offload app functions one at a time. To use serverless effectively, you need to get into a serverless mindset, and think small and modular. What are your individual functions, and how can they be implemented across a range of tasks that you require?
In addition to freeing you to focus on your key differentiators when developing your app, a significant advantage of this approach is that it enables high productivity. There’s no provisioning or waiting on IT or DevOps for resources. Because functions are broken down at a small level, it is easier to make frequent and low-risk iterations as you improve and upgrade your app. As a result, it lends itself very well to modern agile or lean methodologies.
How Does Serverless Work?
There are four major components that comprise a serverless architecture:
- Cloud Functions, or Functions-as-a-Service (FaaS): Each function is singular and atomic and scales independently, based on the needs of the business logic.
- Microservices: These are very small, lightweight single-purpose services (but a little larger than a single function)
- Cloud Services: Cloud services refers to any service in the cloud that lets developers do something without thinking about servers
- Events: This is the logic that responds to various events, such as creating or deleting entities, or in response to client-side events (such as geofencing)
Focus on What’s Important
When it comes down to it, the most powerful effect a serverless architecture will have on your development processes is that it enables you to focus on what’s most important about your app experiences. By focusing on the value your app provides and the user experience, knowing that your infrastructure needs are taken care of, you will be more productive and able to produce differentiated apps at the speed of your business.
To learn more about what this means, you can watch this on-demand webinar on What Serverless Means for Enterprise Apps.
A Serverless Platform
When reviewing app determination methodologies, complex enterprise app requests from digital business initiatives will require modern, serverless platforms. Progress Kinvey is the leading high productivity serverless platform for building enterprise applications. With Kinvey, enterprise architects deliver best practices for app development that reduce risk while increasing agility. While architects and developers may not always agree, this architecture is second most loved platform by developers according to the 2018 stackoverflow survey. It’s easy to move quickly with minimal coding, all without losing developer control when it is needed.
Please contact us if you’re interested in a whiteboard session with your team on how established enterprises are transforming their capabilities to deliver modern app experiences faster.
This post originally appeared on the Progress Kinvey blog, here.