SlideShare a Scribd company logo
1 of 51
SMACK is the new LAMP!
Mario Cartia
MILAN 10-11 NOVEMBER 2017
$ whoami
Mario Cartia
Head of Big Data Engine
ONCE UPON A TIME…
LAMP is an archetypal model of web
service stacks
Acronym of the names of its original open-
source components:
Linux Operating System
Apache Web Server
MySQL RDBMS
PHP Programming Language
ONCE UPON A TIME…
ONCE UPON A TIME…
Specific solutions are required for
websites that serve large numbers of
requests, or provide high uptime
High-availability approaches may involve
multiple web and database servers,
combined with additional components to
distribute workload across multiple
servers
ONCE UPON A TIME…
Internet
Of
Things
FAST
DATA
ONCE UPON A TIME…
THE REACTIVE MANIFESTO
 Responsive
o The system responds in a timely
manner if at all possible
 Resilient
o The system stays responsive in
the face of failure
THE REACTIVE MANIFESTO
 Event-Driven
o Reactive Systems rely on asynchronous
message-passing to establish a boundary
between components that ensures loose
coupling, isolation and location
transparency
 Elastic
o The system stays responsive under
varying workload reacting to changes in
the input rate by increasing or decreasing
the allocated resources
THE REACTIVE MANIFESTO
THE REACTIVE MANIFESTO
REACTIVE PROGRAMMING
Reactive Programming is an
asynchronous programming paradigm
concerned with data streams and the
propagation of change
REACTIVE PROGRAMMING
It becomes possible to express static or
dynamic data streams with ease and that
an inferred dependency within the
associated execution model exists, which
facilitates the automatic propagation of the
change involved with data flow
REACTIVE PROGRAMMING
To show the real power of
Reactive, let's just say
that you want to have a
stream of "double click"
events
Difficult to manage in a
traditional imperative and
stateful fashion
4 lines of code using a
reactive approach
Apache Mesos is an open-source project
to manage computer clusters originally
developed at the University of California,
Berkeley
Apache Mesos abstracts CPU, memory,
storage from machines, enabling fault-
tolerant and elastic distributed systems to
easily be built and run effectively
APACHE MESOS
Mesos is built using the same principles as
the Linux kernel, only at a different level of
abstraction
The Mesoskernel runs on every machine
and provides applications (e.g., Hadoop,
Spark, Kafka, Elasticsearch) with API’s
forresource management and scheduling
across entire datacenter and cloud
environments
APACHE MESOS
Mesos Features
• Linear Scalability - up to 10k(x) of nodes
• High Availability - using Zookeeper
• Containers Support - Docker, AppC
• Two Level Scheduling
• HTTP APIs
• Web UI
• Cross Platform - Linux, Windows, OS X
• Resource Isolation
APACHE MESOS
ARCHITECTURE
Akka is an open-source toolkit and
runtime simplifying the construction of
concurrent and distributed applications
on the JVM
Akka supports multiple programming
models for concurrency, but it
emphasizes actor-based concurrency,
with inspiration drawn from Erlang
That model treats "actors" as the
universal primitives of concurrent
computation
In response to a message that it
receives, an actor can: make local
decisions, create more actors, send
more messages, and determine how to
respond to the next message received
The Akka HTTP modules implement a full
server- and client-side HTTP stack on top of
akka-actor and akka-stream
It’s not a web-framework but rather a more
general toolkit for providing and consuming
HTTP-based services
Web frameworks like Play and Lagom both
use Akka internally
ARCHITECTURE
Apache Kafka is an open-source
stream processing platform mantained
by the Apache Software Foundation
written in Scala and Java
The project aims to provide a unified,
high-throughput, low-latency platform
for handling real-time data feeds
KAFKA
Apache Kafka was originally developed
by LinkedIn, and was subsequently open
sourced in early 2011
Kafka stores messages which come
from arbitrarily many processes called
"producers”, the data can thereby be
partitioned in different "partitions" within
different "topics"
KAFKA
KAFKA
KAFKA
KAFKA
What is Kafka good for?
It gets used for two broad classes of
application:
• Building real-time streaming data pipelines
that reliably get data between systems or
applications
• Building real-time streaming applications
that transform or react to the streams of
data
ARCHITECTURE
CASSANDRA
Apache Cassandra is an open-source
distributed NoSQL database
management system designed to handle
large amounts of data across many
commodity servers, providing high
availability with no single point of failure
Initially developed at Facebook to power
the inbox search feature
CASSANDRA
Main Features
• Decentralized (p2p architecture)
• Multi data center replication
• Scalability and fault-tolerance
• Tunable consistency
• SQL-like query language (CQL)
Cassandra is essentially a hybrid between a
key-value (DynamoDB) and a column-
oriented (BigTable) database management
system
ARCHITECTURE
Apache Spark is an open-source cluster-
computing framework originally developed at
the University of California, Berkeley's AMPLab
Apache Spark requires a cluster manager and
a distributed storage system
For cluster management, Spark supports
standalone (native Spark cluster), Hadoop
YARN, or Apache Mesos
Spark Deploy Modes
For distributed storage, Spark can
interface with a wide variety, including
HDFS (Hadoop Distributed File System),
Cassandra, OpenStack Swift, Amazon S3,
Kudu and others
Spark Streaming leverages Spark Core's
fast scheduling capability to perform
streaming analytics
Spark MLlib is a distributed machine
learning framework on top of Spark Core
Many common machine learning and
statistical algorithms have been
implemented and are shipped with MLlib
which simplifies large scale machine
learning pipelines
ARCHITECTURE
ARCHITECTURE
MORE INFO
http://mesos.apache.org/
https://akka.io/
https://kafka.apache.org/
http://cassandra.apache.org/
https://spark.apache.org/
ENTERPRISE PRODUCTS
ENTERPRISE PRODUCTS
ENTERPRISE PRODUCTS
ENTERPRISE PRODUCTS
FURTHER READING
FURTHER READING
GRAZIE!
Follow me on

More Related Content

What's hot

A Streaming Platform Architecture Based on Apache Kafka
A Streaming Platform Architecture Based on Apache KafkaA Streaming Platform Architecture Based on Apache Kafka
A Streaming Platform Architecture Based on Apache Kafka
confluent
 

What's hot (20)

A Streaming Platform Architecture Based on Apache Kafka
A Streaming Platform Architecture Based on Apache KafkaA Streaming Platform Architecture Based on Apache Kafka
A Streaming Platform Architecture Based on Apache Kafka
 
Kafka for begginer
Kafka for begginerKafka for begginer
Kafka for begginer
 
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, AivenThe Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
 
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
 
Delivering big content at NBC News with RavenDB
Delivering big content at NBC News with RavenDBDelivering big content at NBC News with RavenDB
Delivering big content at NBC News with RavenDB
 
Apache Kafka in Adobe Ad Cloud's Analytics Platform
Apache Kafka in Adobe Ad Cloud's Analytics PlatformApache Kafka in Adobe Ad Cloud's Analytics Platform
Apache Kafka in Adobe Ad Cloud's Analytics Platform
 
Apache Kafka - Patterns anti-patterns
Apache Kafka - Patterns anti-patternsApache Kafka - Patterns anti-patterns
Apache Kafka - Patterns anti-patterns
 
Devops Days, 2019 - Charlotte
Devops Days, 2019 - CharlotteDevops Days, 2019 - Charlotte
Devops Days, 2019 - Charlotte
 
Serverless architectures
Serverless architecturesServerless architectures
Serverless architectures
 
When to KSQL & When to Live the KStream (Dani Traphagen, Confluent) Kafka Sum...
When to KSQL & When to Live the KStream (Dani Traphagen, Confluent) Kafka Sum...When to KSQL & When to Live the KStream (Dani Traphagen, Confluent) Kafka Sum...
When to KSQL & When to Live the KStream (Dani Traphagen, Confluent) Kafka Sum...
 
Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...
Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...
Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...
 
Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015
 
Building a PaaS with Docker and AWS
Building a PaaS with Docker and AWSBuilding a PaaS with Docker and AWS
Building a PaaS with Docker and AWS
 
Real time dashboards with Kafka and Druid
Real time dashboards with Kafka and DruidReal time dashboards with Kafka and Druid
Real time dashboards with Kafka and Druid
 
Apache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless ComputingApache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless Computing
 
Introducing Venice
Introducing VeniceIntroducing Venice
Introducing Venice
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
 
Managing Stateful Services with the Operator Pattern in Kubernetes - Kubernet...
Managing Stateful Services with the Operator Pattern in Kubernetes - Kubernet...Managing Stateful Services with the Operator Pattern in Kubernetes - Kubernet...
Managing Stateful Services with the Operator Pattern in Kubernetes - Kubernet...
 
Everything You Need to Know About Docker and Storage by Ryan Wallner, ClusterHQ
Everything You Need to Know About Docker and Storage by Ryan Wallner, ClusterHQ Everything You Need to Know About Docker and Storage by Ryan Wallner, ClusterHQ
Everything You Need to Know About Docker and Storage by Ryan Wallner, ClusterHQ
 
Azure Labs: Confluent on Azure Container Services & Real-time Search with Red...
Azure Labs: Confluent on Azure Container Services & Real-time Search with Red...Azure Labs: Confluent on Azure Container Services & Real-time Search with Red...
Azure Labs: Confluent on Azure Container Services & Real-time Search with Red...
 

Viewers also liked

Viewers also liked (20)

Erik Tiengo - Embedding Cisco Spark and Location applications (ESRI) into bus...
Erik Tiengo - Embedding Cisco Spark and Location applications (ESRI) into bus...Erik Tiengo - Embedding Cisco Spark and Location applications (ESRI) into bus...
Erik Tiengo - Embedding Cisco Spark and Location applications (ESRI) into bus...
 
Stream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NETStream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NET
 
Facciamo il Punto su Presente e Futuro dei framework Hadoop e Spark
Facciamo il Punto su Presente e Futuro dei framework Hadoop e SparkFacciamo il Punto su Presente e Futuro dei framework Hadoop e Spark
Facciamo il Punto su Presente e Futuro dei framework Hadoop e Spark
 
Fabrizio Cornelli - Antropologia di un Dev(Sec)Ops secondo il modello Hunter ...
Fabrizio Cornelli - Antropologia di un Dev(Sec)Ops secondo il modello Hunter ...Fabrizio Cornelli - Antropologia di un Dev(Sec)Ops secondo il modello Hunter ...
Fabrizio Cornelli - Antropologia di un Dev(Sec)Ops secondo il modello Hunter ...
 
Marco Balduzzi - Cyber-crime and attacks in the dark side of the web - Codemo...
Marco Balduzzi - Cyber-crime and attacks in the dark side of the web - Codemo...Marco Balduzzi - Cyber-crime and attacks in the dark side of the web - Codemo...
Marco Balduzzi - Cyber-crime and attacks in the dark side of the web - Codemo...
 
Carlo Ferrarini/Marco Dragoni - How to avoid delivery of unsanitary food with...
Carlo Ferrarini/Marco Dragoni - How to avoid delivery of unsanitary food with...Carlo Ferrarini/Marco Dragoni - How to avoid delivery of unsanitary food with...
Carlo Ferrarini/Marco Dragoni - How to avoid delivery of unsanitary food with...
 
Thomas Rossetto - Container and microservices: a love story - Codemotion Mila...
Thomas Rossetto - Container and microservices: a love story - Codemotion Mila...Thomas Rossetto - Container and microservices: a love story - Codemotion Mila...
Thomas Rossetto - Container and microservices: a love story - Codemotion Mila...
 
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
 
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
 
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...
Jacopo Nardiello - Monitoring Cloud-Native applications with Prometheus - Cod...
 
Tomas Petricek - The Gamma: Democratizing data science - Codemotion Milan 2017
Tomas Petricek - The Gamma: Democratizing data science - Codemotion Milan 2017Tomas Petricek - The Gamma: Democratizing data science - Codemotion Milan 2017
Tomas Petricek - The Gamma: Democratizing data science - Codemotion Milan 2017
 
Building multi lingual and empatic bots - Sander van den Hoven - Codemotion A...
Building multi lingual and empatic bots - Sander van den Hoven - Codemotion A...Building multi lingual and empatic bots - Sander van den Hoven - Codemotion A...
Building multi lingual and empatic bots - Sander van den Hoven - Codemotion A...
 
Mobile UX for user engagement and monetization - Emilia Ciardi - Codemotion R...
Mobile UX for user engagement and monetization - Emilia Ciardi - Codemotion R...Mobile UX for user engagement and monetization - Emilia Ciardi - Codemotion R...
Mobile UX for user engagement and monetization - Emilia Ciardi - Codemotion R...
 
The Most Important Thing - Mike Lee - Codemotion Amsterdam 2017
The Most Important Thing - Mike Lee - Codemotion Amsterdam 2017The Most Important Thing - Mike Lee - Codemotion Amsterdam 2017
The Most Important Thing - Mike Lee - Codemotion Amsterdam 2017
 
Carlo Sciolla - Above and beyond type systems with clojure.spec - Codemotion ...
Carlo Sciolla - Above and beyond type systems with clojure.spec - Codemotion ...Carlo Sciolla - Above and beyond type systems with clojure.spec - Codemotion ...
Carlo Sciolla - Above and beyond type systems with clojure.spec - Codemotion ...
 
Nicola Corti/Valentina Mazzoni - GDG Italia Meetup - Codemotion Milan 2017
Nicola Corti/Valentina Mazzoni - GDG Italia Meetup - Codemotion Milan 2017Nicola Corti/Valentina Mazzoni - GDG Italia Meetup - Codemotion Milan 2017
Nicola Corti/Valentina Mazzoni - GDG Italia Meetup - Codemotion Milan 2017
 
Webinar: Mario Cartia - Facciamo il Punto su Presente e Futuro dei framework ...
Webinar: Mario Cartia - Facciamo il Punto su Presente e Futuro dei framework ...Webinar: Mario Cartia - Facciamo il Punto su Presente e Futuro dei framework ...
Webinar: Mario Cartia - Facciamo il Punto su Presente e Futuro dei framework ...
 
Luciano Mammino - Cracking JWT tokens: a tale of magic, Node.JS and parallel...
Luciano Mammino  - Cracking JWT tokens: a tale of magic, Node.JS and parallel...Luciano Mammino  - Cracking JWT tokens: a tale of magic, Node.JS and parallel...
Luciano Mammino - Cracking JWT tokens: a tale of magic, Node.JS and parallel...
 
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015Luciano Fiandesio - Docker 101 | Codemotion Milan 2015
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015
 
Valentina Mazzoni - GDG Italia Meetup - Codemotion Milan 2017
Valentina Mazzoni - GDG Italia Meetup - Codemotion Milan 2017Valentina Mazzoni - GDG Italia Meetup - Codemotion Milan 2017
Valentina Mazzoni - GDG Italia Meetup - Codemotion Milan 2017
 

Similar to Mario Cartia - SMACK is the new LAMP! - Codemotion Milan 2017

Similar to Mario Cartia - SMACK is the new LAMP! - Codemotion Milan 2017 (20)

Edbt19 paper 329
Edbt19 paper 329Edbt19 paper 329
Edbt19 paper 329
 
Large scale, distributed and reliable messaging with Kafka
Large scale, distributed and reliable messaging with KafkaLarge scale, distributed and reliable messaging with Kafka
Large scale, distributed and reliable messaging with Kafka
 
Introduction to Apache Kafka and Confluent... and why they matter!
Introduction to Apache Kafka and Confluent... and why they matter!Introduction to Apache Kafka and Confluent... and why they matter!
Introduction to Apache Kafka and Confluent... and why they matter!
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Modern distributed-systems
Modern distributed-systemsModern distributed-systems
Modern distributed-systems
 
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...
 
Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...
Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...
Fast and Simplified Streaming, Ad-Hoc and Batch Analytics with FiloDB and Spa...
 
In15orlesss hadoop
In15orlesss hadoopIn15orlesss hadoop
In15orlesss hadoop
 
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
 
Ai big dataconference_jeffrey ricker_kappa_architecture
Ai big dataconference_jeffrey ricker_kappa_architectureAi big dataconference_jeffrey ricker_kappa_architecture
Ai big dataconference_jeffrey ricker_kappa_architecture
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 
963
963963
963
 
AWS Big Data Landscape
AWS Big Data LandscapeAWS Big Data Landscape
AWS Big Data Landscape
 
Confluent Enterprise Datasheet
Confluent Enterprise DatasheetConfluent Enterprise Datasheet
Confluent Enterprise Datasheet
 
Enterprise-Ready Private and Hybrid Cloud Computing Today
Enterprise-Ready Private and Hybrid Cloud Computing TodayEnterprise-Ready Private and Hybrid Cloud Computing Today
Enterprise-Ready Private and Hybrid Cloud Computing Today
 
Confluent and Elastic
Confluent and ElasticConfluent and Elastic
Confluent and Elastic
 
Introduction to Apache Kafka and Confluent... and why they matter
Introduction to Apache Kafka and Confluent... and why they matterIntroduction to Apache Kafka and Confluent... and why they matter
Introduction to Apache Kafka and Confluent... and why they matter
 
Database Systems and SQL
Database Systems and SQLDatabase Systems and SQL
Database Systems and SQL
 
Mesos: Cluster Management System
Mesos: Cluster Management SystemMesos: Cluster Management System
Mesos: Cluster Management System
 
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
 

More from Codemotion

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Mario Cartia - SMACK is the new LAMP! - Codemotion Milan 2017

  • 1. SMACK is the new LAMP! Mario Cartia MILAN 10-11 NOVEMBER 2017
  • 2. $ whoami Mario Cartia Head of Big Data Engine
  • 3. ONCE UPON A TIME… LAMP is an archetypal model of web service stacks Acronym of the names of its original open- source components: Linux Operating System Apache Web Server MySQL RDBMS PHP Programming Language
  • 4. ONCE UPON A TIME…
  • 5. ONCE UPON A TIME… Specific solutions are required for websites that serve large numbers of requests, or provide high uptime High-availability approaches may involve multiple web and database servers, combined with additional components to distribute workload across multiple servers
  • 6. ONCE UPON A TIME…
  • 9. ONCE UPON A TIME…
  • 10.
  • 12.  Responsive o The system responds in a timely manner if at all possible  Resilient o The system stays responsive in the face of failure THE REACTIVE MANIFESTO
  • 13.  Event-Driven o Reactive Systems rely on asynchronous message-passing to establish a boundary between components that ensures loose coupling, isolation and location transparency  Elastic o The system stays responsive under varying workload reacting to changes in the input rate by increasing or decreasing the allocated resources THE REACTIVE MANIFESTO
  • 15. REACTIVE PROGRAMMING Reactive Programming is an asynchronous programming paradigm concerned with data streams and the propagation of change
  • 16. REACTIVE PROGRAMMING It becomes possible to express static or dynamic data streams with ease and that an inferred dependency within the associated execution model exists, which facilitates the automatic propagation of the change involved with data flow
  • 17. REACTIVE PROGRAMMING To show the real power of Reactive, let's just say that you want to have a stream of "double click" events Difficult to manage in a traditional imperative and stateful fashion 4 lines of code using a reactive approach
  • 18.
  • 19. Apache Mesos is an open-source project to manage computer clusters originally developed at the University of California, Berkeley Apache Mesos abstracts CPU, memory, storage from machines, enabling fault- tolerant and elastic distributed systems to easily be built and run effectively APACHE MESOS
  • 20. Mesos is built using the same principles as the Linux kernel, only at a different level of abstraction The Mesoskernel runs on every machine and provides applications (e.g., Hadoop, Spark, Kafka, Elasticsearch) with API’s forresource management and scheduling across entire datacenter and cloud environments APACHE MESOS
  • 21. Mesos Features • Linear Scalability - up to 10k(x) of nodes • High Availability - using Zookeeper • Containers Support - Docker, AppC • Two Level Scheduling • HTTP APIs • Web UI • Cross Platform - Linux, Windows, OS X • Resource Isolation APACHE MESOS
  • 23. Akka is an open-source toolkit and runtime simplifying the construction of concurrent and distributed applications on the JVM Akka supports multiple programming models for concurrency, but it emphasizes actor-based concurrency, with inspiration drawn from Erlang
  • 24. That model treats "actors" as the universal primitives of concurrent computation In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received
  • 25.
  • 26.
  • 27. The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream It’s not a web-framework but rather a more general toolkit for providing and consuming HTTP-based services Web frameworks like Play and Lagom both use Akka internally
  • 29. Apache Kafka is an open-source stream processing platform mantained by the Apache Software Foundation written in Scala and Java The project aims to provide a unified, high-throughput, low-latency platform for handling real-time data feeds KAFKA
  • 30. Apache Kafka was originally developed by LinkedIn, and was subsequently open sourced in early 2011 Kafka stores messages which come from arbitrarily many processes called "producers”, the data can thereby be partitioned in different "partitions" within different "topics" KAFKA
  • 31. KAFKA
  • 32. KAFKA
  • 33. KAFKA What is Kafka good for? It gets used for two broad classes of application: • Building real-time streaming data pipelines that reliably get data between systems or applications • Building real-time streaming applications that transform or react to the streams of data
  • 35. CASSANDRA Apache Cassandra is an open-source distributed NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure Initially developed at Facebook to power the inbox search feature
  • 36. CASSANDRA Main Features • Decentralized (p2p architecture) • Multi data center replication • Scalability and fault-tolerance • Tunable consistency • SQL-like query language (CQL) Cassandra is essentially a hybrid between a key-value (DynamoDB) and a column- oriented (BigTable) database management system
  • 38. Apache Spark is an open-source cluster- computing framework originally developed at the University of California, Berkeley's AMPLab Apache Spark requires a cluster manager and a distributed storage system For cluster management, Spark supports standalone (native Spark cluster), Hadoop YARN, or Apache Mesos
  • 40. For distributed storage, Spark can interface with a wide variety, including HDFS (Hadoop Distributed File System), Cassandra, OpenStack Swift, Amazon S3, Kudu and others Spark Streaming leverages Spark Core's fast scheduling capability to perform streaming analytics
  • 41. Spark MLlib is a distributed machine learning framework on top of Spark Core Many common machine learning and statistical algorithms have been implemented and are shipped with MLlib which simplifies large scale machine learning pipelines