6. Experts in Modern Development
• Cloud
• Microservices and Containers
• Java, JavaScript/Node.js, PHP, Python
• DevOps
• Continuous Delivery
• Open Source Technologies
• SQL/NoSQL Databases
• Machine Learning, AI, Chatbots
For information about nominating a Developer Champion, email Jennifer Nicholson at Jennifer.Nicholson@oracle.com
Follow us on Twitter
Learn more at https://developer.oracle.com/
@dev_champions
8. What is the context of what we are going to
talk? The way we build applications.
06
1. .NET, J2EE, PHP, etc
2. Weblogic, Websphere, JBOSS, IIS, etc
3. Web Services
4. SOA
5. Service Bus
6. Microservices
7. Functions
8. Containers
9. APIs
10. Cloud development
But...what has happened? Gartner property.
9. Some ideas of what has happened…
07
1. Something simple, the world has changed. It is a reallity, it
has changed … and a lot.
2. 3rd generation Technology has taken control.
3. Open Source and companies like Amazon, Google, etc, have
changed the way we perceived application development and
deployment.
4. Digital Transformation has pushed the companies to
innovate and move faster than ever.
10. Presence. Continuous Service. Top Line
Revenue. Innovation.
07
1. Public companies like Spotify, Linkedin, Netflix, Twitter, Instagram,
UBER has innovated to make their plataforms and aplications
100% available and with a constant pace of change.
2. Companies are looking to create and mantain a top line revenue,
but at the same time keep their core estable.
3. The vision to turn into a BI-Modal approach, it is more present tan
ever
4. Innovation is no longer a desire or a separate agenda, it is a
reality and a need
11. Business Agility
07
1. If IT department turns into an agile one, that will allows it to respond
to the business much more properly
2. But if on a daily basis, we continue wearing our fireman suit, we will
never achieve that agility
3. It sounds hard, but we cannot let technology to by pass us
4. Cloud computing, virtualization, containerization, APIs, Serverless,
etc. have allowed organizations to be more agile on provisioning
Development environment and infrastructure in general, as well as
the applications itselves .
12. Let’s take one step back. What’s
happening nowadays with our apps?
11
1. It highly probable that we have monoliths to support our operation
2. Those apps are like our small babies, they receive a lot of attention:
monitoring, infrastructure, etc.
3. Changes are very slow.
4. Abrupt growth with not too much sense; we just think on “we cannot
let this thing goes down”.
5. A lot of layers. Knowledge around them: OS, Database, Weblogic, Network,
Protocolos, etc.
6. We depend on having or searching for professionals that knows and
master the programming language with which our app was built, it is
difficult to use professionals for another programming language.
.
13. As an organization, what type of concerns do
we have?
17
1. Of any type.
2. We must simplify our concerns. Por
instance:
A. Sizing.
B. Compute resources usage.
C. Licensing and subscriptions.
D. Maintainance and operations.
E. Infrastructure.
F. Projects.
G. Are we paying the infrastructure that
we really need? www.alamy.com
14. OK. Good… but what’s Serverless
Computing?
18
1. It is a way to define a compute model where our focus is on the
Development of small pieces of software (called functions) and not
in the complexity of the underneath infrastructure
2. Provisioning, scaling will not be part of our concerns, though
that sounds awkward. That willl be in charge of the owner of the
Serverless Computing Platform
3. Our software pieces will be for built for an specific function. That is
why the definition.
15. Functions.
19
In the meantime, let’s focus on this:
1. Functions: code with a very defined purpouse. It has an input, will
process and ultimately respond back to the caller.
2. Autonomous.
3. Sometimes are built for a single purpose.
4. Based on events and sometimes ephimerals.
16. But, again, what are their benefits?
20
• OK we’ve tried to explain them, but what is their main objective?
• What is the relationship of this with the new wave development initiatives
and platforms?
• How can I receive its benefits?
Let’s see---
17. A common model.
21
• Traditional model. Logic at the
sever side: browsing, transactions,
authentications, etc.
• The client has not too much logic
at its side. The client just make
calls to the server.
• All componentes are developed
with the same programming
language, and are deployed on top
of the same app server.
https://martinfowler.com/articles/serverless.html
18. A new model…
22
• In this case we break down some
functionalities. For instance:
authentication.
• The core logic is being divided in
small functions.
• The introduce of an API Gateway
could be an option.
https://martinfowler.com/articles/serverless.html
19. A possible scenario
23
Let’s imagine we include a popular
product into our online store. This will
cause an increase on:
1. Catalog inquiry
2. Product inquiry
3. Checkout process
4. Fulfillment
What would happen in the
common model?
How is our app going to scale,
based on this increase?
https://martinfowler.com/articles/serverless.html
20. What would happen in the new model?
24
Let’s think in the same scenario of our
previous slide. It will increase the traffic in
the following elements:
1. Catalog inquiry
2. Product inquiry
3. Checkout process
4. Fulfillment
What would happen in the new
model?
https://martinfowler.com/articles/serverless.html
21. Serverless
26
We can say that FaaS is related with executing code of back-
end type, without the need to manage our own servers for
our applications.
FaaS offering do not requiere us to code on an specific programming
language. Oracle Fn project supports: Python, PHP, Go, Java, Javascript,
Ruby.
https://martinfowler.com/articles/serverless.html
24. Oracle Fn Project. DEMO
28
• How can you execute Oracle Fn?
• How to create functions?
• We will code functions on:
• GO
• Python
• JS
• Java
• Monitoring
• Dashboard with Grafana & Prometheus.