SlideShare uma empresa Scribd logo
1 de 67
Session ID: 3322A
Company: Craftworkz
Sam Hendrickx & Michiel Vandendriessche
IBM InterConnect 2017 Conference
Creating a Highly Scalable Chatbot in a Microservices Architecture Using IBM Bluemix
Hi handsome! How are you doing
today?
Feeling great! Just visiting San
Francisco. How r u?
Not yet, we just came back from a
conference.
I’m doing fine. Any plans for tonight?
Want to go for a drink?
Yeah why not!
Awesome Michiel! Can you please
verify your identity here so I know
you’re not a creep: http://bit.ly/abc123
OMG, IT’S A BOT!
THE ERA OF BOTS
BELGIUM
FRENCH GERMAN
39%
DUTCH
1%60%
BELGIUM
NOBODY CARES
ABOUT DUTCH
LET’S BUILD IT
OURSELVES
NLP
REST
SESSION
RESPONSE
FIRST APPROACH
NLP
REST
SESSION
RESPONSE
FIRST APPROACH
NLP
REST
SESSION
RESPONSE
FIRST APPROACH
NLP
REST
SESSION
RESPONSE
FIRST APPROACH
NLP
REST
SESSION
RESPONSE
FIRST APPROACH
What can you tell me about IBM
InterConnect 2017?
InterConnect is a conference where
you can tap into the most advanced
cloud technology in the market
today!
Where is it being held?
The location of InterConnect is
Mandalay Bay, Las Vegas, NV
DAMN, IT’S NOT
SCALING!
10 USERS
10 MESSAGES
1.000 USERS
10 MESSAGES
ADD MORE
INSTANCES!
NLP
REST
SESSION
RESPONSENLP
REST
SESSION
RESPONSENLP
REST
SESSION
RESPONSE
PYTHON RUNTIMES
. . .
BOT SUFFERING
FROM AMNESIA
What can you tell me about IBM
InterConnect 2017?
InterConnect is a conference where
you can tap into the most advanced
cloud technology in the market
today!
Where is it being held?
I don’t know how to answer that
question…
NLP
REST
SESSION
RESPONSENLP
REST
SESSION
RESPONSENLP
REST
SESSION
RESPONSE
PYTHON RUNTIMES
. . .
NLP
REST
SESSION
RESPONSE
CONTEXT STORED
IN MEMORY
NLP
REST
SESSION
RESPONSENLP
REST
SESSION
RESPONSENLP
REST
SESSION
RESPONSE
PYTHON RUNTIMES
. . .
STORE SESSION
INFO IN DATABASE
NLP
REST
SESSION MANAGER
RESPONSENLP
REST
SESSION MANAGER
RESPONSENLP
REST
SESSION MANAGER
RESPONSE
PYTHON RUNTIMES
. . .
SESSION
COMPOSE FOR MONGODB
OUR BOT IS NOT
ON SOCIAL MEDIA!
NLP
REST
SESSION MANAGER
RESPONSE
WE DON’T WANT
TO MANAGE
CONNECTIONS HERE
ADD API MANAGER
TO ARCHITECTURE
SESSION
COMPOSE FOR MONGODB
API
MANAGER
API
MANAGER
API
MANAGER
. . .
NODEJS RUNTIMES
NLP
REST
SESSION MANAGER
RESPONSENLP
REST
SESSION MANAGER
RESPONSENLP
REST
SESSION MANAGER
RESPONSE
PYTHON RUNTIMES
. . .
SESSION
COMPOSE FOR MONGODB
API
MANAGER
API
MANAGER
API
MANAGER
. . .
NODEJS RUNTIMES
NLP
REST
SESSION MANAGER
RESPONSENLP
REST
SESSION MANAGER
RESPONSENLP
REST
SESSION MANAGER
RESPONSE
PYTHON RUNTIMES
. . .
SOME MESSAGES
ARE GETTING LOST!
SESSION
COMPOSE FOR MONGODB
API
MANAGER
API
MANAGER
API
MANAGER
. . .
NODEJS RUNTIMES
NLP
REST
SESSION MANAGER
RESPONSENLP
REST
SESSION MANAGER
RESPONSENLP
REST
SESSION MANAGER
RESPONSE
PYTHON RUNTIMES
. . .
MESSAGE
LOSS!
QUEUEING TO
THE RESCUE!
SESSION
COMPOSE FOR MONGODB
API
MANAGER
API
MANAGER
API
MANAGER
. . .
NODEJS RUNTIMES
COMPOSE FOR REDIS
NLP
SESSION MANAGER
RESPONSE
PYTHON RUNTIMES
. . .
NLP
SESSION MANAGER
RESPONSE NLP
SESSION MANAGER
RESPONSE
OUR AI NEEDS
EXTERNAL DATA!
LET’S MANAGE THOSE
CONNECTIONS!
NLP
CONNECTION MANAGER
SESSION MANAGER
RESPONSE
SESSION
COMPOSE FOR MONGODB
API
MANAGER
API
MANAGER
API
MANAGER . . .
NODEJS RUNTIMES
COMPOSE FOR REDIS
PYTHON RUNTIMES
. . .
NLP
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
NLP
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
NLP
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
OOPS, THIS I/O
IS QUITE SLOW!
BEFORE
NLP
SESSION MANAGER
RESPONSE
Q
A
~ 20 ms
WITH I/O
NLP
CONNECTION MANAGER
SESSION MANAGER
RESPONSE
Q
A
~ 200 ms
10.000 USERS
10 MESSAGES
CPU USAGE
THREADS THREADS
THREADS THREADS!
CPU USAGE
SESSION
COMPOSE FOR MONGODB
API
MANAGER
API
MANAGER
API
MANAGER . . .
NODEJS RUNTIMES
COMPOSE FOR REDIS
PYTHON RUNTIMES
. . .
NLP
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
NLP
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
NLP
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
RESULTS
THESE INSTANCES
SHOULD BE SCALING…
BLUEMIX AUTO-SCALING,
TAKE IT AWAY!
FINAL RESULTS
NOBODY CARES
ABOUT DUTCH
WATSON CARES!
SESSION
COMPOSE FOR MONGODB
API
MANAGER
API
MANAGER
API
MANAGER . . .
NODEJS RUNTIMES
COMPOSE FOR REDIS
PYTHON RUNTIMES
. . .
NLP
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
NLP
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
NLP
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
SESSION
COMPOSE FOR MONGODB
API
MANAGER
API
MANAGER
API
MANAGER . . .
NODEJS RUNTIMES
COMPOSE FOR REDIS
PYTHON RUNTIMES
. . .SESSION MANAGER
RESPONSE
CONNECTION MANAGER
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
SESSION MANAGER
RESPONSE
CONNECTION MANAGER
Get Connected
@craftworkz_co
Let’s stay in touch! We can meet you in one of our offices in
Leuven or Kontich. Or we can come to you. Nothing beats a coffee
and an interesting conversation ;-)
@craftworkz
@craftworkzco
@craftworkz_co
www.craftworkz.be
Veldkant 33A, 2550 Kontich
info@craftworkz.be
+32 498 44 50 61
Headquarter
Gaston Geenslaan 11 B4
BE-3001 Leuven
LEUVEN (BE) OFFICE
Veldkant 33A
BE-2550 Kontich
ANTWERP (BE) OFFICE
Pedro de Medinalaan 81,
NL-1086 XP Amsterdam
AMSTERDAM (NL) OFFICE

Mais conteúdo relacionado

Destaque

Destaque (18)

Bluemix Girl's Night by Keshia - Building a custom HR application
Bluemix Girl's Night by Keshia - Building a custom HR applicationBluemix Girl's Night by Keshia - Building a custom HR application
Bluemix Girl's Night by Keshia - Building a custom HR application
 
Introduction to IBM Bluemix
Introduction to IBM BluemixIntroduction to IBM Bluemix
Introduction to IBM Bluemix
 
Intro to Graph Databases
Intro to Graph DatabasesIntro to Graph Databases
Intro to Graph Databases
 
Creating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM Bluemix
 
Count-Min Tree Sketch : Approximate counting for NLP tasks
Count-Min Tree Sketch : Approximate counting for NLP tasksCount-Min Tree Sketch : Approximate counting for NLP tasks
Count-Min Tree Sketch : Approximate counting for NLP tasks
 
Hozd egyensúlyba magad a virágok rezgéseivel
Hozd egyensúlyba magad a virágok rezgéseivelHozd egyensúlyba magad a virágok rezgéseivel
Hozd egyensúlyba magad a virágok rezgéseivel
 
Case study haad operating model improvement model
Case study  haad operating model improvement modelCase study  haad operating model improvement model
Case study haad operating model improvement model
 
JHipster, modern web application development made easy
JHipster, modern web application development made easyJHipster, modern web application development made easy
JHipster, modern web application development made easy
 
Getting Started with Graph Databases
Getting Started with Graph Databases Getting Started with Graph Databases
Getting Started with Graph Databases
 
Node Summit 2016: Web App Architectures
Node Summit 2016:  Web App ArchitecturesNode Summit 2016:  Web App Architectures
Node Summit 2016: Web App Architectures
 
Migrating your monolithic application for micro services with JHipster
Migrating your monolithic application for micro services with JHipsterMigrating your monolithic application for micro services with JHipster
Migrating your monolithic application for micro services with JHipster
 
YOGA ASANA BY NEETU RANA
YOGA ASANA BY NEETU RANAYOGA ASANA BY NEETU RANA
YOGA ASANA BY NEETU RANA
 
NLP from scratch
NLP from scratch NLP from scratch
NLP from scratch
 
Deploying JHipster Microservices
Deploying JHipster MicroservicesDeploying JHipster Microservices
Deploying JHipster Microservices
 
Why Silicon Valley kicks Europe's butt
Why Silicon Valley kicks Europe's buttWhy Silicon Valley kicks Europe's butt
Why Silicon Valley kicks Europe's butt
 
IBM Bluemix Dedicated – GitHub Enterprise
IBM Bluemix Dedicated – GitHub EnterpriseIBM Bluemix Dedicated – GitHub Enterprise
IBM Bluemix Dedicated – GitHub Enterprise
 
Understanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container ServiceUnderstanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container Service
 
2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi
 

Semelhante a Craftworkz at InterConnect 2017 - Creating a Highly Scalable Chatbot in a Microservices Architecture Using IBM Bluemix

Clean code is not the goal - working software is
Clean code is not the goal - working software isClean code is not the goal - working software is
Clean code is not the goal - working software is
Edorian
 
Chico UI - Retreat 2011
Chico UI - Retreat 2011Chico UI - Retreat 2011
Chico UI - Retreat 2011
Guillermo Paz
 

Semelhante a Craftworkz at InterConnect 2017 - Creating a Highly Scalable Chatbot in a Microservices Architecture Using IBM Bluemix (20)

Php performance-talk
Php performance-talkPhp performance-talk
Php performance-talk
 
Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08
 
SketchApp Meetup Frankfurt - #1st Round
SketchApp Meetup Frankfurt - #1st RoundSketchApp Meetup Frankfurt - #1st Round
SketchApp Meetup Frankfurt - #1st Round
 
Presentation Devvela
Presentation DevvelaPresentation Devvela
Presentation Devvela
 
Devvela Presentation
Devvela PresentationDevvela Presentation
Devvela Presentation
 
Fronteer: How to be Worth Millions
Fronteer: How to be Worth MillionsFronteer: How to be Worth Millions
Fronteer: How to be Worth Millions
 
Clean code is not the goal - working software is
Clean code is not the goal - working software isClean code is not the goal - working software is
Clean code is not the goal - working software is
 
Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1
 
When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets Symfony
 
How have we developed product without bugs
How have we developed product without bugsHow have we developed product without bugs
How have we developed product without bugs
 
APIdays Paris 2019 - OpenAPI and AsyncAPI specifications as contracts by Mehd...
APIdays Paris 2019 - OpenAPI and AsyncAPI specifications as contracts by Mehd...APIdays Paris 2019 - OpenAPI and AsyncAPI specifications as contracts by Mehd...
APIdays Paris 2019 - OpenAPI and AsyncAPI specifications as contracts by Mehd...
 
Approaching unknown unknowns: CMF for the masses
Approaching unknown unknowns: CMF for the massesApproaching unknown unknowns: CMF for the masses
Approaching unknown unknowns: CMF for the masses
 
Chico UI - Retreat 2011
Chico UI - Retreat 2011Chico UI - Retreat 2011
Chico UI - Retreat 2011
 
Building beautiful apis
Building beautiful apisBuilding beautiful apis
Building beautiful apis
 
Is having no limits a limitation [distilled version]
Is having no limits a limitation [distilled version]Is having no limits a limitation [distilled version]
Is having no limits a limitation [distilled version]
 
UX Mobile
UX Mobile UX Mobile
UX Mobile
 
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspec
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspecTDD BDD PHP - Sviluppo guidato dai test in PHP con phpspec
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspec
 
Python enterprise vento di liberta
Python enterprise vento di libertaPython enterprise vento di liberta
Python enterprise vento di liberta
 
Cisco Connect 2018 Thailand - The future of workspace technology mr.paul pett...
Cisco Connect 2018 Thailand - The future of workspace technology mr.paul pett...Cisco Connect 2018 Thailand - The future of workspace technology mr.paul pett...
Cisco Connect 2018 Thailand - The future of workspace technology mr.paul pett...
 
IsobarCreate32 SF Opening / Kickoff
IsobarCreate32 SF Opening / KickoffIsobarCreate32 SF Opening / Kickoff
IsobarCreate32 SF Opening / Kickoff
 

Último

一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
q6pzkpark
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
nirzagarg
 
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
vexqp
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
gajnagarg
 
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
nirzagarg
 
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
vexqp
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
nirzagarg
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
nirzagarg
 
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
wsppdmt
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
nirzagarg
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Último (20)

一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
 
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
 
Switzerland Constitution 2002.pdf.........
Switzerland Constitution 2002.pdf.........Switzerland Constitution 2002.pdf.........
Switzerland Constitution 2002.pdf.........
 
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
 
SR-101-01012024-EN.docx Federal Constitution of the Swiss Confederation
SR-101-01012024-EN.docx  Federal Constitution  of the Swiss ConfederationSR-101-01012024-EN.docx  Federal Constitution  of the Swiss Confederation
SR-101-01012024-EN.docx Federal Constitution of the Swiss Confederation
 
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowVadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
 
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 

Craftworkz at InterConnect 2017 - Creating a Highly Scalable Chatbot in a Microservices Architecture Using IBM Bluemix

Notas do Editor

  1. SAM
  2. SAM a couple of months ago -> San Francisco When we came back from the conference -> Michiel Tinder Michiel was swiping left & right Came across beautiful girl Match Converstation went like this
  3. SAM
  4. SAM
  5. SAM - We we’rent the only ones
  6. SAM
  7. MICHIEL Sam & Michiel from Belgium Idea of where Belgium is -> animation Now -> Las Vegas
  8. MICHIEL Very small country with only 11 million inhabitants Very complex country 6 different governments in this very small country 3 different official languages Over 1000 kinds of beer ** DOES ANYBODY HAVE AN IDEA WHICH LANGUAGES? **
  9. MICHIEL … Era of chatbots Build chatbots A lot of cool tools for developers from different vendors on the market But one problem…
  10. MICHIEL … Those developer tools do not support the Dutch language Very simple solution
  11. MICHIEL … Let’s build this chatbot framework ourselves
  12. MICHIEL Founders of Craftworkz Build innovative prototypes for other companies Strong focus on artificial intelligence Build an engine that can be trained to interpret sentences in a specific domain Started with a very modest and humble approach
  13. MICHIEL Let’s take a look at this first approach
  14. MICHIEL REST API for handling HTTP requests
  15. MICHIEL NLP component for interpreting the sentences and invoking the right response NLP in a chatbot context uses machine learning to learn how to interpret short sentences Train the engine by giving examples of sentences and their corresponding interpretations
  16. MICHIEL Component that handles the actual responses
  17. MICHIEL Session component for keeping context We deployed this onto Bluemix and we built a first chatbot that could have looked something like this
  18. MICHIEL We will do a live demo later in the session
  19. SAM
  20. SAM
  21. SAM
  22. SAM
  23. SAM
  24. MICHIEL With this new architecture A new problem arose …
  25. MICHIEL Let’s take a look at the previous conversation … This only happened some times but not all the times
  26. MICHIEL ** DOES ANYONE HAVE AN IDEA WHAT HAPPENED? **
  27. MICHIEL Take a look at the architecture
  28. MICHIEL Context is stored in memory in the instances
  29. MICHIEL Every engine has its own version of the context in memory and they are not in sync What can you tell me about IBM InterConnect? -> handled by one engine The follow up question: Where is it being held? -> handled by another engine not knowing about the context
  30. MICHIEL Solution: … Looked at the Bluemix catalog
  31. MICHIEL Added a compose for MongoDB database Shared across all the engines Every engine now has a session manager for communicating with the MongoDB
  32. SAM
  33. SAM
  34. SAM
  35. SAM
  36. SAM
  37. SAM
  38. SAM
  39. SAM
  40. SAM
  41. SAM
  42. MICHIEL Chatbots need to integrate with external datasources API’s, databases, SQL, NoSQL, CRM’s and so on The responses can be enriched with data from these data sources
  43. MICHIEL …
  44. MICHIEL Added a connection manager to our engine …
  45. MICHIEL Complete architecture looked something like this Message comes from social media Sent to the API Pushed on the queue Pulled from the queue Analyzed Response is generated, with external data Keeping context in mind Sent back to the frontend
  46. MICHIEL We encoutered a new problem …
  47. MICHIEL Let’s take a look at how a message was processed before Pulled from the queue to the engine, processed, a response in generated and sent back
  48. MICHIEL Now Pulled from the queue Processed Response is enriched with external data -> communication takes some time Sent back to the frontend 10 times as long
  49. MICHIEL 10.000 users sending 10 messages in parallel This was getting slow Up to minutes response time We didn’t really know how to solve this
  50. MICHIEL Installed an activity monitor plugin for bluemix This is what it looked like under heavy load Disk usage -> don’t really care Memory -> seems okay CPU is very idle
  51. MICHIEL Only 5% of CPU usage under heavy load Most of the time, the CPU is waiting for I/O Waiting for external data
  52. MICHIEL Multithreading to the rescue Added 100 threads per instance working in parallel for handling messages
  53. MICHIEL If we now take a look at the activity monitor
  54. MICHIEL CPU usage of 93% A lot more efficient
  55. MICHIEL Let’s take a look at the complete testing architecture Jmeter for simulating 10.000users talking in parallel Making requests to the API
  56. MICHIEL This is what it looked like in a testing environment
  57. MICHIEL Average response time of around …
  58. SAM
  59. SAM
  60. SAM
  61. SAM
  62. MICHIEL
  63. SAM
  64. SAM
  65. SAM
  66. SAM
  67. SAM