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.

Platform as Art: A Developer’s Perspective

4,568 views

Published on

Keynote presentation from Webmaniacs 2008, presented by Ashley Streb of Brightcove. Posted with the permission of the author.

Published in: Technology, News & Politics
  • Be the first to comment

Platform as Art: A Developer’s Perspective

  1. Platform as Art: A Developer’s Perspective Ashley Streb, Vice President of Technology
  2. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.2 Start at the end Media enables us to Touch Inspire Entertain Build, create and be passionate about Adobe!
  3. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.3 Agenda Platform as a Service (PaaS) Landscape Brightcove’s Media PaaS The Making of a Platform with Adobe Technology Q + A
  4. Platform as a Service (PaaS) Landscape Defining “Platform as a Service” PaaS: What, where and how
  5. Defining “Platform as a Service”
  6. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.6 Services through Cloud Computing Consume broad range of services on demand No Software or Servers! Easy to scale with infrastructure in the cloud Dynamically adapt compute power Take advantage of utility metered models Tap into operational excellence and economies of scale
  7. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.7 Three Broad Categories Infrastructure Amazon EC2/S3, Google AppEngine, Sun Grid, 3Tera, IBM Blue Cloud Software Brightcove, Salesforce, NetSuite, Omniture, Ning, SpringCM Platform Brightcove, Salesforce, Ning, LongJump, Intuit QuickBase, Bungee Labs Connect
  8. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.8 Platform Defined A "platform" is an expressive medium. Many existing platforms: Windows, SymbianOS, Flex Ability to build and create Platform as a Service Create, consume, deploy and run in “the cloud”
  9. PaaS: What, where and how
  10. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.10 PaaS: What Problem, what problem? Targeted capabilities Example: Consumer Platform Backend Applications Fast, sexy UIs Tap into Internet fabric Analytics/Reporting
  11. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.11 PaaS: Where Marc Andreessen Blog Access API: Flickr, yelp. Plug-in API: Facebook, MySpace Runtime Environment: BungeeConnect Runtime Environment Plug-in API (plug into core interface) Access API (consume from cloud)
  12. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.12 PaaS: How How can we build and create? Different types of developers Need a blend of tools Code SDKs WYSIWYG Tool XML DSL Web service APIs Application
  13. Brightcove’s Media PaaS – the “How”
  14. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.14 Media PaaS – the “How” Templating WYSIWYG Tool Web service APIs Runtime Engine, Player APIs
  15. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.15 Templating Example
  16. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.16 Templating Usage WYSIWYG Interface Control colors, styles, themes and policies Fast, easy, custom!
  17. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.17 Web service Example
  18. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.18 Rendering Engine, Player API Examples
  19. Stats Process & Team Organization Infrastructure and Architecture The Making of a Platform with Adobe Technology
  20. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.20 Stats 135 Million Unique Users/month (as of 6 – 9 months ago) ~2 billion server transactions/month 1.5 Petabytes (1,500,000 GBs) of media delivered/month Thousands of platform users, hundreds of major media brands, 50 television networks, newspaper and magazine publishers, and all the major record labels in the US
  21. Process & Team Organization
  22. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.22 Process We use the Scrum Methodology Month long sprints 2x2 major release schedule Cross-functional team, 4 – 9 people Stand-up, user stories, story points, PO, burndown, retrospective Operate 10 teams across 3 geographies
  23. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.23 Process Common language across the entire organization. Adapt to changing market Deep collaboration It’s a marathon, not a sprint!
  24. Infrastructure and Architecture
  25. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.25 Brightcove’s Applications Server Consumer Players Business Applications Media Publishing AdsVideo Player Photo Player Server Server Server Server Server Server Server
  26. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.26 Adobe Technology Used ActionScript 2, ActionScript 3 Flex 1.5, Flex 2 AMF 0 (OpenAMF), AMF 3 (BlazeDS) FMS 2.1, FMS 3.0 FlexBuilder
  27. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.27 Consumer Video Player
  28. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.28 Consumer Video Player Technology ActionScript 3, AVM2 AMF3 as client/server communication protocol • ~70K LOC written • FlexBuilder as IDE/Developer Tool • Migrated from AS2 Players
  29. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.29 Challenges • Speed + Dynamic Experience • Dynamic delivery of media
  30. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.30 Speed + Dynamic Experience • AVM2 (97% penetration) • Partition into libraries (~50% savings) • Obfuscation/minification • Consumer client load vs. business application load 0 2000 4000 6000 AS2 AS3 No Modules 341K Player Load 169K Menu 34K Overlay Controls 40K Volume Controls 16K Ad Support 45K Load Time in MS SWF Size in KB
  31. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.31 Speed + Dynamic Experience continued…. • Client/Server communication – Think about how to organize server calls – Think about wire protocol • Getters vs. e4x, 13x faster access • AMF Open specification; JMeter and other applications 0 10000 20000 30000 40000 AMF0 AMF3 XML Payload in bytes
  32. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.32 Dynamic Delivery of Media • Personalized underwear but not media?! • Media files are BIG! • PD vs. Streaming for video delivery
  33. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.33 Business Applications
  34. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.34 Business Applications Technology • Flex 2, AVM2 – Flex vs. ActionScript vs. DHTML • AMF3 as client/server communication protocol • Cairngorm as micro-architecture • ~100K LOC written, 150 Commands • FlexBuilder as IDE/Developer Tool • FlexUnit for unit testing • Homegrown integration tool
  35. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.35 Challenges • Development process • Fast UI Responses
  36. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.36 Development process – skills and workflow • Not enough Flex people! Training Java people. • Work across technology lines • Strong emphasis on design; auto-generate SWCs
  37. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.37 Development process – code layout Common (Shared UI + Classes) Services (Server Integration) Parts (Cairngorm Specifics) Ad Application Publishing ApplicationMedia Application
  38. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.38 Development process – code layout • Each project contains own set of unit tests • Shared project layers are compiled as SWC, enables faster compile • Each project checks in .project, .actionScriptProperties and .flexProperties file
  39. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.39 Fast UI Responses • AVM2 • How to get Data? – Structure server API; initial view, lazy load, different types of DTOs – Make clients intelligent about their needs – Datagrid presentation strategies
  40. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.40 Servers on Fire!
  41. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.41 Server Technology Overview • Java 6, 64 bit JVM • Tomcat, Spring, Hibernate and Coherence • BlazeDS as AMF gateway • ~350K LOC • JUnit, JMeter, Lunt • Eclipse IDE, Emacs, Vi
  42. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.42 Challenges • Low latency, high throughput – Better user experience – Minimize capex, Facebook was rumored to have raised 100M to buy 50K servers. That’s a lot of dough! • Scale
  43. © 2006 Brightcove, Inc. All rights reserved. Company Confidential.43 Summary • Understand PaaS and how to evaluate • Case study of a successful company built on Adobe Platform • Great platforms enable great applications - Go forth and create!
  44. Question and Answers Drop me a line: astreb@brightcove.com

×