Developer Productivity for Data-driven Apps at Scale
1 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/Spring XDDeveloper Productivity forData-driven Apps at ScaleSabby Anandan, Mark Pollack, Mark Fisher
View Slide
2 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/© Copyright 2014 Pivotal. All rights reserved.Your PresentersMark FisherSpring XD(co-lead)Mark PollackSpring XD(co-lead)SabbyAnandanProductManager
3 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/● Architecture● Functional Stream Processing● Spark Streaming and Spark Job● Kafka and Data PartitionsAgenda
4 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/● Unified platform for stream and batch workloads● Evolve streams and jobs in isolation● Eliminates technical challenges with distributed computing, fault-tolerance, or high-availability● Open and Extensible runtime● Portable: Runs anywhere there is a JVM● Read/write Hadoop without integration headachesPurpose
5 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/Distributed Runtime
6 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/© Copyright 2014 Pivotal. All rights reserved.Hadoop without integration headaches..
7 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/Easy to Setup and Run
8 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/© Copyright 2014 Pivotal. All rights reserved.Functional StreamProcessing
9 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/Reactor Stream APISource Reactor Processor SinkBus BusStream APIInputStreamOutputStream
10 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/RxJava Observable APISource RxJava Processor SinkBus BusObservableAPIInputStreamOutputStream
11 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/© Copyright 2014 Pivotal. All rights reserved.Spring XD + Spark
12 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/SparkFast and general engine for large-scale data processing.What is Spark in Spring XD?● Leverage OOTB source/sinks from XD and delegate computationlogic to Spark cluster● Automatic failover capabilities in case of Spark Driver failure
13 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/Spark Streaming APISourceSpark StreamingProcessor SinkBus BusSparkStreamingAPIInputStreamOutputStream
14 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/© Copyright 2014 Pivotal. All rights reserved.Spring XD + Python
15 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/What is Python in Spring XD?● OOTB ‘shell’ as processor and sink to execute external shellcommands such as a Python scriptPython
16 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/© Copyright 2014 Pivotal. All rights reserved.Spring XD + Kafka
17 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/KafkaApache Kafka is publish-subscribe messaging rethought asa distributed commit log.What is Kafka in Spring XD?● As a message bus to send data from the output of one module to theinput of the next module● As a source module to ingest data from Kafka topics● As a sink module to ingest data into Kafka topics
18 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/© Copyright 2014 Pivotal. All rights reserved.Looking Ahead
19 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/● Custom Modules and HDFS● UI Canvas:○ create, visualize and deploy data pipelines○ metrics and monitoring capabilities● Enrichment: OOTB modules/jobs● Apache Ambari Support● Security Enhancements● Spring XD on Pivotal Cloud Foundry (GA Release: May 2015)Roadmap
20 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/● Project Site○ GitHub○ Wiki● Spring XD Samples● JIRA: Features and IssuesResources
21 Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/Learn More. Stay Connected.● Project Site○ GitHub○ Wiki● Spring XD Samples● JIRA: Features and IssuesTwitter: twitter.com/springcentralYouTube: spring.io/videoLinkedIn: spring.io/linkedinGoogle Plus: spring.io/gplus