zero downtime app deployment using hadoop

24
ZERO DOWNTIME APP DEPLOYMENT USING HADOOP Hadoop Summit 2016 – San Jose Heman Duraiswamy Solutions Engineer Wei Wang Data Scientist Jun 30, 2016

Upload: dataworks-summithadoop-summit

Post on 14-Apr-2017

262 views

Category:

Technology


1 download

TRANSCRIPT

Zero downtime app deployment using hadoop

Zero downtime app deployment using hadoopHadoop Summit 2016 San Jose

Heman DuraiswamySolutions Engineer

Wei WangData Scientist

Jun 30, 2016

AgendaIntroductionOur Story that ends with Happily ever after Zero downtime app deploymentReference ArchitectureDemo

Introduction: Why?Expedia revenue in 2015 == $6.67 B>18.2MM/day (or) >$750,000/hrCost of 15 min deployment window and having one deployment every other week??~5MM $$Same figure for Amazon?? - $$80MMAnd offcourse, customer trust & confidence!

Refer to orbitz deployment of ~1000 times/year for the host of 150 different applications3

Introduction: How?Innovate(Tools, technology and architecture)Monitor(In-real time)

React(Actionable Intelligence)

Offcourse one way of achieving zero down time is doing NOTHING but that is going to kill your company from inside-out4

Zero downtime app deployment using Hadoop

Our Story: Once upon a time

Our Story: Once upon a time

Our Story: Once upon a time

Our Story: Once upon a time

Challenges are aplenty.. Not even going to get there..9

Our Story: then they evolved

Rolling deploymentNear Zero downtime deploymentHampers InnovationOperational over-head

End game

INNOVATEDEPLOYLEARN

REPEAT WITH ZERO DOWNTIME

Using HADOOP

Innovate -- Micro services

Header moduleSearch modulelocalDest moduletopDeal moduleLoyalty module

Deploy-at-will -- Continuous Delivery

Continuous Integration

JenkinsBuild

GluDeployment

Learn & Succeed (or fail)

Canary Deployment

a/b testing

Operational monitoring

24*7 Instant feedback

Reference Infrastructure layout

Header moduleSearch modulelocalDest moduletopDeal moduleLoyalty module

Server001Server002Server003Server004Server005Server006Server007Server012Server013Server014Server008Server009Server010Server011Use case 1: server in bad state meaning serves higher proportion of 404 &503 pagesUse case 2: server is slow takes longer to process requestsUse case 3: Deploy bad app version serve high propotion of application CRIT and ERROR messages

Reference ArchitectureHDF(nifi)KafkaStorm TopologyApplication log filesAccess log filesServersServersSolrHiveHDFSBanana viewAnsible script

DEMO: Log prep

DEMO: HDF flow

DEMO: Storm TopologyStorm Kafka BoltAggregation BoltTimer BoltCalculation BoltSolr BoltHive Bolt

DEMO: Storm Topology

DEMO: Storm Topology

DEMO: Analytics Results in Banana

Demo

THANK [email protected]@hduraiswamyhttps://www.linkedin.com/in/hemananthan

[email protected]://www.linkedin.com/in/wei-wang-0957902

https://github.com/heman-duraiswamy/ZeroDowntimeDeploymenthttps://github.com/ww2265columbia/hadoopsummit2016/

Heman DuraiswamySolutions Engineer

Wei WangData Scientist