Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
2012 Fukuoka Ruby Award Competition

Details on the competition:


Explain briefly functions and feature.

fog provides a consistent, simple interface to many cloud services. Whether utilizing computing, DNS, storage or other cloud resources, fog's simple interface helps new users get started quickly and easily, find the best provider for their needs, and migrate easily when those needs change. Because of it's open source license and the community built around it, fog also allows for quick extension of its interface when new cloud products and features are released.

Purpose and Aim

Describe the purpose of development, aim and market targeted.

Because each cloud service is drastically different from the next, evaluating your options, getting started, and migrating can all be challenging and expensive activities. fog allows users to move past these problems by provides a simple interoperable on-ramp to a wide selection of cloud services. In doing so it opens up cloud computing for everyone instead of the select few who had enough resources to overcome the obstacles to adoption.

Reason why you focus on Ruby

I love Ruby and have been using it as my primary language for some time now. Ruby’s object oriented model provides a clean mapping to cloud resources, and it's powerful meta-programming tools allow me to simplify and reuse large portions of the codebase. Together, these have made it much simpler for me to evolve beyond writing a single cloud services library and create a framework for writing cloud services, which makes it easier and faster to add services and to ensure that they have the same clarity, power, and simplicity as existing services.

Feature of software / business model / Activity

Describe the feature (selling point, utility).

fog makes it simple to get started on one or more Cloud services. New users can easily start using Cloud services and experienced users can use many services interchangeably. Flexibility allows users to avoid vendor lockin and provides a direct strategy for disaster recovery. Additionally, extensive mocking support allows users to interact with a simulated cloud to more quickly iterate on their designs. By joining the community around fog they also gain access to bug fixes and features implemented by their peers, which keeps the library up to date and continually provides new features and services.


Describe the novelty, innovativeness.

Cloud services can be difficult to implement, especially if you need to interact with more than one service, each of which requires its own knowledge and uses its own interface. Although standards seek to solve this problem, consumers can not wait for them to be fulfilled. fog empowers users to getting started and expanding their cloud services usage with the confidence that they can remain flexible and migrate to the best services as they become available. By simplifying and unifying the interface it allows users to evaluate their options, make the best decision, and avoid vendor lockin. Users empowered by fog have created a wide array of libraries and services, from configuration management tools like chef and puppet to platforms like Engine Yard and Heroku. Through fog and these tools Ruby developers have been empowered to embrace the Cloud like never before.


Describe the impact given to the industry and the society.

fog has quickly replaced a number of libraries that focused more narrowly on particular Cloud services. Many other open source libraries, such as carrierwave, chef, paperclip and puppet now rely on fog to interact with Cloud services. In addition it is widely used behind the scenes on a number of major products, including,,, Many new Cloud providers also add support for their platforms directly to fog in order to allow new customers an easy way to get started or migrate from existing platforms. By providing better flexibility, portability and support fog has quickly become the de facto standard for cloud services in Ruby.

Accompanying material (The application submitted and accompanying material are not returnable)

Indicate the specific achievement, concrete feedback from the market.

Feedback from the market has been fantastic. People who were using Cloud services now have much easier jobs and those who never have find it possible to get up and running.

Software requirements

Describe purpose and business deployment in the future.

fog provides Rubyists with a leg up in the Cloud race. Through support for and across providers fog empowers Rubyists to drive innovation in the Cloud.

Outline drawing of activity, briefing paper, article of newspaper and magazine etc. Please append material described in here if there is material that becomes reference.

  • "If you do any scripting with cloud computing, you owe it to yourself to check out Fog" Larry Wright, Backing Up Your Data With fog
  • "It’s a simple but powerful library, and it’s perfect for an offsite backup scenario" Phil Ripperger, Offsite Backups with fog

Some other ideas:

  • that you can stil use the libraries below , it's a permeable library (don't know if this makes sense)
  • it will allow you to switch from cloud to cloud (independant and ability to overcome f.i. the amazon failure), helps in Disaster recovery
  • find a business compelling reason to use it, (no vendor lockin?)

mattt commented Oct 3, 2011

Very well done, @geemus. Just a few suggestions:

  • Find a few fog user testimonials or blog article pull quotes for the section about concrete feedback.
  • Give the copy a once-over for words that have simpler, but more emotional alternatives (e.g. "disparate", in section 2, felt kinda rough on the first read through)
  • I'm not sure what the context is for this prize, but it might be worth a sentence or two clarifying what Cloud Services entail (maybe even list all of the platforms fog currently supports)

And +1 for @jedi4ever's comment: you should really hammer on the point about preventing vendor lock-in and as a contingency plan for when things go wrong.


geemus commented Oct 3, 2011

@jedi4ever - thanks, added another sentence related to arbitrage/vendor lockin to the business section. Could maybe still use more, but hopefully that fills in a little for the points you mentioned.


geemus commented Oct 3, 2011

@jedi4ever - just added some about disaster flexibility/disaster recovery to the features section as well.
@mattt - same goes for you.

You both mentioned disaster recovery/vendor lockin specifically so hopefully touching on it in those two sections helps cover that.


geemus commented Oct 3, 2011

@mattt - Given what little info I can find around the prize, its hard to say. I think a more explicit description of what cloud services are could be good though. In any event, here are further details about the prize:


geemus commented Oct 3, 2011

@mattt - I kind of like the word disparate, but that doesn't mean it isn't inappropriate. Nuked it.


geemus commented Oct 3, 2011

@mattt - updated outline to better explain (at a high level) what cloud services I'm talking about.


geemus commented Oct 3, 2011

Sorry for the comment spam, but since diff view and the like don't really seem available I want to let you guys know (and remind myself) what things I have and haven't addressed. Maybe next time I'll just make a full on git repo or something. Would probably be simpler...


geemus commented Oct 3, 2011

@mattt - added a couple pull quotes. Could maybe use some formatting/other stuff there but its a start. Thanks for that suggestion too, hadn't even occurred to me to do that.

I would really focus in the "Achievements" section on the impact FOG has had on adoption of cloud computing to business inovation via startups. Explain the difficulties for using rote cloud API and the massive inconstancies between providers. Also, how FOG created an easier entry ramp by being Ruby based vs Java based. Explain the impact of how it has been used by companies like EngineYard, Puppetlabs and Opscode/Chef to further cloud adoption. Not sure what a 1m YEN is worth.. it might be a good idea to get a little PR help...

a.k.a. @botchagalupe


geemus commented Oct 10, 2011

@botchagalupe - Thanks for the feedback, I've tried to expand more on achievements to capture some of what you mentioned. 1m yen is about 13.5k USD fwiw. So nothing to scoff at, but honestly I'm more excited about the honor it would be to receive it and the possibility of visiting Japan again (plus the attention for fog, and a trophy sounds cool, dunno that I've ever gotten a trophy for anything).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment