Weitere ähnliche Inhalte Ähnlich wie Platform as Art: A Developer’s Perspective (20) Mehr von Brian Deitte (7) Kürzlich hochgeladen (20) Platform as Art: A Developer’s Perspective1. 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
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”
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
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
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!
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
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!
Hinweis der Redaktion 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.