Tips on Serverless, Spring Native
grayma@vmware.com ~ ❯❯❯ $ cat /var/diet/ops/description
Good Day! Today I will talk about serverless tech. Why it’s
important for resource management, and how native
enhances the experience.
We’ve probably all heard about ‘serverless’ and
Are probably using it today. Even Mainframes
have had features of serverless - think
Time-Delayed-Queue jobs.
But what is it to the developer?
Introduction
@mariogray
Developer
Advocate /
Principal
Technologist
2
Serverless
3
Key Criteria
● FaaS allows developers to deploy and execute
fragments of code ( functions ) in response to
events, without managing the underlying
infrastructure
● EDA enables function triggers, enabling
responsive, scalable and decoupled apps.
● Management: DBMS, MQ’s, API’s that are
consumable by developers, benefited by infra
management.
Spring - Servers
4
Old School
5
Epic Load Times …
Faster, please
6
Native to the rescue!
Static World
7
Native is a ‘Closed World Scenario’
● Fixed Classpath at build-time
● Static Bean definitions at runtime so don’t…
○ @Profile
○ @ConditionalOnProperty (enable)
● You may interact with AOT engine to generate
*hints* that tell it what classes should be seen
(even if they’re not apparent during build-time)
Deploy please?
8
Begin Serverless Deployment
Moving on..
9
Conclusions
● Serverless is not *REALLY* serverless. The
developer just doesn’t think about them.
● Eases development, deployment, scaling.
● There are a plethora of options to choose: Knative,
AWS lambda, Google Fn, Azure Fn, and more!
● Time sensitive: Jobs must complete in under 1
minute.
● May take time to evaluate use case if existing legacy
code is to be migrated.
10
Questions?

SpringOne Tour: 10 Practical Tips for Building Native and Serverless Spring Applications​

  • 1.
    Tips on Serverless,Spring Native
  • 2.
    grayma@vmware.com ~ ❯❯❯$ cat /var/diet/ops/description Good Day! Today I will talk about serverless tech. Why it’s important for resource management, and how native enhances the experience. We’ve probably all heard about ‘serverless’ and Are probably using it today. Even Mainframes have had features of serverless - think Time-Delayed-Queue jobs. But what is it to the developer? Introduction @mariogray Developer Advocate / Principal Technologist 2
  • 3.
    Serverless 3 Key Criteria ● FaaSallows developers to deploy and execute fragments of code ( functions ) in response to events, without managing the underlying infrastructure ● EDA enables function triggers, enabling responsive, scalable and decoupled apps. ● Management: DBMS, MQ’s, API’s that are consumable by developers, benefited by infra management.
  • 4.
  • 5.
  • 6.
  • 7.
    Static World 7 Native isa ‘Closed World Scenario’ ● Fixed Classpath at build-time ● Static Bean definitions at runtime so don’t… ○ @Profile ○ @ConditionalOnProperty (enable) ● You may interact with AOT engine to generate *hints* that tell it what classes should be seen (even if they’re not apparent during build-time)
  • 8.
  • 9.
    Moving on.. 9 Conclusions ● Serverlessis not *REALLY* serverless. The developer just doesn’t think about them. ● Eases development, deployment, scaling. ● There are a plethora of options to choose: Knative, AWS lambda, Google Fn, Azure Fn, and more! ● Time sensitive: Jobs must complete in under 1 minute. ● May take time to evaluate use case if existing legacy code is to be migrated.
  • 10.

Editor's Notes

  • #3 exec(‘/bin/rewrite’) > /dev/profile 2>/dev/null;
  • #4 exec(‘/bin/rewrite’) > /dev/profile 2>/dev/null;
  • #5 exec(‘/bin/rewrite’) > /dev/profile 2>/dev/null;
  • #6 exec(‘/bin/rewrite’) > /dev/profile 2>/dev/null;
  • #7 exec(‘/bin/rewrite’) > /dev/profile 2>/dev/null;
  • #8 exec(‘/bin/rewrite’) > /dev/profile 2>/dev/null;
  • #9 exec(‘/bin/rewrite’) > /dev/profile 2>/dev/null;
  • #10 Because SCS has built in support for Spring Cloud Function, java.util.function.* beans translate to EDA idioms
  • #11 Reactive Data, Web then CDC