SlideShare una empresa de Scribd logo
1 de 44
Hacking Infinispan
                         Open Source Data Grids meets NoSQL
                                         Manik Surtani
                                Founder and Project Lead, Infinispan
                                      JBoss, by Red Hat Inc.




                                         Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
#infinispan




                         Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
“Could data storage be the one thing that hampers true cloud
         scalability and elasticity?”




                                 Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Who is Manik?



       • R&D Engineer, Red Hat Inc.
             •       Founder and project lead, Infinispan

             •       Project lead, JBoss Cache

             •       Frequent speaker on cloud computing and cloud data storage


             •       http://twitter.com/maniksurtani

             •       http://blog.infinispan.org

                                           Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
• What is Data-as-a-Service?
      • Introducing Infinispan
      • Implementing Data-as-a-Service with
             Infinispan

                          Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Traditional 3-tier App




                                             Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Typical IaaS App




                                            Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Typical PaaS App




                                            Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Where’s your data stored??

                         Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Clouds are ephemeral!

                                Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Virtualizing Data


         • Some public services do exist
             •      Amazon RDS and SimpleDB
             •      FathomDB
             •      Cloundant
             •      MongoHQ
             •      etc.




                                        Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
What about private clouds?


      • Not all cloud deployments
         are public!
      • Private cloud is very
        important
      • How can you build DaaS
         yourself?


                                     Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Characteristics of DaaS

  •     Elastic data
  •     Needs to scale with other tiers
  •     Response times should be linear
  •     Needs to be highly available
      • Nodes will die! The service shouldn’t.




                                      Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
SQL and NoSQL DB


                         • Lack of distribution hampers
                              elasticity and HA
                         •    These limitations can be worked
                              around
                             • ... but this isn’t trivial
                             • ... or cheap


                                           Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
SQL and NoSQL DB


                         • Lack of distribution hampers
                              elasticity and HA
                         •    These limitations can be worked
                              around
                             • ... but this isn’t trivial
                             • ... or cheap


                                           Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Distributed Data Grid




    •     Far better suited to elastic data
    •     Distributed by nature
    •     Highly available by nature
    •     A good building block for your data
          service


                                             Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
API is king

       • Apps should use their native data storage
              APIs
           • E.g., JPA (Java EE), ActiveRecord (Ruby), etc.
       • Key/value stores too low level
       • Akin to direct JDBC calls!



                                       Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Introducing




                                       Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
• What is Infinispan?
                  •      Open source (LGPL) in-memory Data Grid

                  •      Written in Java and Scala

                  •      Some concepts from Amazon Dynamo

            • 2 usage modes
                  •      Embedded

                  •      Client-server

                         •   memcached, REST and Hot Rod
                                            Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Embedded Mode


                           Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
P2P Embedded Architecture




                                   Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
• API
                         • Map-like key/value store
                         • Upcoming JPA-like layer
                         • Other high-level APIs being discussed in
                           the community e.g., ActiveRecord

                                       Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
• Consistent hash based distribution
                    •    Self healing

                    •    No single point of failure



              • Highly concurrent
                    •    MVCC locking


                                            Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
• Persistence
                   •     Not just in memory!

                   •     Write through and write behind

                   •     Pluggable “drivers”



             • Eviction and expiry
                   •     Efficient, adaptive algorithms

                   •     Addresses shortcomings of LRU & FIFO

                                               Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
• XA Transactions
                    •    2-phase commit based

                    •    Deadlock detection algorithms

                    •    Coming soon: Atomic Broadcast




                                          Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
• Map/Reduce
                    •    In a pre-release state right now

                    •    Please try out 5.0.0.ALPHA2 with these APIs!



              • Querying
                    •    Using Lucene and Hibernate Search to index

                                            Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Client/Server Mode


                             Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Client/Server Architecture




                                                                       Supported Protocols

                                                                       •REST
                                                                       •Memcached
                                                                       •Hot Rod




                                            Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
WTF is Hot Rod?
  • Wire protocol for client server
        communications
  •     Open
  •     Language independent
  •     Built-in failover and load balancing
  •     Smart routing


                              Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Server Endpoint Comparison

                                      Client                              Smart             Load Balancing/
                         Protocol                    Clustered?
                                     Libraries                           Routing               Failover


                                                                                             Any HTTP load
          REST             Text        N/A                Yes               No
                                                                                               balancer


                                                                                         Only with predefined
    Memcached              Text       Plenty              Yes               No
                                                                                              server list


                                     Currently
        Hot Rod          Binary                           Yes               Yes                  Dynamic
                                     only Java


                                               Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
So is Infinispan a
     data grid?
• In-memory
• P2P, distributed
• Low-latency, fast key/value
  store




                                Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
So is Infinispan a
     data grid?
• In-memory
• P2P, distributed             ... or is it a             NoSQL
• Low-latency, fast key/value database?
  store                      • Persistence
                             • Map/Reduce




                             Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
So is Infinispan a
     data grid?
• In-memory
• P2P, distributed             ... or is it a             NoSQL
• Low-latency, fast key/value database?
  store                      • Persistence
                             • Map/Reduce                   ... or something
                                                            else?
                                                        • Querying support
                                                        • Transactional

                             Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
So why is Infinispan sexy?




                              Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
So why is Infinispan sexy?

              •          Transparent horizontal scalability

                    •      Elastic in both directions

              •          Fast, low latency data access

              •          Ability to address a very large heap

              •          Cloud-ready datastore

              •          Not just for Java

              •          Open Source


                                               Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
DaaS with Infinispan


                              Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Architecture




                                                                                                       Manage and Monitor
                                        Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Where are we headed?




                            Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
• 4.0.0 Starobrno
           •      Map-like API

           •      Consistent Hash based distribution

           •      Write-through, write-behind

           •      Eviction, expiration

           •      Management tooling

           •      REST API

           •      Hibernate 2nd Level Cache

           •      Released Feb 2010
                                         Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
• 4.1.0 Radegast
              •      Deadlock detection

              •      Client/Server protocols

                    •    Memcached

                    •    Hot Rod

                    •    Smart clients using Hot Rod

              •      Lucene Directory implementation

              •      LIRS: adaptive, recency-based eviction policies

              •      Released August 2010
                                           Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
• 5.0.0 Pagoa
               •         JPA-like API

               •         Fine-grained replication

               •         Distributed code execution

                     •     Map/reduce

               •         Virtual nodes for more even distribution

               •         In active development



                                              Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
What have we learned?



              •          Elastic data is hard

              •          Public data services not always suitable

              •          Data grids make elastic storage easy

              •          Infinispan server endpoints help build elastic data tiers




                                                Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011
Questions?
             •       http://www.infinispan.org

             •       http://blog.infinispan.org

             •       http://github.com/infinispan

             •       http://twitter.com/infinispan

             •       #infinispan on FreeNode


             •       http://bit.ly/rate_me_codemotion



                                           Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org
Saturday, 5 March 2011

Más contenido relacionado

Destacado

Infinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQLInfinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQLManik Surtani
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six MonthsAnthony Baker
 
Redis adaptor for Apache Geode
Redis adaptor for Apache GeodeRedis adaptor for Apache Geode
Redis adaptor for Apache GeodeSwapnil Bawaskar
 
Keeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Keeping Infinispan In Shape: Highly-Precise, Scalable Data EvictionKeeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Keeping Infinispan In Shape: Highly-Precise, Scalable Data EvictionGalder Zamarreño
 
Apache geode
Apache geodeApache geode
Apache geodeYogesh BG
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Anthony Baker
 
Apache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationApache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationPivotalOpenSourceHub
 
인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처Jaehong Cheon
 
Infinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridInfinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridJBug Italy
 
Building Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodeBuilding Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodePivotalOpenSourceHub
 
An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)Anthony Baker
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Kris Jeong
 
Apache ignite Datagrid
Apache ignite DatagridApache ignite Datagrid
Apache ignite DatagridSurinder Mehra
 
Pivotal 전략 업데이트 2015 Feb
Pivotal 전략 업데이트 2015 FebPivotal 전략 업데이트 2015 Feb
Pivotal 전략 업데이트 2015 Febseungdon Choi
 
祝 top-level project Apache Geode
祝 top-level project Apache Geode祝 top-level project Apache Geode
祝 top-level project Apache GeodeTomohiro Ichimura
 
The Hot Rod Protocol in Infinispan
The Hot Rod Protocol in InfinispanThe Hot Rod Protocol in Infinispan
The Hot Rod Protocol in InfinispanGalder Zamarreño
 
Hazelcast 소개
Hazelcast 소개Hazelcast 소개
Hazelcast 소개sangyun han
 
오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. InfinispanHyeonSeok Choi
 
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스Teddy Choi
 

Destacado (20)

Infinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQLInfinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQL
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six Months
 
Redis adaptor for Apache Geode
Redis adaptor for Apache GeodeRedis adaptor for Apache Geode
Redis adaptor for Apache Geode
 
Keeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Keeping Infinispan In Shape: Highly-Precise, Scalable Data EvictionKeeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Keeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
 
Apache geode
Apache geodeApache geode
Apache geode
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)
 
Apache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationApache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based Replication
 
인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처
 
Infinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridInfinispan and Enterprise Data Grid
Infinispan and Enterprise Data Grid
 
Building Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodeBuilding Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache Geode
 
An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)
 
Data Grids and Data Caching
Data Grids and Data CachingData Grids and Data Caching
Data Grids and Data Caching
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015
 
Apache ignite Datagrid
Apache ignite DatagridApache ignite Datagrid
Apache ignite Datagrid
 
Pivotal 전략 업데이트 2015 Feb
Pivotal 전략 업데이트 2015 FebPivotal 전략 업데이트 2015 Feb
Pivotal 전략 업데이트 2015 Feb
 
祝 top-level project Apache Geode
祝 top-level project Apache Geode祝 top-level project Apache Geode
祝 top-level project Apache Geode
 
The Hot Rod Protocol in Infinispan
The Hot Rod Protocol in InfinispanThe Hot Rod Protocol in Infinispan
The Hot Rod Protocol in Infinispan
 
Hazelcast 소개
Hazelcast 소개Hazelcast 소개
Hazelcast 소개
 
오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan
 
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
 

Similar a Hacking Infinispan: the new open source data grid meets NoSQL

Integrating Erlang with PHP
Integrating Erlang with PHPIntegrating Erlang with PHP
Integrating Erlang with PHPAlvaro Videla
 
Phorum - PHP Community Conference
Phorum - PHP Community ConferencePhorum - PHP Community Conference
Phorum - PHP Community ConferenceBrian Moon
 
Introduction to Open Source, Apache and Apache Way
Introduction to Open Source, Apache and Apache WayIntroduction to Open Source, Apache and Apache Way
Introduction to Open Source, Apache and Apache WaySrinath Perera
 
Web crawlingchapter
Web crawlingchapterWeb crawlingchapter
Web crawlingchapterBorseshweta
 
Fred Spencer: Designing a Great UI
Fred Spencer: Designing a Great UIFred Spencer: Designing a Great UI
Fred Spencer: Designing a Great UIAxway Appcelerator
 
Puppet camp europe 2011 hackability
Puppet camp europe 2011   hackabilityPuppet camp europe 2011   hackability
Puppet camp europe 2011 hackabilityPuppet
 
Railsify your web development
Railsify your web developmentRailsify your web development
Railsify your web developmentThomas Lundström
 
Offline First Applications
Offline First ApplicationsOffline First Applications
Offline First Applicationstechmaddy
 
Why IP based access is failing end users
Why IP based access is failing end usersWhy IP based access is failing end users
Why IP based access is failing end usersOpenAthens
 
Harness the web and grow your business
Harness the web and grow your businessHarness the web and grow your business
Harness the web and grow your businessJoe Drumgoole
 
PyCon 2011 Scaling Disqus
PyCon 2011 Scaling DisqusPyCon 2011 Scaling Disqus
PyCon 2011 Scaling Disquszeeg
 
muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"Daniel Bryant
 
SharePoint Saturday Johannesburg - #SPSJHB - Francois Pienaar
SharePoint Saturday Johannesburg - #SPSJHB - Francois PienaarSharePoint Saturday Johannesburg - #SPSJHB - Francois Pienaar
SharePoint Saturday Johannesburg - #SPSJHB - Francois PienaarFrancois Pienaar
 
The XPages Mobile Controls: What's New In Notes 9.0.1
The XPages Mobile Controls: What's New In Notes 9.0.1The XPages Mobile Controls: What's New In Notes 9.0.1
The XPages Mobile Controls: What's New In Notes 9.0.1Graham Acres
 
Social Media Marketing Tools and Strategies for Master Gardener coordinators
Social Media Marketing Tools and Strategies for Master Gardener coordinatorsSocial Media Marketing Tools and Strategies for Master Gardener coordinators
Social Media Marketing Tools and Strategies for Master Gardener coordinatorsKim Kruse
 
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
 
Education 2.3 m erwin
Education 2.3 m erwinEducation 2.3 m erwin
Education 2.3 m erwinErwin Huang
 
Intro to Linked Data: Context
Intro to Linked Data: ContextIntro to Linked Data: Context
Intro to Linked Data: ContextDavid Wood
 

Similar a Hacking Infinispan: the new open source data grid meets NoSQL (20)

Integrating Erlang with PHP
Integrating Erlang with PHPIntegrating Erlang with PHP
Integrating Erlang with PHP
 
Phorum - PHP Community Conference
Phorum - PHP Community ConferencePhorum - PHP Community Conference
Phorum - PHP Community Conference
 
Introduction to Open Source, Apache and Apache Way
Introduction to Open Source, Apache and Apache WayIntroduction to Open Source, Apache and Apache Way
Introduction to Open Source, Apache and Apache Way
 
Web crawlingchapter
Web crawlingchapterWeb crawlingchapter
Web crawlingchapter
 
Fred Spencer: Designing a Great UI
Fred Spencer: Designing a Great UIFred Spencer: Designing a Great UI
Fred Spencer: Designing a Great UI
 
Puppet camp europe 2011 hackability
Puppet camp europe 2011   hackabilityPuppet camp europe 2011   hackability
Puppet camp europe 2011 hackability
 
Railsify your web development
Railsify your web developmentRailsify your web development
Railsify your web development
 
Offline first geeknight
Offline first geeknightOffline first geeknight
Offline first geeknight
 
Offline First Applications
Offline First ApplicationsOffline First Applications
Offline First Applications
 
Why IP based access is failing end users
Why IP based access is failing end usersWhy IP based access is failing end users
Why IP based access is failing end users
 
Sencha Touch in Action
Sencha Touch in Action Sencha Touch in Action
Sencha Touch in Action
 
Harness the web and grow your business
Harness the web and grow your businessHarness the web and grow your business
Harness the web and grow your business
 
PyCon 2011 Scaling Disqus
PyCon 2011 Scaling DisqusPyCon 2011 Scaling Disqus
PyCon 2011 Scaling Disqus
 
muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"
 
SharePoint Saturday Johannesburg - #SPSJHB - Francois Pienaar
SharePoint Saturday Johannesburg - #SPSJHB - Francois PienaarSharePoint Saturday Johannesburg - #SPSJHB - Francois Pienaar
SharePoint Saturday Johannesburg - #SPSJHB - Francois Pienaar
 
The XPages Mobile Controls: What's New In Notes 9.0.1
The XPages Mobile Controls: What's New In Notes 9.0.1The XPages Mobile Controls: What's New In Notes 9.0.1
The XPages Mobile Controls: What's New In Notes 9.0.1
 
Social Media Marketing Tools and Strategies for Master Gardener coordinators
Social Media Marketing Tools and Strategies for Master Gardener coordinatorsSocial Media Marketing Tools and Strategies for Master Gardener coordinators
Social Media Marketing Tools and Strategies for Master Gardener coordinators
 
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
 
Education 2.3 m erwin
Education 2.3 m erwinEducation 2.3 m erwin
Education 2.3 m erwin
 
Intro to Linked Data: Context
Intro to Linked Data: ContextIntro to Linked Data: Context
Intro to Linked Data: Context
 

Más de Codemotion

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...Codemotion
 
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 storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
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...Codemotion
 
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 2019Codemotion
 
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 2019Codemotion
 
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 - Codemotion
 
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...Codemotion
 
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...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 ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...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...Codemotion
 
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 2019Codemotion
 
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 2019Codemotion
 
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 2019Codemotion
 
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...Codemotion
 
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...Codemotion
 
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 2019Codemotion
 
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 2019Codemotion
 
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 2019Codemotion
 

Más de 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
 

Último

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Último (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

Hacking Infinispan: the new open source data grid meets NoSQL

  • 1. Hacking Infinispan Open Source Data Grids meets NoSQL Manik Surtani Founder and Project Lead, Infinispan JBoss, by Red Hat Inc. Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 2. #infinispan Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 3. “Could data storage be the one thing that hampers true cloud scalability and elasticity?” Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 4. Who is Manik? • R&D Engineer, Red Hat Inc. • Founder and project lead, Infinispan • Project lead, JBoss Cache • Frequent speaker on cloud computing and cloud data storage • http://twitter.com/maniksurtani • http://blog.infinispan.org Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 5. • What is Data-as-a-Service? • Introducing Infinispan • Implementing Data-as-a-Service with Infinispan Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 6. Traditional 3-tier App Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 7. Typical IaaS App Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 8. Typical PaaS App Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 9. Where’s your data stored?? Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 10. Clouds are ephemeral! Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 11. Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 12. Virtualizing Data • Some public services do exist • Amazon RDS and SimpleDB • FathomDB • Cloundant • MongoHQ • etc. Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 13. What about private clouds? • Not all cloud deployments are public! • Private cloud is very important • How can you build DaaS yourself? Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 14. Characteristics of DaaS • Elastic data • Needs to scale with other tiers • Response times should be linear • Needs to be highly available • Nodes will die! The service shouldn’t. Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 15. SQL and NoSQL DB • Lack of distribution hampers elasticity and HA • These limitations can be worked around • ... but this isn’t trivial • ... or cheap Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 16. SQL and NoSQL DB • Lack of distribution hampers elasticity and HA • These limitations can be worked around • ... but this isn’t trivial • ... or cheap Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 17. Distributed Data Grid • Far better suited to elastic data • Distributed by nature • Highly available by nature • A good building block for your data service Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 18. API is king • Apps should use their native data storage APIs • E.g., JPA (Java EE), ActiveRecord (Ruby), etc. • Key/value stores too low level • Akin to direct JDBC calls! Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 19. Introducing Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 20. • What is Infinispan? • Open source (LGPL) in-memory Data Grid • Written in Java and Scala • Some concepts from Amazon Dynamo • 2 usage modes • Embedded • Client-server • memcached, REST and Hot Rod Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 21. Embedded Mode Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 22. P2P Embedded Architecture Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 23. • API • Map-like key/value store • Upcoming JPA-like layer • Other high-level APIs being discussed in the community e.g., ActiveRecord Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 24. • Consistent hash based distribution • Self healing • No single point of failure • Highly concurrent • MVCC locking Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 25. • Persistence • Not just in memory! • Write through and write behind • Pluggable “drivers” • Eviction and expiry • Efficient, adaptive algorithms • Addresses shortcomings of LRU & FIFO Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 26. • XA Transactions • 2-phase commit based • Deadlock detection algorithms • Coming soon: Atomic Broadcast Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 27. • Map/Reduce • In a pre-release state right now • Please try out 5.0.0.ALPHA2 with these APIs! • Querying • Using Lucene and Hibernate Search to index Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 28. Client/Server Mode Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 29. Client/Server Architecture Supported Protocols •REST •Memcached •Hot Rod Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 30. WTF is Hot Rod? • Wire protocol for client server communications • Open • Language independent • Built-in failover and load balancing • Smart routing Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 31. Server Endpoint Comparison Client Smart Load Balancing/ Protocol Clustered? Libraries Routing Failover Any HTTP load REST Text N/A Yes No balancer Only with predefined Memcached Text Plenty Yes No server list Currently Hot Rod Binary Yes Yes Dynamic only Java Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 32. So is Infinispan a data grid? • In-memory • P2P, distributed • Low-latency, fast key/value store Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 33. So is Infinispan a data grid? • In-memory • P2P, distributed ... or is it a NoSQL • Low-latency, fast key/value database? store • Persistence • Map/Reduce Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 34. So is Infinispan a data grid? • In-memory • P2P, distributed ... or is it a NoSQL • Low-latency, fast key/value database? store • Persistence • Map/Reduce ... or something else? • Querying support • Transactional Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 35. So why is Infinispan sexy? Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 36. So why is Infinispan sexy? • Transparent horizontal scalability • Elastic in both directions • Fast, low latency data access • Ability to address a very large heap • Cloud-ready datastore • Not just for Java • Open Source Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 37. DaaS with Infinispan Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 38. Architecture Manage and Monitor Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 39. Where are we headed? Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 40. • 4.0.0 Starobrno • Map-like API • Consistent Hash based distribution • Write-through, write-behind • Eviction, expiration • Management tooling • REST API • Hibernate 2nd Level Cache • Released Feb 2010 Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 41. • 4.1.0 Radegast • Deadlock detection • Client/Server protocols • Memcached • Hot Rod • Smart clients using Hot Rod • Lucene Directory implementation • LIRS: adaptive, recency-based eviction policies • Released August 2010 Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 42. • 5.0.0 Pagoa • JPA-like API • Fine-grained replication • Distributed code execution • Map/reduce • Virtual nodes for more even distribution • In active development Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 43. What have we learned? • Elastic data is hard • Public data services not always suitable • Data grids make elastic storage easy • Infinispan server endpoints help build elastic data tiers Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011
  • 44. Questions? • http://www.infinispan.org • http://blog.infinispan.org • http://github.com/infinispan • http://twitter.com/infinispan • #infinispan on FreeNode • http://bit.ly/rate_me_codemotion Manik Surtani http://twitter.com/maniksurtani http://blog.infinispan.org Saturday, 5 March 2011