Sep 10, 2011

Scalr - open source software that scales web infrastructure

Need to scale? Scalr might be for you.

Scalr is open source software that scales web infrastructure.

 It helps you create and manage super-scalable infrastructure that provisions and configures everything -from cache to database- to handle spikes in demand; then decommissions servers when load decreases to lower cost.

When to use
Project launch
When you're ready to launch, Scalr will provision all the resources from the Cloud for a smooth product launch, even if a million users sign up the first day.

High Growth
Scaling websites is hard and expensive. Using the power of Cloud Computing, Scalr automatically scales your website infrastructure: it scales your database, scales your app servers, and even adds and configures load balancing and caching servers!

Fault-tolerance, backups, uptime, and efficiency
Scalr provides you with a high uptime, fault-tolerant website: Scalr monitors all your servers for crashes, and replaces any that fail. It backups your data at regular intervals, and uses Amazon EBS for database storage. And to make sure you never pay more than you should, Scalr lowers costs by decommissioning servers when load subsides.

Documentation
You can learn all about how Scalr scales your website, or how to use the API, at http://wiki.scalr.net

PoolParty - Cloud management. Simplified

PoolParty is a declarative cloud infrastructure.

It helps you to run a self-healing, auto-scaled and monitored cloud simply, in the clouds, on nearly any hardware, such as EC2, eucalyptus and vmware

PoolParty provides an executable description of a cloud computing infrastructure in a single file:

pool "myapp" do
  cloud "app" do
    using :ec2
    instances 1..1
    security_group do
      authorize :from_port => 22, :to_port => 22
    end
  end
end

Deployinator - Deploy code like Etsy

Deployinator is a deployment framework extracted from Etsy.

Here is a blog post explaining the rationale behind it and how it helps us out.

For anyone deploying code (engineers, designers… anyone really), it’s an easy process.
Once your code is ready to go, you go to Deployinator and push the button to get it on QA. From there it visits Princess (see the sidebar).

Then, when it’s ready to go live, you hit the “Prod” button and soon your code is live, and everyone in IRC knows who pushed what code, complete with a link to the diff.

For anyone not on IRC, there’s the email that everyone gets with the same information.

RubyJS

RubyJS translates Ruby code into Javascript code.

NOTE that it executes the Ruby code before it translates it into Javascript.

This has the advantage of being able to (mis-)use all of Ruby's meta-programming tricks in the global scope (i.e. for defining classes and methods, NOT within methods!).

Rack-webconsole, a Ruby/Rails console inside your browser


Rack-webconsole is a Rack middleware that enhances your development experience providing a JavaScript-powered bridge to your Ruby application backend.

With it you can interact with your database and explore the runtime environment from within the browser.

Although it should be used mainly in development environments, I personally think it could be a useful tool for staging as well.

Avoids the pain interacting with some console over an SSH session :) Here you have a little video showing how it works (watch in HD, otherwise you won't see the tiny letters!):

 

Tripwire - Stop hurting your users


Jeffrey Chupp and Jeremy Weiskotten recently built a new web service aimed at supporting developers, called Tripwire.

It integrates with Rails and remotely logs your form validation errors.

With this information, you can find out where your users are having the most trouble and streamline your web application.

Tripwire is in private alpha but will be open to the world soon.

Yes, Slim is speedy


Slim
Slim is a template language whose goal is to reduce the view syntax to the essential parts without becoming cryptic.

What?

Slim is a fast, lightweight templating engine with support for Rails 3. It has been tested on Ruby 1.9.2 and Ruby/REE 1.8.7.

Slim's core syntax is guided by one thought: "What's the minimum required to make this work".

As more people have contributed to Slim, there have been optional syntax additions influenced from their use of Haml and Jade. The Slim team is open to these optional additions because we know beauty is in the eye of the beholder.

Slim uses Temple for parsing/compilation and is also integrated into Tilt, so it can be used together with Sinatra or plain Rack.

Sample View:

doctype html
html
  head
    title Slim Examples
    meta name="keywords" content="template language"

  body
    h1 Markup examples
    #content.example1
      p Nest by indentation

    = yield

    - unless items.empty?
      table
        - for item in items do
          tr
            td = item.name
            td = item.price
    - else
      p No items found

    #footer
      | Copyright © 2010 Andrew Stone

    = render 'tracking_code'

    script
      | $(content).do_something();

Sep 2, 2011

FUEL PHP - An MVC Framework

The Model-View-Controller pattern is pretty much dominating professional, customer facing website design these days.

FUEL is a simple, flexible, community driven PHP 5.3 web framework based on the best ideas of other frameworks with a fresh start.

Sep 1, 2011

Should we use a database at all?

When people start an enterprise application, one of the earliest questions is "how do we talk to the database".

These days they may ask a slightly different question "what kind of database should we use - relational or one of these NOSQL databases?".

But there's another question to consider: "should we use a database at all?" Continue...