POSSCON - Enterprise Open Source

Preview:

DESCRIPTION

An overview of the technologies that I use on a daily basis creating dynamic websites.

Citation preview

Enterprise Open SourceJason DewBudget and Control Board

Office of Research and Statistics

Health and Demographics

Situation

ORS is a service agency -- mostly we serve other state agencies

very limited in our web development staff resources

fortunate enough to have management that allows us some freedom in selecting our tools

The Solution

Ruby on Rails - web framework

mySQL - database server

Nginx - web server

Thin - application server

Git - source control

Capistrano - automated deployment

Free and Open Sourcealso known as F/OSS

Rails

Rapid prototyping

MVC architecture

Easy code reuse

Contains an ORMActiveRecord

Rapidly evolving through the community

Prominent Rails Deployments

Twitter.com

YellowPages.com

GitHub.com

Shopify.com

many more

Ruby

Ruby is powerful

3.days.ago

account.paid_up?

client.age = 42

Ruby makes nice DSLs(Domain Specific Languages)

class Account

belongs_to :client has_many :purchases

end

Business Natural Languagehttp://bnl.jayfields.com/

employee John Jones

compensate $2500 for each deal closed in the past 30 days

compensate $500 for each active deal that closed more than 365 days ago

compensate 5% of gross profits if gross profits are greater than $1,000,000

Ruby Implementations

MRI (Matz Ruby Interpreter), written in C

JRuby, written in Java

Rubinius, written in Ruby (mostly)

IronRuby (aka Ruby.NET), written in C#

Ruby in Industry

Sun Microsystems has two engineers dedicated to JRuby

Sun also sponsors most Ruby Conferences

Sun sponsoring Rubinius support as well

Engine Yard has 6 dedicated engineers on Rubinius

Microsoft supporting IronRuby

Google beginning to support Ruby in App Engine

The Ruby/Rails Community

Ruby-Talk has over 2,000 members, averaging about 3,000 posts per month

Rails-Talk has over 15,000 members, averaging about 4,000 posts per month

Very helpful folks in IRC on #rubyonrails, #jruby, #rubinius, etc

mySQL

Robust relational database

Supports multiple storage engines

Recently acquired by Sun Microsystems

Nginx

3rd most popular web server†

lighter and faster than Apache

used by Hulu.com, WordPress.com, etc

†http://survey.netcraft.com/Reports/200806/

Thin

Very thin proxy for Rails process

Fast for many short requests

Mongrel for loads that contain long-running processes

Git

Distributed version control system

Created by Linus Torvalds (who also created Linux)

Used on one of the largest F/OSS projects

GitHub.com for free hosting

Capistrano

Automated deployment

Interfaces with Git, Subversion, etc

Easily deploy to many servers

Questions?

Recommended