Last week Marek Sadowski and I presented Introduction to Serverless with IBM Cloud Functions: a new way to build modern apps at Silicon Valley JUG.
One of the questions from the audience was how do you take an existing large enterprise Java application and migrate it to serverless architecture?
The short answer is you probably shouldn’t do it.
But let’s look at the long answer.
Unless there is a very good reason, there is little value in taking a large existing enterprise Java application and migrating it to serverless architecture. I think serverless should be considered for new applications in most cases. Now, if you need to add a small new feature to an existing application, you could look at serverless.
For example, if you are running a large loyalty application (airlines, hotels, etc) and you have a new requirement where you need to process new members once a day. Once a file is received/uploaded, a function can be executed to process the new members.
Or, you can migrate small bits from an existing application like a cron job or a queue process. But again, there is probably little value in doing a complete re-write.