1 / 31

Rails in the Enterprise – Secrets of Success

Rails in the Enterprise – Secrets of Success. Leon Katsnelson IBM Data Servers leon@ca.ibm.com Blaine Dolph IBM Global Business Services bhdolph@us.ibm.com. Let us introduce ourselves …. IBM Pre-tax Income Mix (2006). Hardware & Financing 23%. Services 37%. Software 40%.

emilycooper
Download Presentation

Rails in the Enterprise – Secrets of Success

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rails in the Enterprise – Secrets of Success Leon Katsnelson IBM Data Servers leon@ca.ibm.com Blaine Dolph IBM Global Business Services bhdolph@us.ibm.com

  2. Let us introduce ourselves … IBM Pre-tax Income Mix (2006) Hardware & Financing 23% Services 37% Software 40%

  3. You love Rails and you want to … • introduce RoR to your company • want to get a consulting engagement to build a new application for an enterprise customer • sell a product you build using Rails to enterprise customers

  4. The organizational factor Architecture Board Focus: Architectural integrity, technology direction, vendor selection Objective: Time to Value IT Operations Focus: scalability, performance,security, cost of operation Objective: Service level Application Developers Focus: Functional Requirements Objective: Fast delivery to operations

  5. Object Oriented Open Source Metaprograming Convention over configuration Full stack Don’t Repeat Yourself Agile Development Object-Relational mapping Test-driven development Approved financially stable vendor 24*7 support Proven performance Verifiable scalability Guaranteed availability Fit in to existing infrastructure Integration in to bussines and IT processes Different strokes for different folks

  6. Nobody has ever been fired for buying IBM • Consulting and implementation services for Rails • Chicago Innovation Center has done over 20 Rails projects • The only database vendor to build and fully support Rails enablement: • IBM-developed Ruby driver and Rails adapter with full exploitation of the latest features (e.g. pureXML) • Support for entire DB2 family of servers and Informix Dynamic Server (IDS)

  7. DB2 Express–CEasy to get started • Free to build: • Starter Toolkit for DB2 on Rails • Everything you need for your Ruby on Rails project • and advanced functions like pureXML • Free to deploy in production: • … really, it is free • Free to redistribute as part of a commercial application: • Just need to register • … but it is free i.e. no royalties

  8. DB2 Express–CReal DB2 • The same DB2 you get in other editions … this is not fancy marketing … it is the same code • The same DB2 that has been posting top benchmark scores more than any other data server at any price. • The same autonomic capability: STMM, Automatic Storage Management, Configuration Advisor, Design Advisor etc. • 100% guarantee! Any application built with DB2 Express–C will work with other DB2 editions: • No code changes • No driver swapping • No changes … period! • Includes pureXML at no charge

  9. DB2 Express – CWhat it is not … • Not open source: no viral licenses and no legal issues, no corporate procurement headaches • Not cripple-ware • no limitations on function (e.g. includes pureXML) • no limitations on size of database • no time bombs or other time limits • no limits on the number of users • no limit on the number of instances • no limitations on extensibility • not limited to 32-bit • not limited to local connections

  10. DB2 Express–CWhat kind of servers • Available for: • Linux for Intel and AMD processors • Linux on POWER: • System i Linux partitions, • System p • Windows: Windows 2003, Windows Longhorn (when available), Windows XP (Home Edition and Professional), Windows Vista. • Servers can be 32 or 64-bit and can run 32 and 64-bit operating systems • Optimized for 2-CPU (multi-cores OK), 4GB servers. • Server is a physical server or a virtual server/partition that satisfies “no more then 2-CPU, 4GB memory” requirement.

  11. IBM-Provided Optional Support and Extras • Low-cost, yearly subscription ($2995 per Server). Can pre-purchase multiple years. • Delivered by IBM: 24x7 support, regular FixPacks, upgrade protection • Includes extra functions: • Data Replication (including different DB2 servers e.g. DB2 for i5/OS and DB2 for z/OS) • High Availability and Disaster Recovery (HADR)  Nothing like this for less then $40K per CPU

  12. DB2 Express-C for Mac OS X beta

  13. IBM System z Mainframe UNIX servers • IBM System p • Sun • HP IBM System i, AS/400, iSeries Intel/AMD servers • Linux • Windows • Solaris x86

  14. Data is part of an application and a single application owns all its data. Database is a persistence layer for the data I collect in my application i.e. all data is collected and displayed on my application’s forms.

  15. No system is an island • Isolation is NOT an option • Point application buys are now rare • IT will want to know how your application will fit in to what they already have • CIOs and IT Architects are looking to SOA and XML as key integration technologies

  16. The XML problem … • XML used extensively as interchange format but not as storage format • XML-Relational mapping is required to transform from XML to Active Record • XML-Relational mapping is difficult to achieve in all but the simplest of cases. Single XML document typically has to be mapped to many tables with complex joins. • Sometimes, XML-Relational mapping is not even an option. For example, compliance government and industry regulations requires that business documents be stored with full fidelity including digital signatures etc.

  17. Our problem … Retrieve a list of orders/transactions containing at least one luxury item priced above a given amount. Each order is stored as an XML document within a table’s text field.

  18. VARCHAR

  19. The price is stored inside the XML document, not within a relational field. With a traditional RDBMS we have to retrieve all the records, create a REXML document for each of them and parse them one by one to identify records that meet our criteria.

  20. And that’s fine… if you have 20 records. What if there are 10K/100K/1M orders in your database? Even adopting clever heuristics and advanced full-text search capabilities, provided by some data severs, for large datasets the computation will still take an unrealistically long time.

  21. … using DB2 pureXML DB2 pureXML indexing means this will complete in milliseconds even on huge datasets

  22. Having the possibility of querying the database through XPath / XQuery, enables us to retrieve information from both relational and XML fields. This opens up a world of possibilities. It’s less error prone and extremely efficient, allowing the dataserver to do the heavy lifting for us. A 100 million records? No problem.

  23. … there is a lot more to DB2 pureXML • Relational and multiple XML columns in the same table • Schema validation: • Different schemas in the same XML column • Omit validation on some documents, validate others • Declarative or programmatic (trigger) validation • Schema evolution • Not just fast query – fast updates • Supper easy XML publishing from both relational and XML • XSLT applied for you by the database • … and lots more cool XML features

  24. DB2 – Only RDBMS to Win Performance Triple Crown • #1 in TPC-C Performance • Leading industry standard OLTP benchmark by 2.5x over Oracle • #1 in SAP SD 3-tier Standard Application Performance • Leading SAP SD R/3 performance benchmark by 68% over Oracle • #1 in 10TB TPC-H Performance • Largest data warehousing benchmark with 60% higher performance than Oracle using 12% fewer processor cores One database covering a wide breadth of applications with deep technical exploitation

  25. Longevity in Transaction Processing Performance Results as of Sept 14, 2007

  26. DB2 Ruby on Rails Performance: DB2 server scalability • 4 app servers, 120 concurrent users • Throughput scales linearly as the CPU resources are added to the DB2 server • Response time decreases linearly as CPU resources are added to DB2

  27. DB2 Ruby on Rails Performance • Vary number of app servers from 1-4. DB2 is the same. • Linear throughput • Observations: • 2000 concurrent db connections • 10000 trans/min. Each transaction includes, login, browse, purchase

  28. Continuous operation for Rails applications • Eliminate database as the single point of failure • Use for both planned and unplanned outages • Rerouting is automatic - no change to the Rails code. • Failover in a few seconds • Backup database server can be located on the same machine, a different server in the same data center or on a different continent • No material impact on performance DB2 DB2 mongrel mongrel mongrel mongrel mongrel

  29. Use IBM to help you get your next Rails project accepted • Approved financially stable vendor • 24*7 support • Proven performance • Verifiable scalability • Guaranteed availability • Fit in to existing infrastructure • Integration in to business and IT processes

  30. Rails applications built or being built by IBM

More Related