27
Enterprise Open Source Jason Dew Budget and Control Board Office of Research and Statistics Health and Demographics

POSSCON - Enterprise Open Source

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: POSSCON - Enterprise Open Source

Enterprise Open SourceJason DewBudget and Control Board

Office of Research and Statistics

Health and Demographics

Page 2: POSSCON - Enterprise Open Source

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

Page 3: POSSCON - Enterprise Open Source

The Solution

Ruby on Rails - web framework

mySQL - database server

Nginx - web server

Thin - application server

Git - source control

Capistrano - automated deployment

Page 4: POSSCON - Enterprise Open Source

Free and Open Sourcealso known as F/OSS

Page 5: POSSCON - Enterprise Open Source

Rails

Page 6: POSSCON - Enterprise Open Source

Rapid prototyping

Page 7: POSSCON - Enterprise Open Source

MVC architecture

Page 8: POSSCON - Enterprise Open Source

Easy code reuse

Page 9: POSSCON - Enterprise Open Source

Contains an ORMActiveRecord

Page 10: POSSCON - Enterprise Open Source

Rapidly evolving through the community

Page 11: POSSCON - Enterprise Open Source

Prominent Rails Deployments

Twitter.com

YellowPages.com

GitHub.com

Shopify.com

many more

Page 12: POSSCON - Enterprise Open Source

Ruby

Page 13: POSSCON - Enterprise Open Source

Ruby is powerful

Page 14: POSSCON - Enterprise Open Source

3.days.ago

account.paid_up?

client.age = 42

Page 15: POSSCON - Enterprise Open Source

Ruby makes nice DSLs(Domain Specific Languages)

Page 16: POSSCON - Enterprise Open Source

class Account

belongs_to :client has_many :purchases

end

Page 17: POSSCON - Enterprise Open Source

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

Page 18: POSSCON - Enterprise Open Source

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

Page 19: POSSCON - Enterprise Open Source

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#

Page 20: POSSCON - Enterprise Open Source

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

Page 21: POSSCON - Enterprise Open Source

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

Page 22: POSSCON - Enterprise Open Source

mySQL

Robust relational database

Supports multiple storage engines

Recently acquired by Sun Microsystems

Page 23: POSSCON - Enterprise Open Source

Nginx

3rd most popular web server†

lighter and faster than Apache

used by Hulu.com, WordPress.com, etc

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

Page 24: POSSCON - Enterprise Open Source

Thin

Very thin proxy for Rails process

Fast for many short requests

Mongrel for loads that contain long-running processes

Page 25: POSSCON - Enterprise Open Source

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

Page 26: POSSCON - Enterprise Open Source

Capistrano

Automated deployment

Interfaces with Git, Subversion, etc

Easily deploy to many servers

Page 27: POSSCON - Enterprise Open Source

Questions?