SlideShare a Scribd company logo
1 of 30
Download to read offline
Optimize existing banking applications
and build new ones faster
with IBM Cloud Functions
Daniel Krook
Software Engineer & Developer Advocate
@DanielKrook
bit.ly/icf-bank
Agenda
• Overview of serverless architectures
• Introduction to IBM Cloud Functions, powered by Apache OpenWhisk
• Serverless architectures in banking: A case study
• Demonstration of the proof of concept application
bit.ly/icf-bank
Serverless architectures
Increasingfocusonbusinesslogic
Decreasing concern (and control) over stack implementation
Bare Metal
VM VM
VM
Virtual machines
Functions
Containers
Serverless developers focus more on code, less on infrastructure
bit.ly/icf-bank
Monolithic
Application
Break-down into
microservices
Make each
microservice HA
Protect against
regional outage
Region A
Region B
Microservices can be hard to manage at scale
bit.ly/icf-bank
Emerging workloads are a good fit for event-driven programming
Execute logic in response to database change
Perform analytics on sensor input messages
Provide cognitive computing via chatbots
Schedule tasks performed for a short time
Invoke autoscaled APIs and mobile backends
bit.ly/icf-bank
Memory
allocated
(MB)
Time executing
(milliseconds)
Instances
executing
simultaneously
(count)
Cloud resource cost
better matches
business value gained
Not a silver bullet, but this can result in
substantial savings for many workloads
New cost models more accurately charge for usage
bit.ly/icf-bank
bit.ly/icf-bank
Apache OpenWhisk and IBM Cloud Functions
OpenWhisk is a
cloud platform that
executes code in
response to events
OpenWhisk enables these serverless, event-driven workloads
Provides serverless deployment and operations model
Runs code only on-demand on a per-request basis
Optimized utilization, fine-grained metering at any scale
Flexible, extensible, polyglot programming model
Open source and open ecosystem (Apache Incubator)
Ability to run in public, private, and hybrid models
bit.ly/icf-bank
Developers work with triggers, actions, rules, and packages
Data sources define events
they emit as Triggers.
Developers map Actions to
Triggers via Rules.
Packages provide integration
with external services.
T
A
P
R
Data sources define events
they emit as Triggers. 

Developers map Actions to
Triggers via Rules.

Packages provide integration
with external services.
bit.ly/icf-bank
Use Apache OpenWhisk via IBM Cloud Functions: bluemix.net/openwhisk
wsk CLI
bit.ly/icf-bank
IBM Cloud Functions provides management, tooling, and monitoring
bit.ly/icf-bank
IBM Cloud Functions provides management, tooling, and monitoring
bit.ly/icf-bank
IBM Cloud Functions provides management, tooling, and monitoring
bit.ly/icf-bank
IBM Cloud Functions also provides included API gateway integration
bit.ly/icf-bank
bit.ly/icf-bank
Serverless architectures in banking
A large bank was interested in what
serverless architectures could do for them
Attractive new billing model
Compared to a PaaS offering, FaaS
charges the customer based on the
actual time used by the service itself.
Server uptime is not billed (serverless).
bit.ly/icf-bankbit.ly/srvlss-bank
Lower application complexity
Independent scalability, integration and
delivery pipelines, testability and
development flows make it more
streamlined and automated, resulting
into less maintenance efforts and savings
on operations and development costs.
Easier API integration
Provides a great way to quickly and
reliably connect or relay private/public/
hybrid SOA or Cloud APIs at low cost
Their check deposit process was slow and error prone
The bank wanted to improve the speed, accuracy, and efficiency when processing the routing and payer account numbers
on paper checks.
Problem
Bank tellers manually enter this information from checks into branch computing systems. Not only is this error prone, but
the vast number of check deposit requests occur on one day in a two week period: Payday.
This can overwhelm the IT system, which consists of a static set of bare metal servers which don’t always meet demand
(and sit idle most other times), which delays the availability of payee funds, in turn reducing customer satisfaction.
Potential solution
Is there a way to automate this process that improves:
• Accuracy by implementing optical character recognition for data entry?
• Utilization by scaling up and demand as needed, without a fixed ceiling of capacity?
• Cost by mapping a per-transaction model directly onto the exact computing resources needed?
bit.ly/icf-bankbit.ly/srvlss-bank
So let’s scan those checks to automate deposit processing
Optical character recognition (OCR) should be
used to parse the data at the bottom of the check
representing:
• The routing number
• The payer account number
If this information is not readable or does not
follow the presented format, the check will be
considered invalid.
The hand-written amount data is not currently parsable nor is the payee account information provided on a check
itself. This data needs to be passed as metadata (that is, encoded in the file name as supplied by the bank clerk).
Routing number Deposit from account number
bit.ly/icf-bankbit.ly/srvlss-bank
bit.ly/icf-bankbit.ly/srvlss-bank
The bank explored a fully serverless approaches (on the
IBM Cloud) as well as two other hybrid/FaaS models
Serverless with public
IBM Cloud Functions
Deployment of the
computing engine on Cloud
• Serverless computing
Serverless on premises

with Apache OpenWhisk
Deployment of the computing
engine on-premises
• Sensitive data
• Avoid vendor lock-in
Hybrid, in a cloud-
bursting model
Deployment of the
computing model both
Cloud and on-premises
• Total cost of ownership
bit.ly/icf-bankbit.ly/srvlss-bank
Hybrid approach, synchronization through CouchDB replication
bit.ly/icf-bankbit.ly/srvlss-bank
Workload with hybrid scheduling (cloud bursting to public)
bit.ly/icf-bankbit.ly/srvlss-bank
Impressive results based on their capacity, performance, and cost tests
Yearly Cost = # of Executions 

        x Average Time (in seconds) 

        x Allocated Memory per Execution
        x $ per GB/second
Estimating that
• Number of USA check transactions in 2016: 60 million1
• Average time of execution in seconds: 7 seconds
• Allocated memory per execution in GB: 0.256 GB
• Cost per GB-second of execution: 0.000017 USD
With these estimations we can predict that the
total yearly cost to process every paper check in 2016
would be approximately $1,830 USD if based on OpenWhisk.
bit.ly/icf-bankbit.ly/srvlss-bank
bit.ly/icf-bank
Diving into the code
Demo
github.com/IBM/openchecks
bit.ly/icf-bank
bit.ly/icf-bank
Where to go next
This journey highlights several OpenWhisk strengths
• Actions (functions) can be written in the best language for the job because of support for
polyglot development with Node.js and Docker, among others.
bit.ly/icf-bank
• The same OpenWhisk core system can be consumed on the public cloud and installed within
your own data center.
• The open source nature of OpenWhisk makes it transparent how data moves through the
system and is stored at rest.
• OpenWhisk has built-in support for responding to database change events from Cloudant and
Apache CouchDB.
Other potential banking applications
Overnight batch jobs
Execute tasks in parallel,
scaling out as needed, but
only for a few minutes.
bit.ly/icf-bank
Mobile app backends
Autoscale in response to
demand that differs on
weekends and weekdays.
Customer service bots
Create instances in
response to user inquiries
as needed.
Optimize existing banking applications
and build new ones faster
with IBM Cloud Functions
Daniel Krook
Software Engineer & Developer Advocate
@DanielKrook
bit.ly/icf-bank

More Related Content

More from Daniel Krook

Building serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud FunctionsBuilding serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud FunctionsDaniel Krook
 
Building serverless applications with Apache OpenWhisk
Building serverless applications with Apache OpenWhiskBuilding serverless applications with Apache OpenWhisk
Building serverless applications with Apache OpenWhiskDaniel Krook
 
Containers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment optionsContainers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment optionsDaniel Krook
 
Serverless architectures built on an open source platform
Serverless architectures built on an open source platformServerless architectures built on an open source platform
Serverless architectures built on an open source platformDaniel Krook
 
Build a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskBuild a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskDaniel Krook
 
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...Daniel Krook
 
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Daniel Krook
 
Serverless apps with OpenWhisk
Serverless apps with OpenWhiskServerless apps with OpenWhisk
Serverless apps with OpenWhiskDaniel Krook
 
OpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsOpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsDaniel Krook
 
Containers, OCI, CNCF, Magnum, Kuryr, and You!
Containers, OCI, CNCF, Magnum, Kuryr, and You!Containers, OCI, CNCF, Magnum, Kuryr, and You!
Containers, OCI, CNCF, Magnum, Kuryr, and You!Daniel Krook
 
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayerTaking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayerDaniel Krook
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...Daniel Krook
 
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...Daniel Krook
 
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...Daniel Krook
 
Finding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User GroupFinding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User GroupDaniel Krook
 
IBM and OpenStack: Collaboration Beyond the Code
IBM and OpenStack: Collaboration Beyond the CodeIBM and OpenStack: Collaboration Beyond the Code
IBM and OpenStack: Collaboration Beyond the CodeDaniel Krook
 
Dockerizing OpenStack for High Availability
Dockerizing OpenStack for High AvailabilityDockerizing OpenStack for High Availability
Dockerizing OpenStack for High AvailabilityDaniel Krook
 
Power Systems Projects in Research
Power Systems Projects in ResearchPower Systems Projects in Research
Power Systems Projects in ResearchDaniel Krook
 
Neutron Networking: Service Groups, Policies and Chains
Neutron Networking: Service Groups, Policies and ChainsNeutron Networking: Service Groups, Policies and Chains
Neutron Networking: Service Groups, Policies and ChainsDaniel Krook
 
Advanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
Advanced Data Retrieval and Analytics with Apache Spark and Openstack SwiftAdvanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
Advanced Data Retrieval and Analytics with Apache Spark and Openstack SwiftDaniel Krook
 

More from Daniel Krook (20)

Building serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud FunctionsBuilding serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud Functions
 
Building serverless applications with Apache OpenWhisk
Building serverless applications with Apache OpenWhiskBuilding serverless applications with Apache OpenWhisk
Building serverless applications with Apache OpenWhisk
 
Containers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment optionsContainers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment options
 
Serverless architectures built on an open source platform
Serverless architectures built on an open source platformServerless architectures built on an open source platform
Serverless architectures built on an open source platform
 
Build a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskBuild a cloud native app with OpenWhisk
Build a cloud native app with OpenWhisk
 
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
 
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
 
Serverless apps with OpenWhisk
Serverless apps with OpenWhiskServerless apps with OpenWhisk
Serverless apps with OpenWhisk
 
OpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsOpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven apps
 
Containers, OCI, CNCF, Magnum, Kuryr, and You!
Containers, OCI, CNCF, Magnum, Kuryr, and You!Containers, OCI, CNCF, Magnum, Kuryr, and You!
Containers, OCI, CNCF, Magnum, Kuryr, and You!
 
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayerTaking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
 
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
 
Finding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User GroupFinding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User Group
 
IBM and OpenStack: Collaboration Beyond the Code
IBM and OpenStack: Collaboration Beyond the CodeIBM and OpenStack: Collaboration Beyond the Code
IBM and OpenStack: Collaboration Beyond the Code
 
Dockerizing OpenStack for High Availability
Dockerizing OpenStack for High AvailabilityDockerizing OpenStack for High Availability
Dockerizing OpenStack for High Availability
 
Power Systems Projects in Research
Power Systems Projects in ResearchPower Systems Projects in Research
Power Systems Projects in Research
 
Neutron Networking: Service Groups, Policies and Chains
Neutron Networking: Service Groups, Policies and ChainsNeutron Networking: Service Groups, Policies and Chains
Neutron Networking: Service Groups, Policies and Chains
 
Advanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
Advanced Data Retrieval and Analytics with Apache Spark and Openstack SwiftAdvanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
Advanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
 

Recently uploaded

Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Soroosh Khodami
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfMehmet Akar
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfVictor Lopez
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...OnePlan Solutions
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfFurqanuddin10
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMarkus Moeller
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1KnowledgeSeed
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignNeo4j
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Andrea Goulet
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionMohammed Fazuluddin
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationWave PLM
 
Naer Toolbar Redesign - Usability Research Synthesis
Naer Toolbar Redesign - Usability Research SynthesisNaer Toolbar Redesign - Usability Research Synthesis
Naer Toolbar Redesign - Usability Research Synthesisparimabajra
 
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024Primacy Infotech
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfDeskTrack
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesNeo4j
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfWSO2
 

Recently uploaded (20)

Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
Naer Toolbar Redesign - Usability Research Synthesis
Naer Toolbar Redesign - Usability Research SynthesisNaer Toolbar Redesign - Usability Research Synthesis
Naer Toolbar Redesign - Usability Research Synthesis
 
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 

Optimize existing banking applications and build new ones faster with IBM Cloud Functions

  • 1. Optimize existing banking applications and build new ones faster with IBM Cloud Functions Daniel Krook Software Engineer & Developer Advocate @DanielKrook bit.ly/icf-bank
  • 2. Agenda • Overview of serverless architectures • Introduction to IBM Cloud Functions, powered by Apache OpenWhisk • Serverless architectures in banking: A case study • Demonstration of the proof of concept application bit.ly/icf-bank
  • 4. Increasingfocusonbusinesslogic Decreasing concern (and control) over stack implementation Bare Metal VM VM VM Virtual machines Functions Containers Serverless developers focus more on code, less on infrastructure bit.ly/icf-bank
  • 5. Monolithic Application Break-down into microservices Make each microservice HA Protect against regional outage Region A Region B Microservices can be hard to manage at scale bit.ly/icf-bank
  • 6. Emerging workloads are a good fit for event-driven programming Execute logic in response to database change Perform analytics on sensor input messages Provide cognitive computing via chatbots Schedule tasks performed for a short time Invoke autoscaled APIs and mobile backends bit.ly/icf-bank
  • 7. Memory allocated (MB) Time executing (milliseconds) Instances executing simultaneously (count) Cloud resource cost better matches business value gained Not a silver bullet, but this can result in substantial savings for many workloads New cost models more accurately charge for usage bit.ly/icf-bank
  • 9. OpenWhisk is a cloud platform that executes code in response to events OpenWhisk enables these serverless, event-driven workloads Provides serverless deployment and operations model Runs code only on-demand on a per-request basis Optimized utilization, fine-grained metering at any scale Flexible, extensible, polyglot programming model Open source and open ecosystem (Apache Incubator) Ability to run in public, private, and hybrid models bit.ly/icf-bank
  • 10. Developers work with triggers, actions, rules, and packages Data sources define events they emit as Triggers. Developers map Actions to Triggers via Rules. Packages provide integration with external services. T A P R Data sources define events they emit as Triggers. 
 Developers map Actions to Triggers via Rules.
 Packages provide integration with external services. bit.ly/icf-bank
  • 11. Use Apache OpenWhisk via IBM Cloud Functions: bluemix.net/openwhisk wsk CLI bit.ly/icf-bank
  • 12. IBM Cloud Functions provides management, tooling, and monitoring bit.ly/icf-bank
  • 13. IBM Cloud Functions provides management, tooling, and monitoring bit.ly/icf-bank
  • 14. IBM Cloud Functions provides management, tooling, and monitoring bit.ly/icf-bank
  • 15. IBM Cloud Functions also provides included API gateway integration bit.ly/icf-bank
  • 17. A large bank was interested in what serverless architectures could do for them Attractive new billing model Compared to a PaaS offering, FaaS charges the customer based on the actual time used by the service itself. Server uptime is not billed (serverless). bit.ly/icf-bankbit.ly/srvlss-bank Lower application complexity Independent scalability, integration and delivery pipelines, testability and development flows make it more streamlined and automated, resulting into less maintenance efforts and savings on operations and development costs. Easier API integration Provides a great way to quickly and reliably connect or relay private/public/ hybrid SOA or Cloud APIs at low cost
  • 18. Their check deposit process was slow and error prone The bank wanted to improve the speed, accuracy, and efficiency when processing the routing and payer account numbers on paper checks. Problem Bank tellers manually enter this information from checks into branch computing systems. Not only is this error prone, but the vast number of check deposit requests occur on one day in a two week period: Payday. This can overwhelm the IT system, which consists of a static set of bare metal servers which don’t always meet demand (and sit idle most other times), which delays the availability of payee funds, in turn reducing customer satisfaction. Potential solution Is there a way to automate this process that improves: • Accuracy by implementing optical character recognition for data entry? • Utilization by scaling up and demand as needed, without a fixed ceiling of capacity? • Cost by mapping a per-transaction model directly onto the exact computing resources needed? bit.ly/icf-bankbit.ly/srvlss-bank
  • 19. So let’s scan those checks to automate deposit processing Optical character recognition (OCR) should be used to parse the data at the bottom of the check representing: • The routing number • The payer account number If this information is not readable or does not follow the presented format, the check will be considered invalid. The hand-written amount data is not currently parsable nor is the payee account information provided on a check itself. This data needs to be passed as metadata (that is, encoded in the file name as supplied by the bank clerk). Routing number Deposit from account number bit.ly/icf-bankbit.ly/srvlss-bank
  • 21. The bank explored a fully serverless approaches (on the IBM Cloud) as well as two other hybrid/FaaS models Serverless with public IBM Cloud Functions Deployment of the computing engine on Cloud • Serverless computing Serverless on premises
 with Apache OpenWhisk Deployment of the computing engine on-premises • Sensitive data • Avoid vendor lock-in Hybrid, in a cloud- bursting model Deployment of the computing model both Cloud and on-premises • Total cost of ownership bit.ly/icf-bankbit.ly/srvlss-bank
  • 22. Hybrid approach, synchronization through CouchDB replication bit.ly/icf-bankbit.ly/srvlss-bank
  • 23. Workload with hybrid scheduling (cloud bursting to public) bit.ly/icf-bankbit.ly/srvlss-bank
  • 24. Impressive results based on their capacity, performance, and cost tests Yearly Cost = # of Executions 
         x Average Time (in seconds) 
         x Allocated Memory per Execution         x $ per GB/second Estimating that • Number of USA check transactions in 2016: 60 million1 • Average time of execution in seconds: 7 seconds • Allocated memory per execution in GB: 0.256 GB • Cost per GB-second of execution: 0.000017 USD With these estimations we can predict that the total yearly cost to process every paper check in 2016 would be approximately $1,830 USD if based on OpenWhisk. bit.ly/icf-bankbit.ly/srvlss-bank
  • 28. This journey highlights several OpenWhisk strengths • Actions (functions) can be written in the best language for the job because of support for polyglot development with Node.js and Docker, among others. bit.ly/icf-bank • The same OpenWhisk core system can be consumed on the public cloud and installed within your own data center. • The open source nature of OpenWhisk makes it transparent how data moves through the system and is stored at rest. • OpenWhisk has built-in support for responding to database change events from Cloudant and Apache CouchDB.
  • 29. Other potential banking applications Overnight batch jobs Execute tasks in parallel, scaling out as needed, but only for a few minutes. bit.ly/icf-bank Mobile app backends Autoscale in response to demand that differs on weekends and weekdays. Customer service bots Create instances in response to user inquiries as needed.
  • 30. Optimize existing banking applications and build new ones faster with IBM Cloud Functions Daniel Krook Software Engineer & Developer Advocate @DanielKrook bit.ly/icf-bank