Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building a Massively Scalable Cloud Service from the Grounds Up

Building a Massively Scalable Cloud Service from the Grounds Up

Serving binaries for developers is not a trivial task. As opposed to software downloaded by end users, developer binaries are mostly consumed by software tools. As such, these binaries are exposed to massive request load, similar to a coordinated DDoS attack in the case of popular binaries. Add to that: the need to manage metadata; support for pricy REST queries; controlling storage quotas; collecting stats; calculating common repository indexes on demand; and across the globe distribution, and look, you’ve got yourself a pretty complicated system to run and manage. This talk will show you how Bintray, JFrog’s social binary distribution service, works, to allow any developer to serve and consume OSS binaries. We will speak about how the system is segmented to support massive loads across data centers with full redundancy and stateless vertical scaling; how Grails applications can scale and how we tie up different NoSQL technologies such as CouchDB, MongoDB, Elasticsearch and Redis; we’ll also see how Java technologies, such as Grizzly and Jersey can provide a lightweight alternatives to traditional web technologies; and demonstrate how no-interruption deployments are done to provide continuous distribution of binaries to developers worldwide.

Baruch Sadogursky

November 06, 2013
Tweet

More Decks by Baruch Sadogursky

Other Decks in Programming

Transcript

  1. Non-Func. Requirements Requirement RPS Availability Download 10K Always Interaction 100

    Almost always Services 1 Most of the time _________________
  2. Why don’t you just use...? Framework Why not? Angular.js Ember.js,

    ж.js Maturity Wicket State ________________ -
  3. Why don’t you just use...? Framework Why not? Angular.js Ember.js,

    ж.js Maturity Wicket State JSF No comment ________________ -
  4. Why don’t you just use...? Framework Why not? Angular.js Ember.js,

    ж.js Maturity Wicket State JSF No comment Non-java Not java bg ________________ -
  5. Executive summary Framework Why not? Lucene/compass Only embedded, resource guzzler

    solr Bad grail s integration sphynx No incremental index ________________
  6. SaaS for Web and services Component SaaS Model Mongohq Grail

    s N/A ElasticSearch N/A _________________
  7. SaaS for Web and services Component SaaS Model Mongohq Grail

    s N/A ElasticSearch N/A Redis N/A _________________
  8. 1. Vagrant boots centos on virtualbox 2. Chef install s

    all db and service rpms from private YUM repo
  9. 1. Vagrant boots centos on virtualbox 2. Chef install s

    all db and service rpms from private YUM repo 3. Profit!