Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Task Madness - Modern On Demand Processing

627 views

Published on

SpringOne Platform 2016
Speakers: Michael Minella; Software Engineer, Pivotal & Glenn Renfro; Software Engineer, Pivotal

The flexibility promised by cloud computing is something that hasn't been fully available in many use cases yet. Most application models are still based on long running containers, robbing users of that very flexibility. Spring Cloud Task, a new project in the Spring portfolio provides both functional and non-functional capabilities for building short lived, cloud-native, microservices. This talk will introduce the project as well as look at example applications. Since we're in Vegas, we're going to put that on demand processing to good use by demonstrating how we used it to generate a March Madness NCAA Men's Basketball Tournament bracket. We'll review how it worked, why Spring Cloud Task was the best fit for this type of application, and how we did this past March!

Published in: Technology
  • Be the first to comment

Task Madness - Modern On Demand Processing

  1. 1. TASK MADNESS ON DEMAND PROCESSING WITH SCT TASK MADNESS ON DEMAND PROCESSING WITH SPRING CLOUD TASK
  2. 2. WHO ARE WE? MICHAEL MINELLA @michaelminella @OffHeap Github: mminella https://www.spring.io GLENN RENFRO @cppwfs Github: cppwfs https://www.spring.io
  3. 3. CODE IS ON GITHUB https://github.com/mminella/TaskMadness
  4. 4. PLEASE ASK QUESTIONS
  5. 5. QUICK POLL
  6. 6. NCAA Tournament NCAA MEN’S BASKETBALL TOURNAMENT
  7. 7. $376 Million vs $1.1 Billion $9 Billion+ 13 Million
  8. 8. ABOUT THE TOURNAMEN T
  9. 9. TEAMS
  10. 10. Single elimination SINGLE ELIMINATION
  11. 11. Teams are seeded TEAMS ARE SEEDED
  12. 12. GAMBLING BASED ON BRACKETS
  13. 13. Not that hard right? PICK A PERFECT BRACKET… EASY
  14. 14. 1 IN 9.2 QUINTILIAN
  15. 15. NOT PERFECT JUST GOOD ENOUGH
  16. 16. WHAT IS “GOOD ENOUGH”?
  17. 17. ESPN SCORING RULES SCORING RULES
  18. 18. PERFECT BRACKET IS 1920
  19. 19. WINNER SCORED 1730
  20. 20. TOP 100 SCORED 1630
  21. 21. SCORES TYPICALLY HAVE A TIGHT BELL CURVE
  22. 22. Joe Lunardi scored 760 in 2015 and 600 in 2014 MIKE GREENBERG 950
  23. 23. NOT LOOKING FOR PERFECT BRACKET
  24. 24. Just one better than everyone else in the office JUST BETTER THAN THE REST OF THE OFFICE
  25. 25. HOW ARE WE GOING TO DO THAT?
  26. 26. GENERATE MILLIONS OF BRACKETS
  27. 27. FILTER “BAD” BRACKETS
  28. 28. SCORE THE REMAINING
  29. 29. HOW DO WE DO THIS?
  30. 30. Spring Batch!
  31. 31. Not ideal BATCH ISN’T IDEAL
  32. 32. TASKS RUN AT DIFFEREN T TIMES
  33. 33. DIFFERENT STEPS SHOULD BE DECOUPLED
  34. 34. Orchestration should live at a higher level ORCHESTRATI ON OCCURS AT A DIFFERENT
  35. 35. DISTRIBUTE D DEPLOYMEN T OPTIONS
  36. 36. DEVELOP EACH COMPONENT AS A MICROSERVICE
  37. 37. OBEY THE 12 FACTOR APP PRINCIPALS
  38. 38. There is an ecosystem that’s better THERE’S AN ECOSYSTEM THAT’S BETTER
  39. 39. DATA MICROSERVICES
  40. 40. SPRING INTEGRATION SPRING FRAMEWORK SPRING BATCH SPRING CLOUD STREAM SPRING CLOUD TASK SPRING CLOUD DATA FLOW
  41. 41. SPRING CLOUD STREAM
  42. 42. SPRING CLOUD TASK
  43. 43. JUST SHORT LIVED
  44. 44. A framework for providing functional and nonfunctional features for building short lived microservices.
  45. 45. CURRENT VERSION 1.0.2.RELEASE
  46. 46. FEATURES
  47. 47. 1EXECUTION TRACKING
  48. 48. 2BATCH INTEGRATION
  49. 49. INFORMATION AL
  50. 50. REMOTE PARTITIONING
  51. 51. 3STREAM INTEGRATION
  52. 52. INFORMATION AL
  53. 53. LAUNCHING VIA STREAM
  54. 54. SO HOW DOES THIS WORK?
  55. 55. TAKE A SPRING BOOT APPLICATION
  56. 56. @EnableTask
  57. 57. COMMAND LINERUNNER APPLICATION RUNNER COMMAND LINERUNNER START TASK END TASK
  58. 58. Hello World of Spring Cloud Task HELLO WORLD!
  59. 59. BRACKET GENERATIO
  60. 60. LOADERS LOADERS FILTER TASK LAUNCHIN G PROCESS OR TASK LAUNCHIN G SINK SCORER BRACKET GENERATO R LOADERS
  61. 61. Demo DEM O
  62. 62. SO HOW DID WE DO?
  63. 63. Goal: 800 pts or 80% GOAL: 800 OR 80%
  64. 64. Upset heavy year TOP 5 YEAR FOR UPSETS
  65. 65. 0.5 SECONDS
  66. 66. 740 pts/63% 63% 740 PTS
  67. 67. ROADMAP
  68. 68. 1IMPROVED ORCHESTRATION
  69. 69. 2OUT OF THE BOX TASKS
  70. 70. 3ADDITIONAL RUNTIME SUPPORT
  71. 71. QUESTIONS?
  72. 72. THANKS!

×