SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Make your Cloud
Applications
Function for real –
A Complete
Overview of
Oracle Functions
as a Service
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Oracle Groundbreakers Tour 2020 EMEA, 13th October
Lucas Jellema, CTO & Architect AMIS | Conclusion Sources and slides:
http://bit.ly/function-for-real-
ogbemea2020
API
Gateway
Notifications
Function
Autonomous
Database
Streaming
Object
Storage
Vault
NoSQL
Database
Autonomous
JSON
Email Delivery
AuditingMonitoringLogging
synchronous
asynchronous
Lucas Jellema
CTO for AMIS | Conclusion
Cloud Solution Architect
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema
A traditional application
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
WebApp
Database
(RDBMS?)JVM
Java EE
Operating System
Hardware
3rd party libraries
& frameworks
Monolith,
Microservice,
Module
Platform & Language
runtime features
(transaction
management, HTTP
request handling, state
management & in
memory caching, IAM,
…
Custom Code
IaaS
PaaS
Cloud Native Application
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Event
Hub
Vault
Function
IAM
Container
Engine
Web
App
Function
Cache
Mail
Monitor
ScalingAlert &
Notify
• Managed
• Quick Provision &
Decommission
• Distributed
• Automated
• Pay per use/TCO
• Vendor takes runtime
responsibility
• Enterprise grade platform
accessible to startups
• Rapid Innovation
• Security & Availability
• Scale
Logging
Characteristics of Cloud Native Applications
• Modern – born in the cloud (era)
• Emphasis on interaction (and decoupling) points:
• Between custom components: APIs, Events / message format
• From custom to PaaS Services: Service APIs, Formats and Protocols
• Less emphasis on [and insulation from?] implementation of PaaS (platform) services
• Key are industry standard APIs that are implemented by many different services
• Custom code in small, simple units
• No explicit Infrastructure (serverless, software defined) & managed Platform components
• Stateless and Dynamically Scalable (Elastic) – expand and contract
• Pay per Use
• Automation – no hands on ACC and Production (speed, repeatability, dynamic adjustment)
• Infrastructure/Platform as Code & Application CI/CD [pipelines]
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
What are Functions?
• (typically small) Stateless Execution Engines that handle one request or
event
• They can do anything regular applications can do – as long as they can
do it in limited time (a few minutes max, ideally even shorter)
• Serverless: functions are deployed and executed in an abstract, fully
managed environment that automatically scales up and down (FaaS)
• DevOps teams do not need | get to configure VMs, servers, network
• Pay per execution – and per duration, memory and CPU
• Glue and worker bees in cloud environments
• For both application functionality and Ops-automation
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Function Implementation
• Implemented in any programming language –
• frequently JavaScript/Node, C#, Python, Go and Java; also shell, binary executable
• Frequently backed (visibly or implicitly) by Docker Containers
• Parametrized via Configuration Settings
• Leverage Cloud facilities
• Logging
• Monitoring
• Auditing
• Authorization
• IaaS: Compute, Network, Storage
• Container Orchestration, Container Image Registry
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Introducing Serverless Functions
• The Container Native Serverless Framwork
• Project Fn is an open source FaaS platform
that you can run anywhere -- any cloud or
on-premise.
• It implements serverless Functions through
Docker containers
• Out of the box support for many runtimes
•
• also support for custom Docker
Container (white box)
• Command Line Interface
• create, develop, deploy, invoke, inspect
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Fn Functions – request handling
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Function
Implementation
(Node, Java, Go,
Python, custom
Docker, …)
FDK
Function as a Service framework
HTTP Request
HTTP method, headers, query
parameters, url path, body
input – derived from body
ctx – raw HTTP request components
Introducing Oracle Cloud Infrastructure
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Oracle Cloud Infrastructure
• Generation 2 Cloud
• Main themes:
• Competitive Pricing
• Secure by Design
• Open
• Enterprise (Technology)
• Trials – 30 days, $300 credits
• An always-free tier
• With Autonomous Database and
Autonomous Data Warehouse
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Oracle Functions
• Functions on OCI – based on Fn
• FaaS (Project Fn)
• Interacts with container platform – run | scale | watch | …
• Is a generic open source framework that can run anywhere on Docker
• Handles request – load balance, route, provide context
• Manages application configuration settings
• Function Container Images are stored
in OCI Container (Image) Registry
• Triggers are HTTP Requests or OCI Events
• OCI gathers logs and metrics
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Quick Demo of Oracle Functions
• Create new Function (in existing App) locally
• Implement special hello world
• Deploy Function App locally
• Invoke Function App locally
• Through CLI
• Change context to OCI
• Deploy & Invoke
• Show Invocation ‘evidence’
• Metrics
• Logging
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Demo Your First Function – local Fn environment
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
fn start
Fn server
1
fn create app
hello-app
2
Fn server
Application hello-app
fn init --runtime
node hello
3
Function
hello
<edit
function hello>
4
fn deploy -app
hello-app --local
5
Function
hello
Local Docker
Container
Image Registry
hello
fn invoke hello-app
hello
6
Docker
hello
http request
Generated Function in Node
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
meta-data for Fn
SDK runtime
Implementation of
the function
Generated Function in Java
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
meta-data for Fn
SDK runtime
Implementation of
the function
Maven pom.xml with
Fn dependencies
Demo Your First Function – on OCI - preparation
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
fn create context
oci-context --
provider oracle
1
fn use context
oci-context
2
OCI Cloud Tenancy
Container
Registry
Fn client
oci-context
fn update context
oracle.compartment-id
62371…8198
3
fn api-url
https://functions.$REGION
.oci.oraclecloud.com
4
OCI Config Private Key.pem
fn context registry
<region>.ocir.io/<namespace>/
<registry-name>
5
fn update context
oracle.profile FN
6
docker login
<registry-url>
7
Docker login
Demo Your First Function – on OCI – implement, deploy, invoke
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
OCI Cloud Tenancy
Container
Registry
Fn client
oci-context
fn create app "fun-app" --annotation
"oracle.com/oci/subnetIds=["781...82"]"
8
OCI Config Private Key.pem
Docker login
Application
hello-app
Functions
Application
fn init --runtime
node hello
9
Function
hello
<edit
function hello>
fn deploy -app
hello-app
hello
fn invoke
hello-app hello
10
11
hello
12
hello
hello
httprequest
Demo Your First Function – on OCI
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Functions
Application
Demo Your First Function – on OCI
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Logical Grouping on OCI to work with Functions
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Policies
Groups
TENANCY
COMPARTMENT
Functions
Container
Registry
Application
Functions
Application
VCN
SUBNET
Mental Picture: Stateless and Serverless
FDK
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Mental Picture: Stateless and Serverless “execution engine”
FDK
Configuration
Parameters
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Mental Picture: Build Process
FDK
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Container
Image
Registry
push
Operating
System
Language
Runtime
FDK
go, java8, java9, java, java11, node, python, python3.6,
python, python3.7, ruby, and kotlin
function.yaml
Mental Picture: Build & Deploy Process
FDK
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Container
Image
Registry
push
Operating
System
Language
Runtime
FDK
OracleFunctionsonOCI
Deploy Function Application
Associated with Network &
Compartment
Specify max time to run and
memory shape (128, 256,
512, 1024 MB) for function
in function.yaml
function.yaml
Mental Picture and Actual Runtime
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Container
Image
Registry
OracleFunctionsonOCI
Container Orchestrator
VM
Server
128 | 256 | 512 | 1024 MB Memory,
32 | 64 | 128 | 256 MB File System
File system can be read, /tmp can be written to
Configuration Parameters available as
Environment Variables
Memory
Shape, Max
Time to Run,
Configuration
Parameters
Configuration
Parameters
Mental Picture and Actual Runtime
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Container
Image
Registry
OracleFunctionsonOCI
Container Orchestrator
VM
Server
Container is kept running for 10-15 minutes –
primed (hot) for handling more requests.
It is removed when it has been idle for that time.
It retains global state and file system contents
during its lifetime. Note: hold on to and reuse
expensive connections
AuditingMonitoringLogging
Configuration
Parameters
Mental Picture and Actual Runtime
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Container
Image
Registry
OracleFunctionsonOCI
Container Orchestrator
VM
Server
AuditingMonitoringLogging
Mental Picture and Actual Runtime
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Container
Image
Registry
OracleFunctionsonOCI
Container Orchestrator
VM
Server
AuditingMonitoringLogging
Mental Picture and Actual Runtime
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Container
Image
Registry
OracleFunctionsonOCI
Container Orchestrator
VM A
Server 1
Container Orchestrator
VM B
Server 2
Oracle Functions starts multiple Docker
containers, up to the limit specified for
your tenancy. The default limit is 30 GB
of RAM reserved for function execution
per availability domain
AuditingMonitoringLogging
Mental picture vs Physical reality
• Stateless? One execution per instance? Serverless?
• Explore
• Cross execution state (memory)
• Multiple concurrent requests
• Lifetime of an instance
• Container details
• Function with
• Request counter (as cross execution state)
• Concurrent requests counter (and multi second delay)
• Write ‘still alive’ log messages
• Get host details (from Fn context)
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
requestCounter
concurrentRequests
lifetimeOfInstance
process.on(‘exit’,…)
console.log()
Physical Function Findings
• No concurrent request handling in a single instance
• Four concurrent requests,
four different hosts (== container instances)
• Each instance handles multiple [subsequent] requests
• State is kept in instance between requests
• Until the death of an instance
• An instance can perform some background work after a request is
responded to (13 seconds?)
• Part of pay per use?
• An instance is killed after [approximately] 10 minutes
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Pricing Oracle Functions – no use, no pay
(and even if quite a bit of use – then still no pay)
Function execution is triggered by
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
API Gateway
Notifications
Events
Healthcheck
Resource
Manager
Service
Connector
Alarming
Functions
Function execution is triggered by
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
API Gateway
Notifications
Events
Healthcheck
Resource
Manager
Service
Connector
Alarming
Functions
Ops automation
Application
App
Ops
Ops
Ops
Ops
Ops
Ops
App
App
API Gateway
• Handle HTTP calls:
• Authorize
• Route
• Map
• Transform
• Observer
• Monitor
• Audit
• Log
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
API
Gateway
Oracle Cloud Infrastructure
Any 3rd party
HTTP endpoint
Function
Stock
Any HTTP
Endpoint
on OCI
OIC
OKE
VM
…
Any
Service
Invoker
Expose private endpoints publicly
Stable (public) endpoints
Routing (verb & wildcard based)
Parameter and Header mapping
Request Policies
Rate limiting (per client & general)
CORS (for direct web client access)
Metrics Monitoring & Logging
Authentication & Validation
Transform headers & parameters
in requests & headers in responses
AuditingMonitoringLogging
API Gateway
API Gateway Configuration for public access to Function
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Leverage OCI PaaS Services and Facilities from Functions
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
API Gateway
Notifications
Functions
Autonomous
Database
Streaming
Object
Storage
Vault
NoSQL
Database
Autonomous
JSON
Email Delivery
AuditingMonitoringLogging
synchronous
asynchronous
Allow Functions to Invoke OCI APIs
through Resource Principal authorization
• Any OCI API call must be authenticated (signed) and authorized
• (Human) users can be granted permissions and can sign requests
• A function can be a resource principal – that is granted permissions (via
Dynamic Group) and gets an auto-generated key-file injected used for
signing
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Function Object
Storage
Allow Functions to Invoke OCI APIs
through Resource Principal authorization
• Any OCI API call must be authenticated (signed) and authorized
• (Human) users can be granted permissions and can sign requests
• A function can be a resource principal – that is granted permissions (via
Dynamic Group) and gets an auto-generated key-file injected used for
signing
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Function Object
Storage
pem rpst
Dynamic
group
Policy
Rule
Resource
Implement OCI Operations Task using Functions
• Requirement: longer term retention of
audit events for several different reasons,
including governance, compliance and
forensic requirements
• Audit events comprise: Audit Service
recording administrative operations and
Oracle Identity Cloud Service (IDCS)
tracking access and user management
events
• Approach: periodic extraction of security
event details from OCI services and
storing on OCI Object Storage
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
source: https://redthunder.blog/2020/10/02/simple-secure-log-retention-using-oci-services/
Functions in Cloud Native Application on OCI:
Tweets to NoSQL, Streaming & Email
Streaming
NoSQL
Database
#groundbreakerstour
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Tweets to NoSQL,
Streaming & Email
Healthcheck
Streaming
Events
Object
Storage
Notifications
API
Gate
way
NoSQL
Database
Function
Function
Write JSON
document with
Tweets
Retrieve X
minutes worth
of tweets
Store JSON
file with all
tweets in time
period Trigger
function with
event
Create
Tweet
Records
in NoSQL
Send
Tweet
Report as
email
Invoke Tweet
Aggregator every
X minutes
Cloud Event
for new
JSON file
Publish
each
Tweet to
Stream
Compartments
API/Service
Logging
Monitoring
OCIR
Expose
function to
external callers
Publish to
Notification
Topic
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
#groundbreakerstour
Vault
Get Twitter
credentials in
secure way
from vault
Functions facilitate Decoupling
Streaming
Events
Object
Storage
Notification
Topic
API
Gate
way
NoSQL
Database
Function
Function
Compartments
API/Service
Logging
Monitoring
OCIR
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
#groundbreakerstour
Vault
• Encapsulation (of
implementation)
• Run time availability
independence
• Independent release /
reconfigure
• Independence of scaling
• Volume Load
Throttling/Absorption
• Security Boundary
• Failure isolation
Automated Test of Functions
• Unit Test to verify the behavior of the code
• Implement functionality apart from FDK
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
FDK
Mock external
services
Automated Test using your favorite
language specific framework, such
as JUnit 5, Jest, pytest, …
Mock
FDK
http
Types of Tests
Testing Cloud Native Applications
ISOLATIONmore less
Unit Test
Integration Test
End to End Test
isolated sociable/ wired
Static Code
Analysis
Smoke Test/Health
Check/ Chaos Test
Types of Tests
Testing Cloud Native Applications
ISOLATIONmore less
Unit Test
Integration Test
single unit, all
dependencies
are mocked
End to End Test
isolated sociable/ wired
Unit and (most of) its internal
dependencies; external
dependenices are mocked
Some external dependencies are mocked; all
internal units are used unmocked
(aka Integration or BroadStack) test: tests
include (unmocked) external dependencies;
parts of the system can still be mocked
When used at runtime – E2E tests function
as Smoke Test/Health Check – to test
health of interactions at PaaS & IaaS level
Static Code
Analysis
Verify code quality guideline
adherence – without running any code
More:
• Speed
• Tests
• Boundary Testing
• Non-happy flows &
corner cases
• Mocks
• Maintenance
• Refactoring
Protection
• Technical
Smoke Test/Health
Check/ Chaos Test
More:
• Functional /
Specification driven
• Confidence
• Bugs caught
• Contract & Interaction
• REAL (mocks poke
holes in reality)
• Side effect
• Effort (per test)
• Execution time
Tests in full blown environment (ACC, PROD); focus
on (continuous) health – end to end availability of
connections, permissions, platform and infra
components; focus on important functional flows
Other Types and Scopes of Tests
• Integration Test
• Only mocks at the far ends of the chains
• Smoke Test/Health Check
• Live environment, no mocks
• Live test data set (with no business side effects)
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
FunctionsAPI Gateway
Smoketest
CI/CD –
from Dev through build, package, release, deploy to Ops
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Container
Registry
Resource
Manager
CLI
Continuous
Integration
Continuous Delivery Deployment
OracleFunctionsonOCI
Functions
Application
CLI
DevOps on Functions
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
AuditingMonitoringLogging
Functions
• Monitoring
• Metrics on Number | Duration | Status
of Function calls - per time window
• Alarms on special conditions – causing notifications to be sent
• Logging
• Application Logging from Function is captured by
OCI Logging Service and can be explored and processed
• Auditing
• Management activities regarding functions are captured
by Audit Service (who, when, what, with which function)
• Application Configuration Settings
• By (re)defining Configuration Settings on
application or function can the run time behavior
of the function be influenced
Logging
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Monitoring | Health Checks
• Verify through the eyes of an external client
if endpoints are available
and respond quick and well
• Periodic or Adhoc call to an endpoint
• HTTP(S) or Ping
• Specify Headers
• Specify Interval (check frequency)
• From selected Vantage Points
• 3rd party clouds, geographic locations around the world
• Health Check results can be inspected through the Monitor in the Console
• Use health checks for live function smoke tests
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Functions
Healthcheck
API Gateway
[tricks for] Scheduling Functions
• OCI does not currently have a way to schedule jobs
• Health Checks are scheduled, periodic HTTP(S) requests
• Once every 30 | 60 seconds or 5 | 10 | 15 minutes
• Monitoring Alarms are evaluated and repeated on the
indicated specific interval
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Functions
Healthcheck
API Gateway
Configuration
Parameters
CRON expression to run
once every hour | day |
Sunday | …
When triggered evaluate
CRON expression and
decide whether to run
CRON expression passed as
header or parameter in
healthcheck configuration
Notifications
Alarming
Monitoring
Define an Alarm that will be
triggered; set repeat interval at
desired function execution interval
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Get going with Functions on OCI
katacoda.com/redexpertalliance/courses/oci-course
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Functions vs Containers vs VMs
• Serverless
• No IaaS DevOpS
• Stepless Pay per use
• Free-Tier
• Auto-Scale
• Automatic Fail Over
• Integration with OCI
• Triggered by OCI
• Call OCI services
• Leverage OCI for
Audit, Log, Monitor
• Restricted, simple
programming model
• Short running
Functions Containers on OKE
• Serverless runtime
• Initial IaaS Setup
• Pay per VM,
scale per VM
• Auto-Scale by K8S
• Some auto Fail Over
• Little integration with OCI
• Kubernetes for Ops
• Flexible programming
model – any container goes
VMs
• Fully Servered
• DIY IaaS Op
• Pay per VM, scale per
VM, cheap at large scale
• Manual Scaling
• Manual Fail Over
• Little integration with OCI
•
• Flexible programming
model
Virtual
Machine
Functions Container Engine
For Kubernetes
Oracle Functions - Points for improvement
• Function to Function invocation could be much simpler
• Simple Fn SDK call instead of complex OCI API call
• Automatic tracing of function calls
• Asynchronous mechanism for function triggering
• OCI Streaming does not trigger function execution
• OCI Notification Topics are capped at 60 messages
per minute
• OCI API Gateway only handles synchronous requests
– not fire & forget
• Function orchestration or coordination
• Workflow, parallel execution, transaction handling
(Saga pattern)
• Project Fn is showing hardly any activity on GitHub
• Is it alive? Does it have a future?
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Functions are crucial part and great example of cloud native
• Serverless in all the good ways
• Simple and cheap
• Freedom of implementation – little lockin
• Rapid start
• Easy to get started with
• Native fit with OCI
• Leverage FaaS, invoke and triggered by PaaS, automated Ops (OCI worker bees)
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
Cloud Native:
Platform Services
Managed
Quick Provision & Decommission
Distributed
Automated
Pay per use/TCO
Vendor takes runtime responsibility
Enterprise grade platform for all
Security & Availability
Scale
Ops facilities (monitor, log, failover)
Rapid Innovation (new services, new
features, new pricing)
Functions
Thank you
for your attention
I hope
this was
useful
Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema
Sources and slides:
http://bit.ly/function-for-real-
ogbemea2020

Weitere ähnliche Inhalte

Was ist angesagt?

20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
Craeg Strong
 
Harsh_Resume_pdf
Harsh_Resume_pdfHarsh_Resume_pdf
Harsh_Resume_pdf
HArsh Dawar
 

Was ist angesagt? (20)

20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
 
用Serverless技術快速開發line聊天機器人
用Serverless技術快速開發line聊天機器人用Serverless技術快速開發line聊天機器人
用Serverless技術快速開發line聊天機器人
 
20150623 IEEE ASQ Conf Teaching An Old Dog New Tricks: Agile For Legacy Systems
20150623 IEEE ASQ Conf Teaching An Old Dog New Tricks: Agile For Legacy Systems20150623 IEEE ASQ Conf Teaching An Old Dog New Tricks: Agile For Legacy Systems
20150623 IEEE ASQ Conf Teaching An Old Dog New Tricks: Agile For Legacy Systems
 
Itb 2021 - Bulding Quick APIs by Gavin Pickin
Itb 2021 - Bulding Quick APIs by Gavin PickinItb 2021 - Bulding Quick APIs by Gavin Pickin
Itb 2021 - Bulding Quick APIs by Gavin Pickin
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
 
Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018
 
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hours
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-Pieces
 
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapCreating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
 
Declaring Server App Components in Pure Java
Declaring Server App Components in Pure JavaDeclaring Server App Components in Pure Java
Declaring Server App Components in Pure Java
 
Implementing Enterprise Identity and Access Management in a microservices wor...
Implementing Enterprise Identity and Access Management in a microservices wor...Implementing Enterprise Identity and Access Management in a microservices wor...
Implementing Enterprise Identity and Access Management in a microservices wor...
 
Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS
 
AWS DevDay Cologne - CI/CD for modern applications
AWS DevDay Cologne - CI/CD for modern applicationsAWS DevDay Cologne - CI/CD for modern applications
AWS DevDay Cologne - CI/CD for modern applications
 
E fw b4rbr62uiizvvipyb_cannell_lowcodelowdown_apex_vbcs
E fw b4rbr62uiizvvipyb_cannell_lowcodelowdown_apex_vbcsE fw b4rbr62uiizvvipyb_cannell_lowcodelowdown_apex_vbcs
E fw b4rbr62uiizvvipyb_cannell_lowcodelowdown_apex_vbcs
 
Serverless Meetup - 12 gennaio 2017
Serverless Meetup - 12 gennaio 2017Serverless Meetup - 12 gennaio 2017
Serverless Meetup - 12 gennaio 2017
 
API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17
 
Harsh_Resume_pdf
Harsh_Resume_pdfHarsh_Resume_pdf
Harsh_Resume_pdf
 

Ähnlich wie Make your Cloud Applications Function for real – A Complete Overview of Oracle Functions as a Service (Oracle Groundbreakers EMEA Virtual Tour 2020)

Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Lucas Jellema
 

Ähnlich wie Make your Cloud Applications Function for real – A Complete Overview of Oracle Functions as a Service (Oracle Groundbreakers EMEA Virtual Tour 2020) (20)

Cloud Native Application Development - build fast, cheap, scalable and agile ...
Cloud Native Application Development - build fast, cheap, scalable and agile ...Cloud Native Application Development - build fast, cheap, scalable and agile ...
Cloud Native Application Development - build fast, cheap, scalable and agile ...
 
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
 
Cloud Native Application Development - build fast, cheap, scalable and agile ...
Cloud Native Application Development - build fast, cheap, scalable and agile ...Cloud Native Application Development - build fast, cheap, scalable and agile ...
Cloud Native Application Development - build fast, cheap, scalable and agile ...
 
Containers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshellContainers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshell
 
Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0
 
Considerations for operating docker at scale
Considerations for operating docker at scaleConsiderations for operating docker at scale
Considerations for operating docker at scale
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for Business
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016
 
0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi
 
Web app job and functions - TUGAIT 2017
Web app job and functions  - TUGAIT 2017Web app job and functions  - TUGAIT 2017
Web app job and functions - TUGAIT 2017
 
Accelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateAccelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud Private
 
Keynote Oracle Fusion Middleware Summit_2020
Keynote Oracle Fusion Middleware Summit_2020Keynote Oracle Fusion Middleware Summit_2020
Keynote Oracle Fusion Middleware Summit_2020
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
 
JJUG CCC 2018 : Lessons Learned: Spring Cloud -> Docker -> Kubernetes
JJUG CCC 2018 : Lessons Learned: Spring Cloud ->  Docker -> KubernetesJJUG CCC 2018 : Lessons Learned: Spring Cloud ->  Docker -> Kubernetes
JJUG CCC 2018 : Lessons Learned: Spring Cloud -> Docker -> Kubernetes
 
Docker Orchestration: Welcome to the Jungle! JavaOne 2015
Docker Orchestration: Welcome to the Jungle! JavaOne 2015Docker Orchestration: Welcome to the Jungle! JavaOne 2015
Docker Orchestration: Welcome to the Jungle! JavaOne 2015
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 

Mehr von Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Lucas Jellema
 

Mehr von Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
 

Kürzlich hochgeladen

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Kürzlich hochgeladen (20)

WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 

Make your Cloud Applications Function for real – A Complete Overview of Oracle Functions as a Service (Oracle Groundbreakers EMEA Virtual Tour 2020)

  • 1. Make your Cloud Applications Function for real – A Complete Overview of Oracle Functions as a Service Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Oracle Groundbreakers Tour 2020 EMEA, 13th October Lucas Jellema, CTO & Architect AMIS | Conclusion Sources and slides: http://bit.ly/function-for-real- ogbemea2020 API Gateway Notifications Function Autonomous Database Streaming Object Storage Vault NoSQL Database Autonomous JSON Email Delivery AuditingMonitoringLogging synchronous asynchronous
  • 2. Lucas Jellema CTO for AMIS | Conclusion Cloud Solution Architect Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema
  • 3. A traditional application Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real WebApp Database (RDBMS?)JVM Java EE Operating System Hardware 3rd party libraries & frameworks Monolith, Microservice, Module Platform & Language runtime features (transaction management, HTTP request handling, state management & in memory caching, IAM, … Custom Code
  • 4. IaaS PaaS Cloud Native Application Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Event Hub Vault Function IAM Container Engine Web App Function Cache Mail Monitor ScalingAlert & Notify • Managed • Quick Provision & Decommission • Distributed • Automated • Pay per use/TCO • Vendor takes runtime responsibility • Enterprise grade platform accessible to startups • Rapid Innovation • Security & Availability • Scale Logging
  • 5. Characteristics of Cloud Native Applications • Modern – born in the cloud (era) • Emphasis on interaction (and decoupling) points: • Between custom components: APIs, Events / message format • From custom to PaaS Services: Service APIs, Formats and Protocols • Less emphasis on [and insulation from?] implementation of PaaS (platform) services • Key are industry standard APIs that are implemented by many different services • Custom code in small, simple units • No explicit Infrastructure (serverless, software defined) & managed Platform components • Stateless and Dynamically Scalable (Elastic) – expand and contract • Pay per Use • Automation – no hands on ACC and Production (speed, repeatability, dynamic adjustment) • Infrastructure/Platform as Code & Application CI/CD [pipelines] Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 6. What are Functions? • (typically small) Stateless Execution Engines that handle one request or event • They can do anything regular applications can do – as long as they can do it in limited time (a few minutes max, ideally even shorter) • Serverless: functions are deployed and executed in an abstract, fully managed environment that automatically scales up and down (FaaS) • DevOps teams do not need | get to configure VMs, servers, network • Pay per execution – and per duration, memory and CPU • Glue and worker bees in cloud environments • For both application functionality and Ops-automation Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 7. Function Implementation • Implemented in any programming language – • frequently JavaScript/Node, C#, Python, Go and Java; also shell, binary executable • Frequently backed (visibly or implicitly) by Docker Containers • Parametrized via Configuration Settings • Leverage Cloud facilities • Logging • Monitoring • Auditing • Authorization • IaaS: Compute, Network, Storage • Container Orchestration, Container Image Registry Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 8. Introducing Serverless Functions • The Container Native Serverless Framwork • Project Fn is an open source FaaS platform that you can run anywhere -- any cloud or on-premise. • It implements serverless Functions through Docker containers • Out of the box support for many runtimes • • also support for custom Docker Container (white box) • Command Line Interface • create, develop, deploy, invoke, inspect Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 9. Fn Functions – request handling Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Function Implementation (Node, Java, Go, Python, custom Docker, …) FDK Function as a Service framework HTTP Request HTTP method, headers, query parameters, url path, body input – derived from body ctx – raw HTTP request components
  • 10. Introducing Oracle Cloud Infrastructure Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 11. Oracle Cloud Infrastructure • Generation 2 Cloud • Main themes: • Competitive Pricing • Secure by Design • Open • Enterprise (Technology) • Trials – 30 days, $300 credits • An always-free tier • With Autonomous Database and Autonomous Data Warehouse Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 12. Oracle Functions • Functions on OCI – based on Fn • FaaS (Project Fn) • Interacts with container platform – run | scale | watch | … • Is a generic open source framework that can run anywhere on Docker • Handles request – load balance, route, provide context • Manages application configuration settings • Function Container Images are stored in OCI Container (Image) Registry • Triggers are HTTP Requests or OCI Events • OCI gathers logs and metrics Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 13. Quick Demo of Oracle Functions • Create new Function (in existing App) locally • Implement special hello world • Deploy Function App locally • Invoke Function App locally • Through CLI • Change context to OCI • Deploy & Invoke • Show Invocation ‘evidence’ • Metrics • Logging Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 14. Demo Your First Function – local Fn environment Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real fn start Fn server 1 fn create app hello-app 2 Fn server Application hello-app fn init --runtime node hello 3 Function hello <edit function hello> 4 fn deploy -app hello-app --local 5 Function hello Local Docker Container Image Registry hello fn invoke hello-app hello 6 Docker hello http request
  • 15. Generated Function in Node Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real meta-data for Fn SDK runtime Implementation of the function
  • 16. Generated Function in Java Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real meta-data for Fn SDK runtime Implementation of the function Maven pom.xml with Fn dependencies
  • 17. Demo Your First Function – on OCI - preparation Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real fn create context oci-context -- provider oracle 1 fn use context oci-context 2 OCI Cloud Tenancy Container Registry Fn client oci-context fn update context oracle.compartment-id 62371…8198 3 fn api-url https://functions.$REGION .oci.oraclecloud.com 4 OCI Config Private Key.pem fn context registry <region>.ocir.io/<namespace>/ <registry-name> 5 fn update context oracle.profile FN 6 docker login <registry-url> 7 Docker login
  • 18. Demo Your First Function – on OCI – implement, deploy, invoke Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real OCI Cloud Tenancy Container Registry Fn client oci-context fn create app "fun-app" --annotation "oracle.com/oci/subnetIds=["781...82"]" 8 OCI Config Private Key.pem Docker login Application hello-app Functions Application fn init --runtime node hello 9 Function hello <edit function hello> fn deploy -app hello-app hello fn invoke hello-app hello 10 11 hello 12 hello hello httprequest
  • 19. Demo Your First Function – on OCI Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Functions Application
  • 20. Demo Your First Function – on OCI Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 21. Logical Grouping on OCI to work with Functions Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Policies Groups TENANCY COMPARTMENT Functions Container Registry Application Functions Application VCN SUBNET
  • 22. Mental Picture: Stateless and Serverless FDK Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 23. Mental Picture: Stateless and Serverless “execution engine” FDK Configuration Parameters Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 24. Mental Picture: Build Process FDK Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Container Image Registry push Operating System Language Runtime FDK go, java8, java9, java, java11, node, python, python3.6, python, python3.7, ruby, and kotlin function.yaml
  • 25. Mental Picture: Build & Deploy Process FDK Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Container Image Registry push Operating System Language Runtime FDK OracleFunctionsonOCI Deploy Function Application Associated with Network & Compartment Specify max time to run and memory shape (128, 256, 512, 1024 MB) for function in function.yaml function.yaml
  • 26. Mental Picture and Actual Runtime Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Container Image Registry OracleFunctionsonOCI Container Orchestrator VM Server 128 | 256 | 512 | 1024 MB Memory, 32 | 64 | 128 | 256 MB File System File system can be read, /tmp can be written to Configuration Parameters available as Environment Variables Memory Shape, Max Time to Run, Configuration Parameters Configuration Parameters
  • 27. Mental Picture and Actual Runtime Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Container Image Registry OracleFunctionsonOCI Container Orchestrator VM Server Container is kept running for 10-15 minutes – primed (hot) for handling more requests. It is removed when it has been idle for that time. It retains global state and file system contents during its lifetime. Note: hold on to and reuse expensive connections AuditingMonitoringLogging Configuration Parameters
  • 28. Mental Picture and Actual Runtime Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Container Image Registry OracleFunctionsonOCI Container Orchestrator VM Server AuditingMonitoringLogging
  • 29. Mental Picture and Actual Runtime Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Container Image Registry OracleFunctionsonOCI Container Orchestrator VM Server AuditingMonitoringLogging
  • 30. Mental Picture and Actual Runtime Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Container Image Registry OracleFunctionsonOCI Container Orchestrator VM A Server 1 Container Orchestrator VM B Server 2 Oracle Functions starts multiple Docker containers, up to the limit specified for your tenancy. The default limit is 30 GB of RAM reserved for function execution per availability domain AuditingMonitoringLogging
  • 31. Mental picture vs Physical reality • Stateless? One execution per instance? Serverless? • Explore • Cross execution state (memory) • Multiple concurrent requests • Lifetime of an instance • Container details • Function with • Request counter (as cross execution state) • Concurrent requests counter (and multi second delay) • Write ‘still alive’ log messages • Get host details (from Fn context) Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real requestCounter concurrentRequests lifetimeOfInstance process.on(‘exit’,…) console.log()
  • 32. Physical Function Findings • No concurrent request handling in a single instance • Four concurrent requests, four different hosts (== container instances) • Each instance handles multiple [subsequent] requests • State is kept in instance between requests • Until the death of an instance • An instance can perform some background work after a request is responded to (13 seconds?) • Part of pay per use? • An instance is killed after [approximately] 10 minutes Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 33. Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Pricing Oracle Functions – no use, no pay (and even if quite a bit of use – then still no pay)
  • 34. Function execution is triggered by Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real API Gateway Notifications Events Healthcheck Resource Manager Service Connector Alarming Functions
  • 35. Function execution is triggered by Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real API Gateway Notifications Events Healthcheck Resource Manager Service Connector Alarming Functions Ops automation Application App Ops Ops Ops Ops Ops Ops App App
  • 36. API Gateway • Handle HTTP calls: • Authorize • Route • Map • Transform • Observer • Monitor • Audit • Log Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real API Gateway Oracle Cloud Infrastructure Any 3rd party HTTP endpoint Function Stock Any HTTP Endpoint on OCI OIC OKE VM … Any Service Invoker Expose private endpoints publicly Stable (public) endpoints Routing (verb & wildcard based) Parameter and Header mapping Request Policies Rate limiting (per client & general) CORS (for direct web client access) Metrics Monitoring & Logging Authentication & Validation Transform headers & parameters in requests & headers in responses AuditingMonitoringLogging API Gateway
  • 37. API Gateway Configuration for public access to Function Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 38. Leverage OCI PaaS Services and Facilities from Functions Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real API Gateway Notifications Functions Autonomous Database Streaming Object Storage Vault NoSQL Database Autonomous JSON Email Delivery AuditingMonitoringLogging synchronous asynchronous
  • 39. Allow Functions to Invoke OCI APIs through Resource Principal authorization • Any OCI API call must be authenticated (signed) and authorized • (Human) users can be granted permissions and can sign requests • A function can be a resource principal – that is granted permissions (via Dynamic Group) and gets an auto-generated key-file injected used for signing Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Function Object Storage
  • 40. Allow Functions to Invoke OCI APIs through Resource Principal authorization • Any OCI API call must be authenticated (signed) and authorized • (Human) users can be granted permissions and can sign requests • A function can be a resource principal – that is granted permissions (via Dynamic Group) and gets an auto-generated key-file injected used for signing Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Function Object Storage pem rpst Dynamic group Policy Rule Resource
  • 41. Implement OCI Operations Task using Functions • Requirement: longer term retention of audit events for several different reasons, including governance, compliance and forensic requirements • Audit events comprise: Audit Service recording administrative operations and Oracle Identity Cloud Service (IDCS) tracking access and user management events • Approach: periodic extraction of security event details from OCI services and storing on OCI Object Storage Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real source: https://redthunder.blog/2020/10/02/simple-secure-log-retention-using-oci-services/
  • 42. Functions in Cloud Native Application on OCI: Tweets to NoSQL, Streaming & Email Streaming NoSQL Database #groundbreakerstour Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 43. Tweets to NoSQL, Streaming & Email Healthcheck Streaming Events Object Storage Notifications API Gate way NoSQL Database Function Function Write JSON document with Tweets Retrieve X minutes worth of tweets Store JSON file with all tweets in time period Trigger function with event Create Tweet Records in NoSQL Send Tweet Report as email Invoke Tweet Aggregator every X minutes Cloud Event for new JSON file Publish each Tweet to Stream Compartments API/Service Logging Monitoring OCIR Expose function to external callers Publish to Notification Topic Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real #groundbreakerstour Vault Get Twitter credentials in secure way from vault
  • 44. Functions facilitate Decoupling Streaming Events Object Storage Notification Topic API Gate way NoSQL Database Function Function Compartments API/Service Logging Monitoring OCIR Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real #groundbreakerstour Vault • Encapsulation (of implementation) • Run time availability independence • Independent release / reconfigure • Independence of scaling • Volume Load Throttling/Absorption • Security Boundary • Failure isolation
  • 45. Automated Test of Functions • Unit Test to verify the behavior of the code • Implement functionality apart from FDK Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real FDK Mock external services Automated Test using your favorite language specific framework, such as JUnit 5, Jest, pytest, … Mock FDK http
  • 46. Types of Tests Testing Cloud Native Applications ISOLATIONmore less Unit Test Integration Test End to End Test isolated sociable/ wired Static Code Analysis Smoke Test/Health Check/ Chaos Test
  • 47. Types of Tests Testing Cloud Native Applications ISOLATIONmore less Unit Test Integration Test single unit, all dependencies are mocked End to End Test isolated sociable/ wired Unit and (most of) its internal dependencies; external dependenices are mocked Some external dependencies are mocked; all internal units are used unmocked (aka Integration or BroadStack) test: tests include (unmocked) external dependencies; parts of the system can still be mocked When used at runtime – E2E tests function as Smoke Test/Health Check – to test health of interactions at PaaS & IaaS level Static Code Analysis Verify code quality guideline adherence – without running any code More: • Speed • Tests • Boundary Testing • Non-happy flows & corner cases • Mocks • Maintenance • Refactoring Protection • Technical Smoke Test/Health Check/ Chaos Test More: • Functional / Specification driven • Confidence • Bugs caught • Contract & Interaction • REAL (mocks poke holes in reality) • Side effect • Effort (per test) • Execution time Tests in full blown environment (ACC, PROD); focus on (continuous) health – end to end availability of connections, permissions, platform and infra components; focus on important functional flows
  • 48. Other Types and Scopes of Tests • Integration Test • Only mocks at the far ends of the chains • Smoke Test/Health Check • Live environment, no mocks • Live test data set (with no business side effects) Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real FunctionsAPI Gateway Smoketest
  • 49. CI/CD – from Dev through build, package, release, deploy to Ops Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Container Registry Resource Manager CLI Continuous Integration Continuous Delivery Deployment OracleFunctionsonOCI Functions Application CLI
  • 50. DevOps on Functions Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real AuditingMonitoringLogging Functions • Monitoring • Metrics on Number | Duration | Status of Function calls - per time window • Alarms on special conditions – causing notifications to be sent • Logging • Application Logging from Function is captured by OCI Logging Service and can be explored and processed • Auditing • Management activities regarding functions are captured by Audit Service (who, when, what, with which function) • Application Configuration Settings • By (re)defining Configuration Settings on application or function can the run time behavior of the function be influenced
  • 51. Logging Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 52. Monitoring | Health Checks • Verify through the eyes of an external client if endpoints are available and respond quick and well • Periodic or Adhoc call to an endpoint • HTTP(S) or Ping • Specify Headers • Specify Interval (check frequency) • From selected Vantage Points • 3rd party clouds, geographic locations around the world • Health Check results can be inspected through the Monitor in the Console • Use health checks for live function smoke tests Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Functions Healthcheck API Gateway
  • 53. [tricks for] Scheduling Functions • OCI does not currently have a way to schedule jobs • Health Checks are scheduled, periodic HTTP(S) requests • Once every 30 | 60 seconds or 5 | 10 | 15 minutes • Monitoring Alarms are evaluated and repeated on the indicated specific interval Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Functions Healthcheck API Gateway Configuration Parameters CRON expression to run once every hour | day | Sunday | … When triggered evaluate CRON expression and decide whether to run CRON expression passed as header or parameter in healthcheck configuration Notifications Alarming Monitoring Define an Alarm that will be triggered; set repeat interval at desired function execution interval
  • 54. Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Get going with Functions on OCI katacoda.com/redexpertalliance/courses/oci-course
  • 55. Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Functions vs Containers vs VMs • Serverless • No IaaS DevOpS • Stepless Pay per use • Free-Tier • Auto-Scale • Automatic Fail Over • Integration with OCI • Triggered by OCI • Call OCI services • Leverage OCI for Audit, Log, Monitor • Restricted, simple programming model • Short running Functions Containers on OKE • Serverless runtime • Initial IaaS Setup • Pay per VM, scale per VM • Auto-Scale by K8S • Some auto Fail Over • Little integration with OCI • Kubernetes for Ops • Flexible programming model – any container goes VMs • Fully Servered • DIY IaaS Op • Pay per VM, scale per VM, cheap at large scale • Manual Scaling • Manual Fail Over • Little integration with OCI • • Flexible programming model Virtual Machine Functions Container Engine For Kubernetes
  • 56. Oracle Functions - Points for improvement • Function to Function invocation could be much simpler • Simple Fn SDK call instead of complex OCI API call • Automatic tracing of function calls • Asynchronous mechanism for function triggering • OCI Streaming does not trigger function execution • OCI Notification Topics are capped at 60 messages per minute • OCI API Gateway only handles synchronous requests – not fire & forget • Function orchestration or coordination • Workflow, parallel execution, transaction handling (Saga pattern) • Project Fn is showing hardly any activity on GitHub • Is it alive? Does it have a future? Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real
  • 57. Functions are crucial part and great example of cloud native • Serverless in all the good ways • Simple and cheap • Freedom of implementation – little lockin • Rapid start • Easy to get started with • Native fit with OCI • Leverage FaaS, invoke and triggered by PaaS, automated Ops (OCI worker bees) Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real Cloud Native: Platform Services Managed Quick Provision & Decommission Distributed Automated Pay per use/TCO Vendor takes runtime responsibility Enterprise grade platform for all Security & Availability Scale Ops facilities (monitor, log, failover) Rapid Innovation (new services, new features, new pricing) Functions
  • 58. Thank you for your attention I hope this was useful Oracle Groundbreakers Tour 2020 EMEA | Make your Cloud Applications Function for real lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema Sources and slides: http://bit.ly/function-for-real- ogbemea2020

Hinweis der Redaktion

  1. Pitch: Functions are what make cloud native applications tick. They execute business logic, handle requests and events, stitch together managed PaaS Services and automate Ops activities. In 45 minutes, get a complete overview of serverless Oracle Functions on OCI; how to develop, test, deploy, invoke and operate them Abstract: Functions are what make cloud native applications tick. They execute business logic, handle requests and events, stitch together managed PaaS Services and automate Ops activities. Functions allow and actually strongly suggest a clean application design with decoupled, encapsulated, independently testable, scalable and evolvable mini-applications that are suitable for highly automated operations.  Oracle Functions - based on Project Fn - are at the heart of cloud native applications on Oracle Cloud Infrastructure. They are implemented in almost any programming language and are run on a virtually serverless platform. This session provides a complete overview of Oracle Functions, including several live demonstrations. You will see local development of Functions in several languages, learn about automated testing of Functions and about deployment to the OCI tenancy (from CLI, Terraform and Pipeline). Functions can be invoked in several ways: direct call, through API Gateway request, triggered by Notifications and Cloud Events and indirectly time scheduled; these are discussed and shown.  Functions are configured with runtime settings, can read secrets (such as credentials and connection details) from the Vault service and can make use of other OCI Services, for example for persisting data (Autonomous Database, MySQL, NoSQL Database, Autonomous JSON), publishing messages to a stream, read or write a file or invoke another function, synchronously or asynchronously. The OCI Logging and Monitoring Services are demonstrated to support *Ops* on the Functions.  In 45 minutes, get a complete overview of serverless Oracle Functions on OCI; see how to develop, test, deploy, invoke and operate them. And embrace them as the essential cogs in your Oracle Cloud machinery.  Notes: This session touches upon a substantial number of OCI services - all from the perspective of the Functions service. All interaction points between Functions and the OCI portfolio are discussed. Implementation of Functions is demonstrated - as well as test/deployment/invocation (and effects) and monitoring. I have worked with Project Fn and Oracle Functions from the first time it became available. I have published many articles, Katacoda scenarios and webinars on the subject. I discuss Functions both from the perspective of an architect as well as a developer.
  2. Out of the box PaaS services and facilities persistence, routing/throttling/buffer/queue/retry IDM, key mgt, encryption/decryption Distribution, CDN, regional failover Monitor, log, alert/notification Scalability (up & down) Quick Rampup Emphasis on interaction points: APIs, Events/ message format Less emphasis on implementation of PaaS (platform) services MongoDB API – implemented by Azure Cosmos DB, MongoDB, Minimongo and AWS Document DB and soon Oracle Autonomous JSON Kafka API – Azure Event Hub, OCI Streaming, AWS Managed Streaming JDBC/SQL – Relational Database (Oracle, SQL Server, PostgreSQL, MySQL) and even NoSQL (Oracle NoSQL, Cassandra, Hadoop)
  3. Additional settings: max time to run (<= 120 seconds) Note: size of local file system is related to memory shape (32, 64, 128, 256MB) as is the number of files
  4. Additional settings: max time to run (<= 120 seconds) Note: size of local file system is related to memory shape (32, 64, 128, 256MB) as is the number of files
  5. Additional settings: max time to run (<= 120 seconds) Note: size of local file system is related to memory shape (32, 64, 128, 256MB) as is the number of files
  6. Additional settings: max time to run (<= 120 seconds) Note: size of local file system is related to memory shape (32, 64, 128, 256MB) as is the number of files
  7. Additional settings: max time to run (<= 120 seconds) Note: size of local file system is related to memory shape (32, 64, 128, 256MB) as is the number of files
  8. Additional settings: max time to run (<= 120 seconds) Note: size of local file system is related to memory shape (32, 64, 128, 256MB) as is the number of files
  9. Additional settings: max time to run (<= 120 seconds) Note: size of local file system is related to memory shape (32, 64, 128, 256MB) as is the number of files
  10. https://stackoverflow.com/questions/14031763/doing-a-cleanup-action-just-before-node-js-exits function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function delayedGreeting() { console.log("Hello"); await sleep(2000); console.log("World!"); }
  11. https://technology.amis.nl/2020/01/12/somewhat-stateful-serverless-functions-on-oracle-cloud-infrastructure-implementing-a-diy-cache/
  12. https://redthunder.blog/2020/10/02/simple-secure-log-retention-using-oci-services/ https://github.com/CallanHP/idcs-log-to-obj-store