Platform as Art: A Developer’s Perspective
Ashley Streb, Vice President of Technology
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.2
Start at the end
Media enables us to
Touch
Inspire
Ent...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.3
Agenda
Platform as a Service (PaaS) Landscape
Brightco...
Platform as a Service (PaaS) Landscape
Defining “Platform as a Service”
PaaS: What, where and how
Defining “Platform as a Service”
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.6
Services through Cloud Computing
Consume broad range o...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.7
Three Broad Categories
Infrastructure
Amazon EC2/S3, G...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.8
Platform Defined
A "platform" is an expressive medium....
PaaS: What, where and how
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.10
PaaS: What
Problem, what problem?
Targeted capabiliti...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.11
PaaS: Where
Marc Andreessen Blog
Access API: Flickr, ...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.12
PaaS: How
How can we build and
create?
Different type...
Brightcove’s Media PaaS – the “How”
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.14
Media PaaS – the “How”
Templating WYSIWYG Tool
Web se...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.15
Templating Example
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.16
Templating Usage
WYSIWYG Interface
Control colors, st...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.17
Web service Example
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.18
Rendering Engine, Player API Examples
Stats
Process & Team Organization
Infrastructure and Architecture
The Making of a Platform with Adobe
Technology
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.20
Stats
135 Million Unique Users/month (as of 6 – 9
mon...
Process & Team Organization
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.22
Process
We use the Scrum Methodology
Month long sprin...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.23
Process
Common language across the entire
organizatio...
Infrastructure and Architecture
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.25
Brightcove’s Applications
Server
Consumer Players Bus...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.26
Adobe Technology Used
ActionScript 2, ActionScript 3
...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.27
Consumer Video Player
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.28
Consumer Video Player Technology
ActionScript 3, AVM2...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.29
Challenges
• Speed + Dynamic Experience
• Dynamic del...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.30
Speed + Dynamic Experience
• AVM2 (97% penetration)
•...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.31
Speed + Dynamic Experience continued….
• Client/Serve...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.32
Dynamic Delivery of Media
• Personalized underwear bu...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.33
Business Applications
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.34
Business Applications Technology
• Flex 2, AVM2
– Fle...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.35
Challenges
• Development process
• Fast UI Responses
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.36
Development process – skills and workflow
• Not enoug...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.37
Development process – code layout
Common
(Shared UI +...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.38
Development process – code layout
• Each project cont...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.39
Fast UI Responses
• AVM2
• How to get Data?
– Structu...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.40
Servers on Fire!
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.41
Server Technology Overview
• Java 6, 64 bit JVM
• Tom...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.42
Challenges
• Low latency, high throughput
– Better us...
© 2006 Brightcove, Inc. All rights reserved. Company Confidential.43
Summary
• Understand PaaS and how to evaluate
• Case ...
Question and Answers
Drop me a line: astreb@brightcove.com
Upcoming SlideShare
Loading in …5
×

Platform as Art: A Developer’s Perspective

3,446
-1

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
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,446
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
56
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Link: http://musicbox.sonybmg.com/
    Additional Links:
    Justin Timberlake Official page: http://www.justintimberlake.com/ (video in top nav)
    Justin Timberlake MySpace page: http://www.myspace.com/justintimberlake
    Meant to show how Sony operates multiple destinations with the same video content.
  • 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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×