FaaS allows us to take the decomposition of applications that began with microservices to its ultimate conclusion - functions.

Knowing that there is a difference between Serverless and Function as a Service is important to debunking our next myth.

Myth: Refactoring required

Because of the conflation of FaaS and Serverless, many in the market are under the mistaken impression that in order to take advantage of Serverless you will have to refactor your application into its composite functions.

Serverless does not require you to refactor your application, or design new apps at a functional level. Serverless can just as easily execute a 'container' with any kind of application, process, daemon, or function. As long as it's packaged into a 'container' and can be invoked, it can execute in a Serverless context.

I've also seen successful implementations that take advantage of Serverless to extend (modernize) existing application architectures. Batch-style and out-of-band processing of registrations, order fulfillment, and other non-critical-path processes may be implemented in a Serverless model without completely refactoring traditional applications. Applications which already take advantage of external, API-based integration for such purposes will find Serverless an easier fit. Established client-server based applications will almost certainly require some modification to take advantage of Serverless, but it is not the extensive undertaking a complete refactor would require.

Processes that execute only occasionally - based on specific events that happen sporadically or unpredictably - can also be a good fit for Serverless. It's far more cost-efficient to fire up a 'container' on a periodic basis to execute something than it is to keep that 'container' running all the time. That's true for both public and on-premises Serverless.

Which brings us to the third of our myths, which focuses on location.

Myth: Serverless Doesn't Live On-premises

I've heard both IT folk from far and wide as well as pundits make this claim. It is as patently false as the notion that you couldn't run 'cloud' on-premises. You most certainly can and according to Developer Economics State of the Developer Nation, a healthy percentage of organizations are.

Larger, more heavily used applications can also benefit from very efficient scaling, only needing to pay for extra resources for the specific parts of the application under heavy load, and also more easily able to identify and optimise those. This advantage for larger applications is probably a major reason we see 17% of current serverless computing adopters running a solution in their own data centre.

Cost efficiency gains in an on-premises serverless implementation go beyond scalability. The ability to reuse the same resources and share them across applications for which there is sporadic use is not insignificant. Serverless also adds the ability to bolt on value-add capabilities to applications and operational functions by taking advantage of its core, event-driven nature. Its use on-premises should not be dismissed lightly without understanding that serverless benefits go well-beyond eliminating operational friction from developers' daily lives. That's certainly a boon, but it isn't the only benefit and certainly isn't the only reason organizations are experimenting with Serverless on-premises.

Attachments

  • Original document
  • Permalink

Disclaimer

F5 Networks Inc. published this content on 03 January 2019 and is solely responsible for the information contained herein. Distributed by Public, unedited and unaltered, on 03 January 2019 15:03:02 UTC