Here's one we made earlier <ul><ul><li>Building a new infrastructure for bbc.co.uk... ... and rolling out a new Identity p...
Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform <...
Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform <...
We’ve come a long way…
Problem #1: Growth without revenue...
Future Media & Technology BBC iPlayer
/programmes Future Media & Technology
Future Media & Technology BBC Homepage
Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform <...
BBC Identity circa. 2000 <ul><li>Disparate authentication systems </li></ul><ul><li>Inconsistent user experience </li></ul...
“ Single Sign-On” (SSO) ‏
“ Single Sign-On” (SSO) ‏ <ul><li>Closed-source </li></ul><ul><li>C interface with Perl bindings </li></ul><ul><li>mod_per...
Evolution <ul><li>Gradual evolution of the web </li></ul><ul><li>Antiquated web platform </li></ul><ul><li>Inflexible / pr...
Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform <...
Architectural principles <ul><li>Each project must have a clear customer and deliver a real benefit. ideally to an end-use...
Architectural principles (cont) ‏ <ul><li>Start simple, then iterate Build the smallest thing you could possibly need, dep...
Architectural principles (cont) ‏ <ul><li>Test often So you know when you need to optimise So you can maintain your code S...
BBC Tech Refresh Architectural principles <ul><ul><li>Each project must have a clear customer and deliver a real benefit <...
What benefits will it bring ? <ul><li>Flexible </li></ul><ul><li>Capability to build richer functionality </li></ul><ul><l...
Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform <...
“Identity” <ul><li>“ the  anticipated revolution  of identity verification on the internet using emerging user-centric tech...
BBC Pentagram of Data Users?
 
 
Identity Links the BBC to its Audience
BBC Pentagram of Data BBC Identity
Linking Content and Users <ul><li>Brendan comments on the PM Blog </li></ul><ul><li>Ben knows Brendan </li></ul><ul><li>Be...
Linking Content and Users <ul><li>Brendan listens to Portishead </li></ul><ul><li>Ben knows Brendan </li></ul><ul><li>Ben ...
Linking Users via the Internet ...
BBC Pentagram of Data BBC Identity
BBC Application Developers <ul><li>Personal and public profiles </li></ul><ul><li>Personalisation </li></ul><ul><li>Custom...
Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform <...
So what is it then ? Page Assembly Layer Caching Layer Data Services Layer Database Layer Traffic Management Layer
Technology stack Services can be exposed via Backstage or to indies Dynamic “page assembly” in PHP Handle the simple stuff...
Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform <...
Paying off the Technical Overdraft
Ideals <ul><li>Toolbox of Identity services </li></ul><ul><li>Layered Identity </li></ul><ul><li>Need-to-know </li></ul><u...
Architecture <ul><li>Service Oriented </li></ul><ul><li>Open-source throughout: </li></ul><ul><ul><li>MySQL Repository </l...
 
Security <ul><li>Under 16s ~70% of registered user-base </li></ul><ul><ul><li>Can't ignore them </li></ul></ul><ul><li>Wor...
Performance <ul><li>Enormous estimated growth of user-base </li></ul><ul><li>Identity ubiquitously available across bbc.co...
Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform <...
Processes <ul><li>Development environments </li></ul><ul><li>Local sandbox </li></ul><ul><li>Internet access </li></ul><ul...
Roadmap – how we get there <ul><li>Build a scale model </li></ul><ul><li>Wrap processes around it </li></ul><ul><li>Review...
Still to come <ul><li>Content management integration </li></ul><ul><ul><li>“ inversion of control” ideas </li></ul></ul><u...
Questions? [email_address] [email_address]
Photo acknowledgements <ul><li>http://www.flickr.com/photos/stabilo-boss/93136022/ </li></ul><ul><li>http://www.nostalgiac...
Upcoming SlideShare
Loading in …5
×

XTech 2008 - BBC Tech Refresh and Identity - Brendan Quinn And Ben Smith

14,486 views
14,062 views

Published on

Presentation from XTech 2008 in Dublin, about the BBC's plans to reinvigorate its technical platform and to create new user management services.

Published in: Technology, Business
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
14,486
On SlideShare
0
From Embeds
0
Number of Embeds
644
Actions
Shares
0
Downloads
0
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide
  • XTech 2008 - BBC Tech Refresh and Identity - Brendan Quinn And Ben Smith

    1. Here's one we made earlier <ul><ul><li>Building a new infrastructure for bbc.co.uk... ... and rolling out a new Identity platform on it </li></ul></ul><ul><ul><li>Brendan Quinn Ben Smith </li></ul></ul><ul><ul><li>8 May 2008 </li></ul></ul>
    2. Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform </li></ul></ul><ul><ul><li>With the identity system </li></ul></ul><ul><li>Architectural/design principles </li></ul><ul><ul><li>Vision for Identity </li></ul></ul><ul><li>Overview of the stack </li></ul><ul><ul><li>And how it applies to Identity </li></ul></ul><ul><li>Development / deployment process </li></ul>
    3. Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform </li></ul></ul><ul><ul><li>With the identity system </li></ul></ul><ul><li>Architectural/design principles </li></ul><ul><ul><li>Vision for Identity </li></ul></ul><ul><li>Overview of the stack </li></ul><ul><ul><li>And how it applies to identity </li></ul></ul><ul><li>Development / deployment process </li></ul>
    4. We’ve come a long way…
    5. Problem #1: Growth without revenue...
    6. Future Media & Technology BBC iPlayer
    7. /programmes Future Media & Technology
    8. Future Media & Technology BBC Homepage
    9. Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform </li></ul></ul><ul><ul><li>With the identity system </li></ul></ul><ul><li>Architectural/design principles </li></ul><ul><ul><li>Vision for Identity </li></ul></ul><ul><li>Overview of the stack </li></ul><ul><ul><li>And how it applies to identity </li></ul></ul><ul><li>Development / deployment process </li></ul><ul><ul><li>And how it applies to identity </li></ul></ul>
    10. BBC Identity circa. 2000 <ul><li>Disparate authentication systems </li></ul><ul><li>Inconsistent user experience </li></ul><ul><li>Differing levels of security </li></ul><ul><li>DPA compliance </li></ul>
    11. “ Single Sign-On” (SSO) ‏
    12. “ Single Sign-On” (SSO) ‏ <ul><li>Closed-source </li></ul><ul><li>C interface with Perl bindings </li></ul><ul><li>mod_perl web-application </li></ul><ul><li>One-size-fits-all architecture </li></ul>
    13. Evolution <ul><li>Gradual evolution of the web </li></ul><ul><li>Antiquated web platform </li></ul><ul><li>Inflexible / proprietary architecture </li></ul><ul><li>SSO was unable to adapt </li></ul>
    14. Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform </li></ul></ul><ul><ul><li>With the identity system </li></ul></ul><ul><li>Architectural/design principles </li></ul><ul><ul><li>Vision for Identity </li></ul></ul><ul><li>Overview of the stack </li></ul><ul><ul><li>And how it applies to identity </li></ul></ul><ul><li>Development / deployment process </li></ul><ul><ul><li>And how it applies to identity </li></ul></ul>
    15. Architectural principles <ul><li>Each project must have a clear customer and deliver a real benefit. ideally to an end-user... </li></ul><ul><li>Don't Repeat Yourself (DRY) (or other people for that matter!) Life is too short to spend your time re-inventing things... </li></ul><ul><li>Be as simple as possible (YAGNI: “you ain’t gonna need it”) Just do what we need to do now... </li></ul><ul><li>Be as open as possible Assume that all services can be accessed from outside the BBC, by default... </li></ul>
    16. Architectural principles (cont) ‏ <ul><li>Start simple, then iterate Build the smallest thing you could possibly need, deploy it, then build applications on top of it. Think building blocks, not monoliths. Don’t try to do everything straight away, but do something quickly... </li></ul><ul><li>Don't optimise prematurely… The service might not grow the way we think it will... </li></ul><ul><li>… but build to scale think stateless, think content delivery networks, think database resilience (Are these two points contradictory? We say no… in our environment at least… because it’s not premature!)‏ </li></ul>
    17. Architectural principles (cont) ‏ <ul><li>Test often So you know when you need to optimise So you can maintain your code So you can maintain your platform </li></ul><ul><li>Evolve Teams, systems, support structures The platform These principles..! </li></ul><ul><li>Let it die (aka “Fall forward fast”) Be prepared to turn your system off... or change it unrecognisably </li></ul>
    18. BBC Tech Refresh Architectural principles <ul><ul><li>Each project must have a clear customer and deliver a real benefit </li></ul></ul><ul><ul><li>Don't repeat yourself </li></ul></ul><ul><ul><li>Be as simple as possible </li></ul></ul><ul><ul><li>Be as open as possible </li></ul></ul><ul><ul><li>Start simple, then iterate </li></ul></ul><ul><ul><li>Don't optimise prematurely… </li></ul></ul><ul><ul><li>… but build to scale </li></ul></ul><ul><ul><li>Test often </li></ul></ul><ul><ul><li>Evolve </li></ul></ul><ul><ul><li>Let it die </li></ul></ul>
    19. What benefits will it bring ? <ul><li>Flexible </li></ul><ul><li>Capability to build richer functionality </li></ul><ul><li>Clean separation of application logic from presentation logic improves scale and ease </li></ul><ul><li>Make it easier to build applications </li></ul><ul><li>Standardised </li></ul><ul><li>Systems are easier to understand </li></ul><ul><li>We can (and do) use third party software off-the-shelf </li></ul><ul><li>We can draw on industry best practice </li></ul><ul><li>Working towards a shared technology stack across the BBC </li></ul><ul><li>Manageable </li></ul><ul><li>Easier operational support </li></ul><ul><li>Flexibility to scale & respond to traffic </li></ul><ul><li>Improved testing and release processes </li></ul><ul><li>Better visibility for security & performance </li></ul>
    20. Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform </li></ul></ul><ul><ul><li>With the identity system </li></ul></ul><ul><li>Architectural/design principles </li></ul><ul><ul><li>Vision for Identity </li></ul></ul><ul><li>Overview of the stack </li></ul><ul><ul><li>And how it applies to identity </li></ul></ul><ul><li>Development / deployment process </li></ul>
    21. “Identity” <ul><li>“ the anticipated revolution of identity verification on the internet using emerging user-centric technologies” </li></ul>
    22. BBC Pentagram of Data Users?
    23.  
    24.  
    25. Identity Links the BBC to its Audience
    26. BBC Pentagram of Data BBC Identity
    27. Linking Content and Users <ul><li>Brendan comments on the PM Blog </li></ul><ul><li>Ben knows Brendan </li></ul><ul><li>Ben finds out about BBC Blogs </li></ul>
    28. Linking Content and Users <ul><li>Brendan listens to Portishead </li></ul><ul><li>Ben knows Brendan </li></ul><ul><li>Ben finds out about Portishead on /music </li></ul>
    29. Linking Users via the Internet ...
    30. BBC Pentagram of Data BBC Identity
    31. BBC Application Developers <ul><li>Personal and public profiles </li></ul><ul><li>Personalisation </li></ul><ul><li>Customisation </li></ul><ul><li>Attention tracking </li></ul><ul><li>Recommendations </li></ul><ul><li>Notifications </li></ul><ul><li>Social Networks </li></ul>
    32. Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform </li></ul></ul><ul><ul><li>With the identity system </li></ul></ul><ul><li>Architectural/design principles </li></ul><ul><ul><li>Vision for Identity </li></ul></ul><ul><li>Overview of the stack </li></ul><ul><ul><li>And how it applies to identity </li></ul></ul><ul><li>Development / deployment process </li></ul>
    33. So what is it then ? Page Assembly Layer Caching Layer Data Services Layer Database Layer Traffic Management Layer
    34. Technology stack Services can be exposed via Backstage or to indies Dynamic “page assembly” in PHP Handle the simple stuff separately for performance (CSS, JS, images) ‏ Identity and GeoIP built in, available everywhere
    35. Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform </li></ul></ul><ul><ul><li>With the identity system </li></ul></ul><ul><li>Architectural/design principles </li></ul><ul><ul><li>Vision for Identity </li></ul></ul><ul><li>Overview of the stack </li></ul><ul><ul><li>And how it applies to identity </li></ul></ul><ul><li>Development / deployment process </li></ul>
    36. Paying off the Technical Overdraft
    37. Ideals <ul><li>Toolbox of Identity services </li></ul><ul><li>Layered Identity </li></ul><ul><li>Need-to-know </li></ul><ul><li>No wheel re-invention </li></ul>
    38. Architecture <ul><li>Service Oriented </li></ul><ul><li>Open-source throughout: </li></ul><ul><ul><li>MySQL Repository </li></ul></ul><ul><ul><li>OpenSSO Identity Management Core </li></ul></ul><ul><ul><li>Java REST Services (Spring MVC) ‏ </li></ul></ul><ul><ul><li>PHP presentation layer (Zend Framework) ‏ </li></ul></ul>
    39.  
    40. Security <ul><li>Under 16s ~70% of registered user-base </li></ul><ul><ul><li>Can't ignore them </li></ul></ul><ul><li>Work hard to maintain trust in the BBC </li></ul><ul><li>Payment Card Industry standard </li></ul><ul><ul><li>Treat personal data like credit-card information </li></ul></ul>
    41. Performance <ul><li>Enormous estimated growth of user-base </li></ul><ul><li>Identity ubiquitously available across bbc.co.uk </li></ul><ul><li>Authorisation of every request to bbc.co.uk </li></ul><ul><li>Horizontal scalability within each layer </li></ul><ul><li>Intelligent load-balancing </li></ul><ul><li>Caching and session-management </li></ul>
    42. Overview <ul><li>Why are we doing this? </li></ul><ul><li>Problems we’re solving </li></ul><ul><ul><li>With the platform </li></ul></ul><ul><ul><li>With the identity system </li></ul></ul><ul><li>Architectural/design principles </li></ul><ul><ul><li>Vision for Identity </li></ul></ul><ul><li>Overview of the stack </li></ul><ul><ul><li>And how it applies to identity </li></ul></ul><ul><li>Development / deployment process </li></ul>
    43. Processes <ul><li>Development environments </li></ul><ul><li>Local sandbox </li></ul><ul><li>Internet access </li></ul><ul><li>Available to indies </li></ul><ul><li>Release processes </li></ul><ul><li>Packages (RPMs) ‏ </li></ul><ul><li>Integration testing </li></ul><ul><li>Staging and QA </li></ul><ul><li>Operational support </li></ul><ul><li>Monitoring (systems and apps) ‏ </li></ul><ul><li>Capacity planning </li></ul><ul><li>Live & test environments </li></ul><ul><li>Consistent with dev </li></ul><ul><li>Managed upgrades </li></ul><ul><li>Partitioned </li></ul>
    44. Roadmap – how we get there <ul><li>Build a scale model </li></ul><ul><li>Wrap processes around it </li></ul><ul><li>Review traffic </li></ul>Prototype Beta <ul><li>Build a small but complete version of platform </li></ul><ul><li>Launch some applications </li></ul><ul><li>Get feedback </li></ul>Live Blueprint <ul><li>Build resilience </li></ul><ul><li>Add more applications </li></ul><ul><li>Get more feedback </li></ul>Working platform Live platform
    45. Still to come <ul><li>Content management integration </li></ul><ul><ul><li>“ inversion of control” ideas </li></ul></ul><ul><li>Simple data services </li></ul><ul><ul><li>No coding needed </li></ul></ul><ul><li>Messaging and notifications </li></ul><ul><ul><li>MQ, XMPP…? </li></ul></ul><ul><li>See you next year…? </li></ul>
    46. Questions? [email_address] [email_address]
    47. Photo acknowledgements <ul><li>http://www.flickr.com/photos/stabilo-boss/93136022/ </li></ul><ul><li>http://www.nostalgiacentral.com/tv/kids/bluepeter.htm </li></ul>

    ×