« Page 5 of 18 »

  1. Rackspace has launched a public beta of their Cloud Servers API.

    The Cloud Servers product allows you to rent computing resources and is a competitor to Amazon's Elastic Compute Cloud (EC2) service. Rackspace has a comparison page that describes, from their perspective, the advantages of their offering over EC2.

    Some key differences from EC2 include:

    • Cloud Servers has a wider range of server sizes available at the low end, with a minimum size of 256MB RAM that has a price of only $10.95 per month.
    • Public IP addresses can be shared among multiple servers.
    • The service supports dynamic resizing (vertical scaling) of servers to a degree. Unlike EC2, you can increase or decrease the computing power available to a single server without the need to manually start a new instance and redeploy your application to the new instance. However this scaling, while easy, isn't instantaneous -- behind the scenes Rackspace's service actually starts a new server and copies everything across for you, so there is likely to be some downtime.
    • A simpler RESTful API with support for JSON messages in addition to XML.

    I am not yet familiar enough with Cloud Servers to give a detailed comparison with EC2, but it seems to be a full-featured service that is aiming to address some of the difficulties people face when using Amazon's offering. If Rackspace can learn from Amazon's missteps they should be able to provide a compelling cloud computing platform.

    It has taken some time for a strong, low-level "Infrastructure as a Service" competitor to EC2 to arrive, but we may finally have it in Cloud Servers. I hope so, because the more active competition we have in this space the more quickly the products and technology will improve, and the better off we cloud computing users will be.

    There are comments.

  2. Bye bye Beta

    2009-07-07

    Google's Gmail and Google Apps are no longer BETA products.

    I guess that means that not only has the designation "beta" been stripped of any real meaning on the modern web, but even the decision to leave beta status can be taken on a whim. Perhaps there is a tangible reason -- aside from marketing towards the big end of town -- that prompted Google to remove the beta status from their products today. Perhaps. But if so, the reason isn't explained in these blog posts.

    Don't get me wrong, I am a long-time user of both of these products and I consider them invaluable tools of very high quality. The tech is great. I just get annoyed when large companies, through carelessness or malice, misuse words and destroy their semantic value.

    There are comments.

  3. The great promise of the OpenID specification is that it can simplify identity management on the 'net. At its best, OpenID provides three great features:

    Unified Identity

    A single account (identity) with which you can log in to many sites, removing the need to create and remember a separate username/login for every web site you interact with.

    Openness

    A decentralized authentication system with multiple providers. This means that you can choose a provider (or even a few) from the many options available to vouch for your identity, and switch providers if you find a better one. Or you can even be your own provider.

    Delegation

    I think Delegation is the most attractive feature of OpenID because it means your own web site can act as your identity, while delegating the authentication process to one (or more) OpenID providers.

    In short, with delegation you can log in to sites using a URL you own like james.murty.co, while taking advantage of the strong authentication options offered by providers such as Verisign's PIP. Although my Verisign PIP identity happens to be jmurty.pip.verisignlabs.com, I can use my own web site as an alias for this provider-specific identity.

    By decoupling your identity from your OpenID provider you can take advantage of the fact there are many providers and easily switch providers later on without losing your identity, and without having to update your associated OpenID identity on every web site. After all, if you had to do that you might as well have created your own username/password on every site in the first place.

    But...

    Unfortunately, the complexity of OpenID and the challenge ordinary people can have getting it to work properly is preventing widespread adoption of the system in general, and of the Openness and Delegation features in particular. Although big players like Google and Yahoo are supporting (parts of) the specification, they are understandably encouraging people to adopt their branded OpenID identities rather than extolling the advantages of controlling your own identity.

    After all, every web company would love to take on the "burden" of managing your unified web identity. It's the ultimate in vendor lock-in.

    Setup OpenID delegation for your web site

    If you have your own web site or blog and are able to edit the HTML pages directly, you can set up delegation by adding special link tags to the head section of one of your site's pages. You will most likely want to do this on the site's home page so you can use a short URL like james.murty.co instead of james.murty.co/my-openid-page.html.

    Below are the link tags I use on my site to delegate to my jmurty Verisign PIP identity. You will need to use your own provider-specific identity URL in your links, and the format could vary quite a lot depending on the OpenID provider you choose so check your provider's documentation. Also, I'm not sure that all OpenID providers actually support delegation, so you should research this before you sign up with a provider.

    <link rel="openid.server"
          href="http://pip.verisignlabs.com/server" />
    <link rel="openid.delegate"
          href="http://jmurty.pip.verisignlabs.com/" />
    <link rel="openid2.provider"
          href="http://pip.verisignlabs.com/server" />
    <link rel="openid2.local_id"
          href="http://jmurty.pip.verisignlabs.com/" />
    

    It is important that these link tags be included inside a valid HTML head section in your web page, or many web sites will be unable to find your delegate settings.

    More Complexity, aka Taming Blogger.com

    You may have noticed that the OpenID information is provided twice, once for the original OpenID specification (openid.* tags) and again for version 2 of the spec (openid2.* tags).

    I don't know why the second lot of settings is necessary, since presumably the spec is supposed to be backwards-compatible, but I have found that some sites won't work properly unless the version 2 settings are provided.

    One example of version incompatibility quirks is Google's Blogger.com, which allows you to comment on blog posts after logging in with an OpenID. Prior to adding the openid2.* tags I found that although Blogger would allow me to authenticate and post comments, it would replace my delegating identity james.murty.co with the delegated version jmurty.pip.verisignlabs.com. This meant that the delegation was essentially useless, since anyone clicking on the nickname for my comment would end up at an empty Verisign PIP landing page instead of my own site.

    I'm not sure if this is Google's fault, or a fault in the OpenID spec. Either way it was annoying having to track down and fixing this issue. It just serves as yet another example where OpenID is not quite living up to the promise of simplifying identity management.

    There are comments.

  4. I have updated my small java-xmlbuilder project with some nice new features.

    First, here's a reminder of what this project does:

    XML Builder is a utility that creates simple XML documents using relatively sparse Java code.

    It is intended to allow for quick and painless creation of XML documents where you might otherwise be tempted to use concatenated strings, and where you would rather not face the tedium and verbosity of coding with JAXP.

    The new features include:

    • Parse existing documents into an XMLBuilder object, so you can now easily add nodes to pre-existing documents.
    • Use XPath queries to locate a specific element in your document. This is especially useful if you have parsed a document and you need to add new nodes at different locations in the DOM. Type in your XPath query and you can now jump directly to the right place.
    • The project now has a Maven-friendly structure, complete with a repository from which you can obtain the Jar file -- see the Downloads section on the project page for instructions. This great leap forwards is thanks to Dan Brown's instructions for using Wagon to deploy Maven artifacts to Google's SVN.
    • JUnit tests are now public in the repository, to help keep me honest.

    People familiar with the project may notice that I have changed the version numbering scheme. The latest version is 0.3, not 3. I think the "0." prefix better indicates the maturity of this tool.

    There are comments.

« Page 5 of 18 »