Sagrada: Mozilla Services, the Cloud, and You

From DevSummit
Jump to navigation Jump to search

mozilla cloud

  • survey of "groovy" things mozilla is doing - services and apps in rob's group
  • where do we go from there?
  • is mozilla planning cloud db services?
  • will mozilla provide some sort of alternative to google docs, with

more security?


what we have now is not a complete cloud solution -- more like amazon cloud services

building a platform to provide value-added stuff for firefox

mozilla has knowledge and infrastructure to host cloud apps, but can't afford to build and maintain wildly successful web services for free in perpetuity. how can we do this sustainably without selling out our users?

at its heart, mozilla is a nonprofit--there's a nonprofit foundation that owns the mozilla corporation, a for-profit company

all the money that the corporation brings in finds its way back to the foundation. corporation status allows mozilla to do certain kinds of business deals

core mission is free software, privacy, standards, security by design

first service that moz built was sync--passing tabs, history, bookmarks, and creds between firefox installs (phone, laptop, work, etc). 10 million sync users. client side encryption.

next: end user notifications. html5 open standards initiative for site notifications. removes burden from site builders, gives tools & choices back to users

browser ID: browser based identity services

all of these services share certain features/needs:

  • storage (database)
  • messaging (queues passing notifications or actions back and forth)
  • logging

right now moz is calling this platform sagrada. includes a key-value store, message queues, metrics/logging, and then an app framework on top of that.

(key-value store) (message queues) (metrics/logging)

     \\                ||              //     (linked by http)

[[------------- app framework ------------- ]]

sync is launched; these pieces are being built based on features already in sync. these are server-side pieces. app frameworks in python with pyramid, or in node.js

http://hg.mozilla.org/services or http://github.com/mozilla-services

these are all core building blocks that all sorts of applications need. the first crowd that will be really interested in this will be firefox extension developers.

the audience goes beyond that, though: already, you can run your own sync server.

key-value store is like a db that just stores keys and values. sometimes they handle nested values. cassandra, google's big table, etc.

  • would it be possible to do something like use sync to sync the

contacts in peoples' phones? -- yeah, that's possible. sync is not a backup service. it's just http and pushing data around.

  • have you thought about relational stores (like redis)?

-- not really, it doesn't map as clearly to http and transparent, horizontal storage (ACID). though, right now sync actually has mysql on the backend for legacy reasons.

  • does the key-value store handle locking, consistently, etc? ACID

(atomicity, consistency, ...) -- key value store is typically not--there might be latency between the instant you put data in, and when you can get that data back in a query. makes building infrastructure without a single point of failure much easier, but gives up immediate consistency.

sustainability models

  • payment for usage past a certain point? ie, developer/small-scale

usage might be free, larger storage by organizations or companies might pay?

  • host it yourself? build an ecosystem of hosts providing these services?
  • are free models harmful for sustainability reasons?
  • does mozilla want to take on the task of providing cloud services?
  • building more apps on top of these services--mozilla has a limited

set of applications on the roadmap; there will be room and support for a larger ecosystem of apps around these services

not services, but related and worth mentioning: B2G ("Boot 2 Gecko")

  • gecko is the firefox rendering engine--turns html into a rendered

page. works in tandem with spider monkey, the javascript engine.

  • gecko is everything inside the window that is not scrollbars, window

header, etc.

  • chromeOS, b2g, web as platform
  • right now, what you can do with a browser is... browse. as the web

becomes more of a platform, there will be more oportunities for this kind of system.

  • chrome vs. firefox and moz business model?

-- actually, google's support of moz is not charity. it's payment for google as the default search engine in firefox.

  • right now, native apps have a more developed platform. soon, html5

and javascript apps will run cross-platform.

  • boot 2 gecko will have all html5 and javascript apps and os APIs
  • accesibility built into the core of boot 2 gecko would be really

helpful--chromeOS already does a good job of this

  • new operating systems mean that there are screen reader vendors for

that OS yet, so it's hard to get started

  • this is primarily targeted at phones, and spoken aloud text and

voice activated behaviors are already part of the landscape

  • android was really bad at accessibility at first, now it's nearly

usable for people with vision disabilities, and ice cream sandwich is going to be much better.