SlideShare ist ein Scribd-Unternehmen logo
1 von 30
DevFest 
Tugdual Grall 
Technical Evangelist 
tug@mongodb.com 
@tgrall
Proud to be Polyglot! 
Tugdual Grall 
Technical Evangelist 
tug@mongodb.com 
@tgrall
Modern Applications 
• Modern Applications Must 
Manage any type of data 
Scale 
Be fault tolerant 
Adapt to change
Current Architecture 
• Mono-Technology 
• Single “language/architecture” 
• Single Database : RDBMS 
! 
• One size fits all approach 
JSP/JSF 
Services 
Messaging 
JTA 
DAO/JPA
Is it good for me? 
• Many files 
• XML, Sources, .. 
• Does Hibernate/JPA is good for all? 
• Impedance mismatch 
• Need to scale 
• from 0 to 50millions users in 6 weeks 
• How to add new features easily? 
• changing code, updating data structure, ... 
• and all this for yesterday!
One size does NOT fit all!
Look at our data….
Big Data
Big Users 
http://www.theconnectivist.com/ 
& 
Cisco
Stay up! 
. 
. 
. 
Application 
! 
Scale out 
Add more “Web” servers 
RDBMS 
! 
Scale Up 
Get bigger server 
App 
Server 
RDBMS
Scaling out RDBMS 
. 
. 
. 
App 
Server 
. 
. 
. 
Memcached 
. 
. 
. 
MySQL 
• Run Many SQL Servers 
! 
• Data could be sharded 
• Done by the application 
code 
! 
• Caching Layer
NoSQL to Scale out! 
. 
. 
. 
Application 
! 
Scale out 
Add more “Web” servers 
NoSQL 
! 
Scale Out 
Add more servers 
App 
Server 
. 
. 
. 
NoSQL
Operational vs Analytics Databases 
Applications, Interactions Warehouse, Analytics
Polyglot Persistence 
Big 
Data/Analysis Document RDBMS 
• Log 
Capture 
• Recommendations 
• Predictions 
• Ad 
Campaign 
• Products 
• User 
Profiles 
• Game 
Actions 
• Sessions 
• Shopping 
Cart 
• Financial 
Data 
• Reporting
Developer New Skills 
• Understand the pros/cons of each solutions 
– Programming API 
– How to access the data? (API, Query Languages) 
• Learn how to design data model 
– De-normalizing and duplicate data is not a problem 
• Integrate each solution to your application 
• Note: This is something you already do ! 
– Operational RDBMS and Data Warehouse
Data Service Layer 
• Wrap data call in Services 
– loosely coupled 
. 
. 
. 
App 
Server
Use Case : Personalization 
WebSite 
/ 
Application 
Personalization Database 
LogsLogs 
Data Processing 
Application 
Data
Use Case : Mobile / API 
PIM Database 
• Legacy Application 
• Product Information 
NoSQL 
• REST API 
• Product Data 
• Additional Metadata
Now 
What?
Why multiple languages? 
• Sometimes we have no choice 
– HTML/CSS/JavaScript + Server Side 
– Mobile Native Applications 
• Java/.Net are slow movers 
– Java EE 5.0 is still mainstream (2006) 
• Many languages and frameworks 
– Scala, Clojure, Groovy, Dart, Go, Ruby, Python, 
F#, Erlang, Node.js, Rails, Play!, Grails, ...
Examples 
• Realtime interaction with WebSockets : 
– Wait for Java EE 7 to supported by your IT? 
– Hack your app server and application with 
Continuation ? 
– Use Node.js and Socket.io ? 
! 
• Data Collection and Treatment? 
– Find a library? 
– Create your library? 
– Use Java 8 and Lambdas? 
– Use Scala?
Examples 
• Simple CRUD Application 
– Use the JavaEE stack with JPA and JSF? 
– Use Spring ? 
– Use tools like Play!, Grails, Rails, MEAN ?
How to chose? 
• Maturity/Supportability 
• Features Set 
• Learning Curve 
• Productivity
Polyglot Programming in Action 
• Build a new database 
– Save and retrieve data on disk 
– Cache the data on RAM 
– Build a query engine 
– Build replication and sharding 
– Build a Monitoring engine & console 
– Build a Backup/Restore Solution
Polyglot Programming in Action 
• Data access, caching, and replication 
– C/C++ is the fastest way to interact with I/O 
– Leverage existing Caching layer & I/O 
– memory-mapped file 
• Query & Indexing 
– Leverage C/C++, and expose native JS engine 
• Management 
– Web Console : Java & HTML/CSS 
– Agent : GoLang
MongoDB & MMS
Use Case : Second Screen Experience 
. 
. 
. 
Node.js 
+ 
Socket 
IO 
Play! 
ApplicaIon 
Python 
Scripts
Demonstration 
Sentiment 
Analysis
Conclusion 
• Use the good tool for the good task 
– Do not try to “hack” something when you 
have a simpler solution 
– Think about your users first... so deliver and 
get feedback 
• Learning is part of our job ! 
– And this will help you and your project 
• What about maintenance? 
– Do you think it is easier to maintain complex 
code?
Tugdual Grall 
Technical Evangelist 
tug@mongodb.com 
@tgrall 
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

AI Modernization at AT&T and the Application to Fraud with Databricks
AI Modernization at AT&T and the Application to Fraud with DatabricksAI Modernization at AT&T and the Application to Fraud with Databricks
AI Modernization at AT&T and the Application to Fraud with DatabricksDatabricks
 
Pyramid Analytics vs Sisense
Pyramid Analytics vs SisensePyramid Analytics vs Sisense
Pyramid Analytics vs SisensePyramid Analytics
 
Skillwise corporate presentation
Skillwise corporate presentationSkillwise corporate presentation
Skillwise corporate presentationSkillwise Group
 
Bazillion New Technologies
Bazillion New TechnologiesBazillion New Technologies
Bazillion New TechnologiesAyman Mahfouz
 
Data Engineering Challenges - DSE Day at Bandung Institute of Technology
Data Engineering Challenges - DSE Day at Bandung Institute of TechnologyData Engineering Challenges - DSE Day at Bandung Institute of Technology
Data Engineering Challenges - DSE Day at Bandung Institute of TechnologyRendy Bambang Junior
 
Olympya web-tools 2011
Olympya web-tools 2011Olympya web-tools 2011
Olympya web-tools 2011Paulo Mattos
 
Pinterest - Big Data Machine Learning Platform at Pinterest
Pinterest - Big Data Machine Learning Platform at PinterestPinterest - Big Data Machine Learning Platform at Pinterest
Pinterest - Big Data Machine Learning Platform at PinterestAlluxio, Inc.
 
CakePHP, cakePHP development Company
CakePHP, cakePHP development CompanyCakePHP, cakePHP development Company
CakePHP, cakePHP development CompanyNetConnectWeb
 
Inside Zalo: Developing a mobile messenger for the audience of millions - VN ...
Inside Zalo: Developing a mobile messenger for the audience of millions - VN ...Inside Zalo: Developing a mobile messenger for the audience of millions - VN ...
Inside Zalo: Developing a mobile messenger for the audience of millions - VN ...Quang Diệu Nguyễn
 
SQL Azure for ISUG(SQL Server Israeli User Group)
SQL Azure for ISUG(SQL Server Israeli User Group)SQL Azure for ISUG(SQL Server Israeli User Group)
SQL Azure for ISUG(SQL Server Israeli User Group)Pini Krisher
 
SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foes SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foes Pedro Gomes
 
DevCon Summit 2014 #DevelopersUnitePH: The "What" and "Why" of NoSQL by Matia...
DevCon Summit 2014 #DevelopersUnitePH: The "What" and "Why" of NoSQL by Matia...DevCon Summit 2014 #DevelopersUnitePH: The "What" and "Why" of NoSQL by Matia...
DevCon Summit 2014 #DevelopersUnitePH: The "What" and "Why" of NoSQL by Matia...DEVCON
 
The XML Forms Architecture
The XML Forms ArchitectureThe XML Forms Architecture
The XML Forms ArchitectureiText Group nv
 
Why you really want SQL in a Real-Time Enterprise Environment
Why you really want SQL in a Real-Time Enterprise EnvironmentWhy you really want SQL in a Real-Time Enterprise Environment
Why you really want SQL in a Real-Time Enterprise EnvironmentVoltDB
 
SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foesSLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foesMiguel Araújo
 
Sisense and Simba MongoDB Analytics Webinar
Sisense and Simba MongoDB Analytics WebinarSisense and Simba MongoDB Analytics Webinar
Sisense and Simba MongoDB Analytics WebinarSimba Technologies
 

Was ist angesagt? (20)

AI Modernization at AT&T and the Application to Fraud with Databricks
AI Modernization at AT&T and the Application to Fraud with DatabricksAI Modernization at AT&T and the Application to Fraud with Databricks
AI Modernization at AT&T and the Application to Fraud with Databricks
 
In Memory Cahce Structure
In Memory Cahce StructureIn Memory Cahce Structure
In Memory Cahce Structure
 
Pyramid Analytics vs Sisense
Pyramid Analytics vs SisensePyramid Analytics vs Sisense
Pyramid Analytics vs Sisense
 
Skillwise corporate presentation
Skillwise corporate presentationSkillwise corporate presentation
Skillwise corporate presentation
 
SPA vs. MPA
SPA vs. MPASPA vs. MPA
SPA vs. MPA
 
Bazillion New Technologies
Bazillion New TechnologiesBazillion New Technologies
Bazillion New Technologies
 
Data Engineering Challenges - DSE Day at Bandung Institute of Technology
Data Engineering Challenges - DSE Day at Bandung Institute of TechnologyData Engineering Challenges - DSE Day at Bandung Institute of Technology
Data Engineering Challenges - DSE Day at Bandung Institute of Technology
 
Olympya web-tools 2011
Olympya web-tools 2011Olympya web-tools 2011
Olympya web-tools 2011
 
Pinterest - Big Data Machine Learning Platform at Pinterest
Pinterest - Big Data Machine Learning Platform at PinterestPinterest - Big Data Machine Learning Platform at Pinterest
Pinterest - Big Data Machine Learning Platform at Pinterest
 
CakePHP, cakePHP development Company
CakePHP, cakePHP development CompanyCakePHP, cakePHP development Company
CakePHP, cakePHP development Company
 
Inside Zalo: Developing a mobile messenger for the audience of millions - VN ...
Inside Zalo: Developing a mobile messenger for the audience of millions - VN ...Inside Zalo: Developing a mobile messenger for the audience of millions - VN ...
Inside Zalo: Developing a mobile messenger for the audience of millions - VN ...
 
SQL Azure for ISUG(SQL Server Israeli User Group)
SQL Azure for ISUG(SQL Server Israeli User Group)SQL Azure for ISUG(SQL Server Israeli User Group)
SQL Azure for ISUG(SQL Server Israeli User Group)
 
Jobs IT Softwares
Jobs IT SoftwaresJobs IT Softwares
Jobs IT Softwares
 
SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foes SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foes
 
DevCon Summit 2014 #DevelopersUnitePH: The "What" and "Why" of NoSQL by Matia...
DevCon Summit 2014 #DevelopersUnitePH: The "What" and "Why" of NoSQL by Matia...DevCon Summit 2014 #DevelopersUnitePH: The "What" and "Why" of NoSQL by Matia...
DevCon Summit 2014 #DevelopersUnitePH: The "What" and "Why" of NoSQL by Matia...
 
The XML Forms Architecture
The XML Forms ArchitectureThe XML Forms Architecture
The XML Forms Architecture
 
Why you really want SQL in a Real-Time Enterprise Environment
Why you really want SQL in a Real-Time Enterprise EnvironmentWhy you really want SQL in a Real-Time Enterprise Environment
Why you really want SQL in a Real-Time Enterprise Environment
 
SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foesSLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foes
 
Sisense and Simba MongoDB Analytics Webinar
Sisense and Simba MongoDB Analytics WebinarSisense and Simba MongoDB Analytics Webinar
Sisense and Simba MongoDB Analytics Webinar
 
noSQL choices
noSQL choicesnoSQL choices
noSQL choices
 

Andere mochten auch

Практическое применение принципа инверсии зависимостей на примере Ruby
Практическое применение принципа инверсии зависимостей на примере RubyПрактическое применение принципа инверсии зависимостей на примере Ruby
Практическое применение принципа инверсии зависимостей на примере RubyProvectus
 
Fin200.wk2 check pointfinancialratios_davidf
Fin200.wk2 check pointfinancialratios_davidfFin200.wk2 check pointfinancialratios_davidf
Fin200.wk2 check pointfinancialratios_davidfDavid Fryoux
 
Законопроект "Про наукову та науково-технічну діяльність"
Законопроект "Про наукову та науково-технічну діяльність"Законопроект "Про наукову та науково-технічну діяльність"
Законопроект "Про наукову та науково-технічну діяльність"UAReforms
 
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"Provectus
 
Lize de Jager - Reference Letter
Lize de Jager - Reference LetterLize de Jager - Reference Letter
Lize de Jager - Reference LetterLize De Jager
 
Ринат Ахметов: "Восстановление модели трехмерного объекта по видеопотоку"
Ринат Ахметов: "Восстановление модели трехмерного объекта по видеопотоку"Ринат Ахметов: "Восстановление модели трехмерного объекта по видеопотоку"
Ринат Ахметов: "Восстановление модели трехмерного объекта по видеопотоку"Provectus
 
Ficha 2 de 3º Música
Ficha 2 de 3º MúsicaFicha 2 de 3º Música
Ficha 2 de 3º Músicamusicalarra
 
Роман Петров - юнит-тестирование мобильных приложений на примере платформы iOS
Роман Петров - юнит-тестирование мобильных приложений на примере платформы iOSРоман Петров - юнит-тестирование мобильных приложений на примере платформы iOS
Роман Петров - юнит-тестирование мобильных приложений на примере платформы iOSProvectus
 
вольфсон борис - кайзен процесс непрерывного совершенствования
вольфсон борис -  кайзен процесс непрерывного совершенствованиявольфсон борис -  кайзен процесс непрерывного совершенствования
вольфсон борис - кайзен процесс непрерывного совершенствованияMagneta AI
 
Final Year Thesis.PDF
Final Year Thesis.PDFFinal Year Thesis.PDF
Final Year Thesis.PDFOmer Farooqi
 
Unmardelendas
UnmardelendasUnmardelendas
Unmardelendasiesasorey
 
La niña curiosa
La niña curiosaLa niña curiosa
La niña curiosacampusdomar
 
Textos de estudiantes de tercer grado de secundaria (Albert Sofia)
Textos de estudiantes de tercer grado de secundaria (Albert   Sofia)Textos de estudiantes de tercer grado de secundaria (Albert   Sofia)
Textos de estudiantes de tercer grado de secundaria (Albert Sofia)lissetteperez30
 
Babatunde Ladeinde dissertation
Babatunde Ladeinde dissertationBabatunde Ladeinde dissertation
Babatunde Ladeinde dissertationBabatunde Ladeinde
 

Andere mochten auch (20)

My updated CV
My updated CVMy updated CV
My updated CV
 
Практическое применение принципа инверсии зависимостей на примере Ruby
Практическое применение принципа инверсии зависимостей на примере RubyПрактическое применение принципа инверсии зависимостей на примере Ruby
Практическое применение принципа инверсии зависимостей на примере Ruby
 
Vadat bniya060208(2)
Vadat bniya060208(2)Vadat bniya060208(2)
Vadat bniya060208(2)
 
Podsumowanie
PodsumowaniePodsumowanie
Podsumowanie
 
Fin200.wk2 check pointfinancialratios_davidf
Fin200.wk2 check pointfinancialratios_davidfFin200.wk2 check pointfinancialratios_davidf
Fin200.wk2 check pointfinancialratios_davidf
 
Законопроект "Про наукову та науково-технічну діяльність"
Законопроект "Про наукову та науково-технічну діяльність"Законопроект "Про наукову та науково-технічну діяльність"
Законопроект "Про наукову та науково-технічну діяльність"
 
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"
QA MeetUp - Евгений Сабиров: "Рай тестировщика - миф или реальность?"
 
Lize de Jager - Reference Letter
Lize de Jager - Reference LetterLize de Jager - Reference Letter
Lize de Jager - Reference Letter
 
Ринат Ахметов: "Восстановление модели трехмерного объекта по видеопотоку"
Ринат Ахметов: "Восстановление модели трехмерного объекта по видеопотоку"Ринат Ахметов: "Восстановление модели трехмерного объекта по видеопотоку"
Ринат Ахметов: "Восстановление модели трехмерного объекта по видеопотоку"
 
Ficha 2 de 3º Música
Ficha 2 de 3º MúsicaFicha 2 de 3º Música
Ficha 2 de 3º Música
 
Роман Петров - юнит-тестирование мобильных приложений на примере платформы iOS
Роман Петров - юнит-тестирование мобильных приложений на примере платформы iOSРоман Петров - юнит-тестирование мобильных приложений на примере платформы iOS
Роман Петров - юнит-тестирование мобильных приложений на примере платформы iOS
 
вольфсон борис - кайзен процесс непрерывного совершенствования
вольфсон борис -  кайзен процесс непрерывного совершенствованиявольфсон борис -  кайзен процесс непрерывного совершенствования
вольфсон борис - кайзен процесс непрерывного совершенствования
 
Final Year Thesis.PDF
Final Year Thesis.PDFFinal Year Thesis.PDF
Final Year Thesis.PDF
 
Unmardelendas
UnmardelendasUnmardelendas
Unmardelendas
 
La niña curiosa
La niña curiosaLa niña curiosa
La niña curiosa
 
Textos de estudiantes de tercer grado de secundaria (Albert Sofia)
Textos de estudiantes de tercer grado de secundaria (Albert   Sofia)Textos de estudiantes de tercer grado de secundaria (Albert   Sofia)
Textos de estudiantes de tercer grado de secundaria (Albert Sofia)
 
Bienvenidos
BienvenidosBienvenidos
Bienvenidos
 
Pam oce-13
Pam oce-13Pam oce-13
Pam oce-13
 
Babatunde Ladeinde dissertation
Babatunde Ladeinde dissertationBabatunde Ladeinde dissertation
Babatunde Ladeinde dissertation
 
muzi project
muzi projectmuzi project
muzi project
 

Ähnlich wie Proud to be polyglot

Hadoop and the Data Warehouse: Point/Counter Point
Hadoop and the Data Warehouse: Point/Counter PointHadoop and the Data Warehouse: Point/Counter Point
Hadoop and the Data Warehouse: Point/Counter PointInside Analysis
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleIT Arena
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotchaphegaro
 
Understanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud PlatformUnderstanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud PlatformDr. Ketan Parmar
 
Machine Learning for Smarter Apps - Jacksonville Meetup
Machine Learning for Smarter Apps - Jacksonville MeetupMachine Learning for Smarter Apps - Jacksonville Meetup
Machine Learning for Smarter Apps - Jacksonville MeetupSri Ambati
 
The Challenges of Bringing Machine Learning to the Masses
The Challenges of Bringing Machine Learning to the MassesThe Challenges of Bringing Machine Learning to the Masses
The Challenges of Bringing Machine Learning to the MassesAlice Zheng
 
Sunshine consulting Mopuru Babu CV_Java_J2ee_Spring_Bigdata_Scala_Spark
Sunshine consulting Mopuru Babu CV_Java_J2ee_Spring_Bigdata_Scala_SparkSunshine consulting Mopuru Babu CV_Java_J2ee_Spring_Bigdata_Scala_Spark
Sunshine consulting Mopuru Babu CV_Java_J2ee_Spring_Bigdata_Scala_SparkMopuru Babu
 
Sunshine consulting mopuru babu cv_java_j2_ee_spring_bigdata_scala_Spark
Sunshine consulting mopuru babu cv_java_j2_ee_spring_bigdata_scala_SparkSunshine consulting mopuru babu cv_java_j2_ee_spring_bigdata_scala_Spark
Sunshine consulting mopuru babu cv_java_j2_ee_spring_bigdata_scala_SparkMopuru Babu
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application StrategiesBIOVIA
 
In-Memory Computing - The Big Picture
In-Memory Computing - The Big PictureIn-Memory Computing - The Big Picture
In-Memory Computing - The Big PictureMarkus Kett
 
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsCloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsYong Feng
 
Transform your DBMS to drive engagement innovation with Big Data
Transform your DBMS to drive engagement innovation with Big DataTransform your DBMS to drive engagement innovation with Big Data
Transform your DBMS to drive engagement innovation with Big DataAshnikbiz
 
Machine learning model to production
Machine learning model to productionMachine learning model to production
Machine learning model to productionGeorg Heiler
 
Write Generic Code with the Tooling API
Write Generic Code with the Tooling APIWrite Generic Code with the Tooling API
Write Generic Code with the Tooling APIAdam Olshansky
 
OPEN'17_4_Postgres: The Centerpiece for Modernising IT Infrastructures
OPEN'17_4_Postgres: The Centerpiece for Modernising IT InfrastructuresOPEN'17_4_Postgres: The Centerpiece for Modernising IT Infrastructures
OPEN'17_4_Postgres: The Centerpiece for Modernising IT InfrastructuresKangaroot
 
Big Data Open Source Tools and Trends: Enable Real-Time Business Intelligence...
Big Data Open Source Tools and Trends: Enable Real-Time Business Intelligence...Big Data Open Source Tools and Trends: Enable Real-Time Business Intelligence...
Big Data Open Source Tools and Trends: Enable Real-Time Business Intelligence...Perficient, Inc.
 
InfoSphere BigInsights - Analytics power for Hadoop - field experience
InfoSphere BigInsights - Analytics power for Hadoop - field experienceInfoSphere BigInsights - Analytics power for Hadoop - field experience
InfoSphere BigInsights - Analytics power for Hadoop - field experienceWilfried Hoge
 
Student Industrial Training Presentation Slide
Student Industrial Training Presentation SlideStudent Industrial Training Presentation Slide
Student Industrial Training Presentation SlideKhairul Filhan
 

Ähnlich wie Proud to be polyglot (20)

Hadoop and the Data Warehouse: Point/Counter Point
Hadoop and the Data Warehouse: Point/Counter PointHadoop and the Data Warehouse: Point/Counter Point
Hadoop and the Data Warehouse: Point/Counter Point
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
DataOps with Project Amaterasu
DataOps with Project AmaterasuDataOps with Project Amaterasu
DataOps with Project Amaterasu
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
 
Understanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud PlatformUnderstanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud Platform
 
Machine Learning for Smarter Apps - Jacksonville Meetup
Machine Learning for Smarter Apps - Jacksonville MeetupMachine Learning for Smarter Apps - Jacksonville Meetup
Machine Learning for Smarter Apps - Jacksonville Meetup
 
The Challenges of Bringing Machine Learning to the Masses
The Challenges of Bringing Machine Learning to the MassesThe Challenges of Bringing Machine Learning to the Masses
The Challenges of Bringing Machine Learning to the Masses
 
Sunshine consulting Mopuru Babu CV_Java_J2ee_Spring_Bigdata_Scala_Spark
Sunshine consulting Mopuru Babu CV_Java_J2ee_Spring_Bigdata_Scala_SparkSunshine consulting Mopuru Babu CV_Java_J2ee_Spring_Bigdata_Scala_Spark
Sunshine consulting Mopuru Babu CV_Java_J2ee_Spring_Bigdata_Scala_Spark
 
Sunshine consulting mopuru babu cv_java_j2_ee_spring_bigdata_scala_Spark
Sunshine consulting mopuru babu cv_java_j2_ee_spring_bigdata_scala_SparkSunshine consulting mopuru babu cv_java_j2_ee_spring_bigdata_scala_Spark
Sunshine consulting mopuru babu cv_java_j2_ee_spring_bigdata_scala_Spark
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
In-Memory Computing - The Big Picture
In-Memory Computing - The Big PictureIn-Memory Computing - The Big Picture
In-Memory Computing - The Big Picture
 
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsCloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
 
Transform your DBMS to drive engagement innovation with Big Data
Transform your DBMS to drive engagement innovation with Big DataTransform your DBMS to drive engagement innovation with Big Data
Transform your DBMS to drive engagement innovation with Big Data
 
Machine learning model to production
Machine learning model to productionMachine learning model to production
Machine learning model to production
 
Venkata
VenkataVenkata
Venkata
 
Write Generic Code with the Tooling API
Write Generic Code with the Tooling APIWrite Generic Code with the Tooling API
Write Generic Code with the Tooling API
 
OPEN'17_4_Postgres: The Centerpiece for Modernising IT Infrastructures
OPEN'17_4_Postgres: The Centerpiece for Modernising IT InfrastructuresOPEN'17_4_Postgres: The Centerpiece for Modernising IT Infrastructures
OPEN'17_4_Postgres: The Centerpiece for Modernising IT Infrastructures
 
Big Data Open Source Tools and Trends: Enable Real-Time Business Intelligence...
Big Data Open Source Tools and Trends: Enable Real-Time Business Intelligence...Big Data Open Source Tools and Trends: Enable Real-Time Business Intelligence...
Big Data Open Source Tools and Trends: Enable Real-Time Business Intelligence...
 
InfoSphere BigInsights - Analytics power for Hadoop - field experience
InfoSphere BigInsights - Analytics power for Hadoop - field experienceInfoSphere BigInsights - Analytics power for Hadoop - field experience
InfoSphere BigInsights - Analytics power for Hadoop - field experience
 
Student Industrial Training Presentation Slide
Student Industrial Training Presentation SlideStudent Industrial Training Presentation Slide
Student Industrial Training Presentation Slide
 

Mehr von Tugdual Grall

Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkTugdual Grall
 
Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkTugdual Grall
 
Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Tugdual Grall
 
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Tugdual Grall
 
Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Tugdual Grall
 
Introduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopIntroduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopTugdual Grall
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Tugdual Grall
 
Drop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignDrop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignTugdual Grall
 
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6Tugdual Grall
 
Some cool features of MongoDB
Some cool features of MongoDBSome cool features of MongoDB
Some cool features of MongoDBTugdual Grall
 
Building Your First MongoDB Application
Building Your First MongoDB ApplicationBuilding Your First MongoDB Application
Building Your First MongoDB ApplicationTugdual Grall
 
Opensourceday 2014-iot
Opensourceday 2014-iotOpensourceday 2014-iot
Opensourceday 2014-iotTugdual Grall
 
Softshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with CouchbaseSoftshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with CouchbaseTugdual Grall
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseTugdual Grall
 
Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Tugdual Grall
 
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0Tugdual Grall
 
Big Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQLBig Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQLTugdual Grall
 

Mehr von Tugdual Grall (20)

Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache Flink
 
Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache Flink
 
Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1
 
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
 
Big Data Journey
Big Data JourneyBig Data Journey
Big Data Journey
 
Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015
 
Introduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopIntroduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi Workshop
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
 
MongoDB and Hadoop
MongoDB and HadoopMongoDB and Hadoop
MongoDB and Hadoop
 
Drop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignDrop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema Design
 
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
 
Some cool features of MongoDB
Some cool features of MongoDBSome cool features of MongoDB
Some cool features of MongoDB
 
Building Your First MongoDB Application
Building Your First MongoDB ApplicationBuilding Your First MongoDB Application
Building Your First MongoDB Application
 
Opensourceday 2014-iot
Opensourceday 2014-iotOpensourceday 2014-iot
Opensourceday 2014-iot
 
Neotys conference
Neotys conferenceNeotys conference
Neotys conference
 
Softshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with CouchbaseSoftshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with Couchbase
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with Couchbase
 
Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?
 
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
 
Big Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQLBig Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQL
 

Kürzlich hochgeladen

Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Kürzlich hochgeladen (20)

Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Proud to be polyglot

  • 1. DevFest Tugdual Grall Technical Evangelist tug@mongodb.com @tgrall
  • 2. Proud to be Polyglot! Tugdual Grall Technical Evangelist tug@mongodb.com @tgrall
  • 3. Modern Applications • Modern Applications Must Manage any type of data Scale Be fault tolerant Adapt to change
  • 4. Current Architecture • Mono-Technology • Single “language/architecture” • Single Database : RDBMS ! • One size fits all approach JSP/JSF Services Messaging JTA DAO/JPA
  • 5. Is it good for me? • Many files • XML, Sources, .. • Does Hibernate/JPA is good for all? • Impedance mismatch • Need to scale • from 0 to 50millions users in 6 weeks • How to add new features easily? • changing code, updating data structure, ... • and all this for yesterday!
  • 6. One size does NOT fit all!
  • 7. Look at our data….
  • 10. Stay up! . . . Application ! Scale out Add more “Web” servers RDBMS ! Scale Up Get bigger server App Server RDBMS
  • 11. Scaling out RDBMS . . . App Server . . . Memcached . . . MySQL • Run Many SQL Servers ! • Data could be sharded • Done by the application code ! • Caching Layer
  • 12. NoSQL to Scale out! . . . Application ! Scale out Add more “Web” servers NoSQL ! Scale Out Add more servers App Server . . . NoSQL
  • 13. Operational vs Analytics Databases Applications, Interactions Warehouse, Analytics
  • 14. Polyglot Persistence Big Data/Analysis Document RDBMS • Log Capture • Recommendations • Predictions • Ad Campaign • Products • User Profiles • Game Actions • Sessions • Shopping Cart • Financial Data • Reporting
  • 15. Developer New Skills • Understand the pros/cons of each solutions – Programming API – How to access the data? (API, Query Languages) • Learn how to design data model – De-normalizing and duplicate data is not a problem • Integrate each solution to your application • Note: This is something you already do ! – Operational RDBMS and Data Warehouse
  • 16. Data Service Layer • Wrap data call in Services – loosely coupled . . . App Server
  • 17. Use Case : Personalization WebSite / Application Personalization Database LogsLogs Data Processing Application Data
  • 18. Use Case : Mobile / API PIM Database • Legacy Application • Product Information NoSQL • REST API • Product Data • Additional Metadata
  • 20. Why multiple languages? • Sometimes we have no choice – HTML/CSS/JavaScript + Server Side – Mobile Native Applications • Java/.Net are slow movers – Java EE 5.0 is still mainstream (2006) • Many languages and frameworks – Scala, Clojure, Groovy, Dart, Go, Ruby, Python, F#, Erlang, Node.js, Rails, Play!, Grails, ...
  • 21. Examples • Realtime interaction with WebSockets : – Wait for Java EE 7 to supported by your IT? – Hack your app server and application with Continuation ? – Use Node.js and Socket.io ? ! • Data Collection and Treatment? – Find a library? – Create your library? – Use Java 8 and Lambdas? – Use Scala?
  • 22. Examples • Simple CRUD Application – Use the JavaEE stack with JPA and JSF? – Use Spring ? – Use tools like Play!, Grails, Rails, MEAN ?
  • 23. How to chose? • Maturity/Supportability • Features Set • Learning Curve • Productivity
  • 24. Polyglot Programming in Action • Build a new database – Save and retrieve data on disk – Cache the data on RAM – Build a query engine – Build replication and sharding – Build a Monitoring engine & console – Build a Backup/Restore Solution
  • 25. Polyglot Programming in Action • Data access, caching, and replication – C/C++ is the fastest way to interact with I/O – Leverage existing Caching layer & I/O – memory-mapped file • Query & Indexing – Leverage C/C++, and expose native JS engine • Management – Web Console : Java & HTML/CSS – Agent : GoLang
  • 27. Use Case : Second Screen Experience . . . Node.js + Socket IO Play! ApplicaIon Python Scripts
  • 29. Conclusion • Use the good tool for the good task – Do not try to “hack” something when you have a simpler solution – Think about your users first... so deliver and get feedback • Learning is part of our job ! – And this will help you and your project • What about maintenance? – Do you think it is easier to maintain complex code?
  • 30. Tugdual Grall Technical Evangelist tug@mongodb.com @tgrall Questions?