What is Platform as a Service?
Let's start with the basics. Platform as a Service, or PaaS as it is more commonly referred to, can be thought of as being like a utility (such as electricity or water). When you need water, you turn on the faucet and you turn it off when you're done. You're only billed for what you use. Likewise with PaaS, when you need "platform" (storage, compute, etc) you simply "turn it on" until you are done.
This is in contrast to a traditional platform model, where you have a significant investment in hardware such as network infrastructure (such as switches, routers and firewalls), storage (SAN, NAS, Fibre Channel, etc) and servers. Not to mention, in this traditional model you typically need experts to manage each of these.
Enter the "managed hosting" platform, Colo, etc. All of these are variations on the traditional hosted model but with changes to cost. At a Colo, you may not be paying for the hardware you may be leasing it. Many of these colocation providers also have "managed services" which allow you to leverage their experts, reducing costs as you now don't need your own. None of these platforms are "pay per drink"/utility however. In other words, these are different from PaaS.
Traditional hosted models are typically much more expensive than the utility model, since at a minimum they typically require monthly contracts (or a huge up front investment). So if you need one more server, even if it's just for testing for a few hours (or handling some additional load for a few days), you are billed for the entire month (or for a whole server).
When should I use PaaS?
This is where the utility model comes in, and where the original question with regard to startups becomes relevant. At a startup you are typically resource constrained in terms of time and treasure (cash). This makes the PaaS model alluring, seductive even. But, and I seem to keep beating this drum, there is no free lunch.
In the best case, such as with Amazon, you simply have an outage that lasts a few hours. In the worst case, your hosting company goes out of business and you lose everything. There is however, a sweet spot. A place where PaaS and a traditional hosting model complement each other very well.
PaaS is a killer for "edge services"; e.g. a CDN, log processing, content proxies, caches, etc. Things where, if it goes away, you're not going out of business. There is a reason that the tried and tested concept of a CDN always uses an origin server, that is, a server that it fetches data from (a master). You want fast delivery, replication, and to leverage a fairly inexpensive infrastructure. What you don't want, is for the CDN to lose a server and now you are missing data.
I still believe that a hosted model is the appropriate place to keep your primary application though. Your data is too important to simply give over to another company. I believe this will change in the future as these PaaS providers start to provide better SLA's, improve reliability and can be held accountable for hours of downtime. Until that happens though, use PaaS for the things it is well suited for, ephemeral tasks and data.
What is OpenID?
If you have ever used a site like Amazon, MySpace, Facebook or eBay you pretty quickly notice that those sites aren't very usable until you create an account. If you are anything like me, you have hundreds of accounts strewn all over the Internet to access your favorite sites. This model has a few problems:
- Who owns your identity?
- Who owns your data?
- How do you authorize what this information can be used for?
- How do you maintain security?
Why should I care?
I care because it lowers the barrier for service adoption. If you know that you don't have to fill out some form to access a web site, you just have to specify your OpenID endpoint it will increase adoption of your service.
You should care because you finally own some of your data and more importantly your identity.
How can I implement OpenID on my site?
Here are some links that might help:
This is really a great first step towards data portability, which is another topic I find interesting that I hope to cover in the coming week.
- 8 Core Mac Pro
- 8 Core Xserve
As to other announcements, who knows? But like I said, my bets on the sub-compact notebook.
- FeedDemon (Windows Client)
- NetNewsWire (Mac Client)
- NewsGator Go!(Mobile Client)
- NewsGator Inbox (Outlook Client)
Despite being a big fan of both of these online applications, they have their own 'quirks' which make them annoying for me to use. Most of these issues revolve around keyboard navigation, bugs in the feed history, and duplicate feeds. Most of these issues beautifully disappear in NetNewsWire, the Mac client from NewsGator which I downloaded for the first time yesterday.
Despite the fact that for at least the foreseeable future, NetNewsWire is my preferred feed reader, I can't see it lasting. The reason I like NetNewsWire is because it's less buggy then its online competitors and more feature rich. It's only a matter of time however before Netvibes works the bugs out, adds some more features, and again becomes my preferred reader.
I wish the NewsGator folks luck, however I can't see how they hope to compete with online equivalents in the long run.
- A Level 1 platform's apps run elsewhere, and call into the platform via a web services API to draw on data and services -- this is how Flickr does it.
- A Level 2 platform's apps run elsewhere, but inject functionality into the platform via a plug-in API -- this is how Facebook does it. Most likely, a Level 2 platform's apps also call into the platform via a web services API to draw on data and services.
- A Level 3 platform's apps run inside the platform itself -- the platform provides the "runtime environment" within which the app's code runs.
Currently Compendium Blogware is a "Level 1" platform. That is, via a services API (JSON in our case), you can do things like:
- Create and Edit Posts
- Find Posts
- Fetch announcements
- etc
Now, a clear advantage to having your SAAS (Software As A Service) provider host your application, as a level 3 platform does, is that you don't bear the burden of hosting and your uptime theoretically improves. The downside is that now the SAAS provider owns your application (in the sense that it's non-portable to another platform).
The question that deserves asking is, how useful is a computing platform for blogging? It seems obvious that just from an availability perspective, provider hosted applications are a good thing. However, the time and resources required to build a "level 3" platform are significantly more then for a "level 1" platform. The availability argument may win over in the long run however. Given how few level 2 and level 3 sites are out there, it will be interesting in 2008 to see how the landscape changes.
Today Amazon announced their newest web service, SimpleDB. SimpleDB aims to bring web scale computing to the most contentious aspect of any tiered internet application, the database. Built on Erlang, SimpleDB "is a web service for running queries on structured data in real time". As a long time EC2/S3 user, I can't wait for my invite to SimpleDB (which, much like EC2 was, is currently an invite only beta).
Recently Om Malik of GigaOM wrote an article, Google's Infrastructure is its Strategic Advantage. Whie I largely agree with the premise of the article, there are two components of the infrastructure that aren't exactly touched on: people and software. Google has great people, and Google has some great software, including Bigtable, "a distributed storage system for managing structured data". Google uses Bigtable for storing most of the data for its applications (maps, pics, video, etc).
My impression with SimpleDB is that what Amazon seems to be doing is letting your proverbial David (any startup) take on Goliath (Google). Amazon isn't out to compete with Google, but frankly Google makes lots of companies nervous. By lowering the barrier to infrastructure (EC2 for compute, S3 for storage, and now SimpleDB for persistence), Amazon is allowing startups to compete with the big guys in ways that never would have been possible a few years ago.
Since SimpleDB doesn't currently support FULLTEXT search, it will be interested to see the first few libraries which enable that feature. My theory is that the first good one will look a lot like some of the techniques described in the Bigtable paper. SimpleDB also has a 1k limit for values, which I hope Amazon increases before taking the product out of Beta.
I can't wait to see what AWS releases next.
I spotted this on slashdot today. As most folks know, for several years the ODF (OpenDocument Foundation) has been hard at work on the ODF (OpenDocument Format). This is the file format behind the OpenOffice suite of tools and initially was intended to be an open, universal, file format that could be adopted for free and enhance inter-application exchange of data.
Microsoft, in typical fashion, decided to roll their own 'open' format. This rival standard called the Office Open XML certainly didn't help adoption of ODF, although with an ISO certification several government offices adopted ODF as a standard, most notably Massachusetts. Despite the ISO certification, widespread adoption of the ODF has been slow.
Now, Sam Hiser, VP of the ODF, has said that he sees the W3C standard CDF (Compound Document Format) as a more viable universal format than ODF. He stated simply that, "ODF is not the open format with the open process we thought it was". Why is this significant?
First, I think it speaks to how important the W3C is and has become over the past several years. The number of web standards in particular that have been formalized by the W3C is remarkable, whether they have been successful or not. Second, it (CDF) addresses an issue that I see on a daily basis in my role here at Compendium Blogware.
RSS and other feed formats such as ATOM have become ubiquitous in our Web 2.0 world. Many people aren't even aware that they use RSS. One of the things the RSS standard didn't do, unlike HTML and CSS, is separate structure from presentation. RSS is entirely about structure, and although HTML is often included in an RSS feed, the standard forbids it in many cases. Even when it's not forbidden, it's unwise, as non-web based feed browsers don't neccesarily understand HTML markup. HTML/XHTML is also changing regularly, and as many people know, implemented differently by browsers.
Enter CDF. As the W3C says, "Compound Document is the W3C term for a document that combines multiple formats". Such as, XHTML and RSS? Such as, VoiceML and RSS? I hope so. If the web started to standardize on CDF, and browsers and other feed readers and blog software implement that standard, you could imagine a much richer user interaction with feeds.
It's too bad that ODF went the direction it did. However, if we can see any adoption of CDF, RSS may get a lot more interesting over the next few years.
