IGN's V3 API

1,564 views

Published on

My presentation to the Code Foo 2012 interns on IGN's New Service Architecture. http://code.ign.com/foo

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

  • Be the first to like this

No Downloads
Views
Total views
1,564
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

IGN's V3 API

  1. 1. Introduction to V3 Manish Pandit IGN Engineering
  2. 2. And there was …NIB• Monolithic System• Built with Java and front ended with JSPs• Talked to Oracle Database directly• Disconnected with the publishing• Publishing achieved via batch jobs that picked up the articles, ran home grown templating on the pages to generate a “view”
  3. 3. V1• IGN’s first attempt at SOA• Almighty NIB stays• A Java layer was built to talk with Oracle• Introduced caching with memcached, with near/far cache architecture• Templating was replaced with Freemarker instead of home grown templating
  4. 4. V2• Built to address the engineering problems with V1, not the business problems• Almighty NIB stays• The Freemarker templating stays• API changed from Java to Rails• Video and Blogs moved to MongoDB• Ruby’s performance (or lack of it) bit us in the ass, so built a Java+Memcached based edge cache• Used Solr for searches, with RabbitMQ to handle clustering
  5. 5. V3• NIB is gone (for the most part)• The APIs changed drastically and a standard was formed• Scala was introduced• Solr replaced by Elasticsearch• APIs front ended by Varnish• Addressed engineering *and* business problems• Went live a week before E3
  6. 6. Technology Platform• Backend – Scala – Scalatra – MongoDB – ElasticSearch – Varnish• Frontend – Oyster
  7. 7. Architecture Diagram
  8. 8. Advantages of V3 APIs• Single, consistent APIs across content and social APIs• Less code as level-1 caching is handled by Varnish• Common code abstracted out as libraries• Performance gain over Rails/Middleman• Faster turnaround time – articles and videos show up in 2 minutes vs. 20 earlier
  9. 9. TODO• There is a lot of work needed on V3 API – Enhance and refactor the code to use the common libraries – Rebuild Social API on V3 API platform – Consistency between APIs – Poor code coverage in tests – Move up to 2.10.0 when it comes – Tune ElasticSearch – …..

×