Sign Up | Login Standout Jobs

Atlantic Dominion Solutions

Blog

  • Most of the time when we hear about Ruby on Rails and its uses, we hear about Rails shops helping entrepreneurs launch new sites quickly. A great many of the sites we hear about - Yellowpages.com, 43things, ODEO - are consumer focused. While consumers are a huge and lucrative market to go after (and some might argue fickle), what about using Rails for business applications? Aside from 37signals’ suite of online applications we don’t hear much about business’ use of Rails. I wonder why that is, as behind the firewall is a great place for Rails to live.

    We’ve done numerous internal applications for clients including Chrysler, Camber Corporation, and Hilb Rogal and Hobbs, and more. We’ve had great success working with these companies, streamlining internal process, moving them from paper to digital, and developing software that allows them to focus on what they do not how they do it. My philosophy is that software should help you perform your job better, not get in the way by bogging you down by its use.

    Benefits of working on internal apps

    Scrum
    A majority of the time we work with IT or a product owner that understands their problem domain to a great degree. If we can work with both all the better. We’ve found that using agile and Scrum with these folks works well as they “get it” very quickly.

    Infrastructure
    With two-week development cycles producing potentially shippable product, ensuring that code we produce integrates with existing code is a must. This requires version control and automated testing. Many of our clients IT departments are set up with subversion, a ticketing system that integrates with subversion, continuous integration servers, and test servers. Not having to maintain that infrastructure ourselves allows us to focus on producing business value.

    Scalability
    Scalability is important for any application, whether used by consumers or business. Clients want to know that a site won’t crumble under a load. However, a majority of our clients are not worried about their site handling hundreds of thousands or millions of simultaneous requests. Scaling an application is always a requirement, but less of an issue with internal applications.

    Business Value
    This is a big one for me. The entire reason a company develops an internal application is to provide business value. The more we add to the application the more value is achieved. Using Scrum and a two-week development cycle, a company sees business value sooner.

    Conclusions

    I’d like to hear more about people’s experiences working on internal applications for clients or for their company. How was your experience? What roadblocks, if any, did you run into? What were your challenges?

    Stay up to date with ADS
    Subscribe to our monthly newsletter and find out what we’re up to.

    Other posts you may enjoy

    Share this post
    August 20th, 2008 · No comments No comments
  • Here are the slides from my Ruby Hoedown 2008 presentation on Ruby and cloud computing. Enjoy!

    August 8th, 2008 · No comments No comments
  • Ruby Hoedown Speaker

    The Ruby Hoedown is a short few days away. My talk - The Future is Now: Leveraging the Cloud with Ruby - is Friday morning at 10:30 AM. Here’s the details:

    “Cloud computing is enabling applications to scale like never before, and fundamentally changing the way developers architect their apps. Learn what the cloud makes available to Ruby developers, and how you can utilize these services using Ruby. Many specific and thorough code examples will be shown and provided.”

    Let me know what you’d like to learn from the talk and I will be sure to put it in. If you want to hook up before or during the conference drop me a line as well.

    See you all in a few days!

    Random Posts

    Share this post
    August 4th, 2008 · No comments No comments
  • Measuring Return on Investment (ROI) is interesting as there are a few approaches, many of which are determined by how a company defines and determines returns and costs. Investopedia defines ROI as, “A performance measure used to evaluate the efficiency of an investment or to compare the efficiency of a number of different investments,” and uses the following equation to measure it:

    ROI = (Gain from Investment - Cost of Investment) / Cost of Investment
    

    Last weekend’s Managerial Accounting class provided these additional equations:

    ROI = Operating Income / Total Assets
    

    or

    ROI = (Operating Income / Sales) - (Sales / Total Assets)
    

    where

    Sales Margin = Operating Income / Sales
    Capital Turnover = Sales / Total Assets
    

    Sales margin focuses on profitability - how much operating income division earns on every $1 of sales – whereas capital turnover focuses on efficiency - how efficiently a division uses its assets to generate sales.

    Can we measure the ROI of any software development project in a seemingly simple equation? Hard benefits that result in a measurable cash benefit easily fit. Examples of hard benefits include increased sales, a measurable increase in employee productivity, and lower overall software maintenance and license costs. The numerous “soft benefits” aren’t so easy. In the article “Use ROI analysis for business software investments,”Microsoft lists soft benefits as:

    • Productivity savings
    • Improved quality
    • Improved customer, employee, or partner satisfaction
    • Improved information
    • Reduced risk

    How do you measure the ROI of Ruby on Rails?

    You measure the ROI of Ruby on Rails the same way you measure the ROI of any software development project. Continuing with the Microsoft article, there are other costs involved above the actual development work. The biggest one mentioned is enterprise software deployment, which includes:

    • Vendor license or development costs
    • Vendor maintenance
    • Implementation services
    • Future-year services
    • Hardware
    • Systems management
    • Training

    Let’s address these point-by-point.

    Measurements of Cost

    Vendor license or development costs

    Ruby on Rails is open source and free. The Rails application servers - Mongrel, Thin, Passenger - are open source and free. Apache, Nginx, and Lighttpd are open source and free. MySQL and PostgreSQL are open source and free. NetBeans is free. Linux is open source and free. All of the paid tools that might be used, including VMWare Fusion (my favorite), Parallels Desktop, TextMate, and Aptana Studio can each be purchased for less than $100 each. The highest part of the development cost is the development team, without which you have nothing.

    Bottom line: license costs are non-existent, and with the development team, you get what you pay for - don’t go cheap.

    Vendor maintenance

    Ruby on Rails stresses convention over configuration. This means that an application development by one team will structurally look the same as an application development by another team. With the additional use of the model-view-controller (MVC) approach in Rails, and testing baked right in, maintenance costs (bug fixes and upgrades) are greatly reduced. Furthermore, using development methods such as agile development with Scrum can catch bugs sooner and ensure you get the features you want. Unlike licensed software where “maintenance costs are usually calculated as a percentage of the initial license cost,” this is not the case with Rails applications.

    Bottom line: maintenance costs are low and a function of how much you want to add to the application functionality wise rather than a percentage of license costs.

    Implementation services

    Implementation services include the deployment of software into an enterprise. Ruby on Rails is used for web applications, so deployment time is greatly reduced. As everyone has a browser on their computer, whether they are using a Mac, a PC, or a Linux box, they are ready to go once the application is on a server and made available. Deployment options for Rails are numerous. Our enterprise clients have internal servers (development/testing and production) that their IT departments maintain, and our non-enterprise customers use hosting solutions including Morph, Amazon EC2 (using RightScale) Rails Machine, Engine Yard, and Slicehost. We can get an application deployed to Morph in 10 minutes or less, and 30 minutes or less on Rails Machine.

    Bottom line: implementation (deployment) of a web-based Ruby on Rails application is next to nothing.

    Future-year services

    Future-year services include adding features to an existing application. As mentioned above under vendor maintenance, the use of convention over configuration, baked-in testing, and MVC make adding additional functionality simpler. What this really comes down to is the complexity of the new feature rather than the complexity of hacking, extending, or attempting to integrate with a packaged application.

    Bottom line: it is generally easier to add functionality to a Ruby on Rails application.

    Hardware

    On the client side of this equation, there is no additional hardware required to run a Ruby on Rails application. If you have a web browser on your computer, which everyone does, you can use a Rails app. On the server side, hardware requirements depend mainly on two factors:

    • What the application is doing - is it a CRUD application, are you transcoding audio and/or video, or are you front-ending a data warehouse?
    • The amount of traffic you need to support - do you have 10 internal users or a million external users?

    Bottom line: the amount of hardware required to run a Rails application depends on what the application is doing and the number of users you need to support.

    Systems management

    Web applications can run from a simple administrative interface for a database to a large-scale, multi-user system that does all sorts of great things. The more the application does and the more users it needs to support, the larger the potential management costs. I say potential because I have heard of small teams supporting huge applications. For instance, Wikipedia has 2 systems administrators, and YouTube has a team of 2 sysadmins, 2 scalability software architects, 2 network engineers and 1 DBA (database administrator) to support the serving of 100M videos per day. Rails applications are no different. One of our clients, Pediment Publishing, has a team of two (soon to be three) that supports a Rails application that sees 200K+ hits per day plus 2K+ daily photo uploads. All of their servers - load balancers, app, database, upload, and worker servers - run on Amazon EC2. If you choose the hosting route your support costs can be close to zero as that is in the hands of your provider. Ultimately, as with hardware, the amount of systems management required depends on the requirements of the application.

    Bottom line: many companies have IT departments adept at managing server-side applications and infrastructure (servers, databases, network equipment, etc.) so the addition of Rails to the stack has minimal impact. Outside of that, it depends on the requirements of the application, however a minimal team can support a large application.

    Training

    The best designed software is highly intuitive, requires no manual, and requires no training of end-users. Many applications do not fall into this category, and on the people side, many people don’t care to learn everything an application does, they just want to know what they need to know to get their job done.

    For us, our clients come to us because they have an idea or a problem, and they need a solution. They know how they want it to work from the user standpoint. We make it work from the code standpoint. By using agile development with Scrum, we bring our clients, and many time the end-users, into the process. As we add features they learn how to use them, and many times dictate how the features will work (again from the user standpoint). At the end, if training is required, it is very minimal.

    Bottom line: using an inclusive development process can bring training costs to near zero.

    Rail’s Affect on the Bottom Line

    Rails has a hugely positive impact on the bottom line of a business. Open source and freely available software, low to near-zero maintenance, implementation, systems maintenance, and training costs keep total costs down and ROI well into the black. The main investment goes into the development of the product itself. Invest in quality and the return will be great.

    Other posts you may enjoy

    Share this post
    July 30th, 2008 · No comments No comments
  • I’ve updated my “Introduction to AWS for Ruby Developers” article on the Amazon Web Service Developer Connection site. The updated code uses Rails 2.1, the RightScale AWS Ruby gem and the Paperclip plugin for uploads to Amazon S3.

    Other posts you may enjoy

    Share this post
    July 24th, 2008 · No comments No comments
  • Ruby on Rails Specialist Initiates Fast, Hassle-Free EC2 Deployments by Partnering With Morph Labs

    WINTER PARK, FL (July 22, 2008) — Leading web development firm and Ruby on Rails specialist Atlantic Dominion Solutions (ADS) today announced it has become a development partner to Morph Labs, maker of an elastic deployment and management platform for Ruby on Rails applications deployed onto the Amazon Web Services EC2 infrastructure. The addition of the Morph Application Platform enables ADS to offer clients a faster, easier, and less expensive way to deploy their Rails apps onto EC2 without any management overhead.

    For organizations that need to launch a flexible, scalable app quickly but don’t have the technology resources required to configure or manage an EC2 deployment, the Morph Application Platform is an ideal solution. By eliminating the need for custom configuration, the platform allows users to deploy a Rails app in less than 10 minutes. Once the app is up and running on EC2, the Morph platform allows it to be scaled up or down with a single click, and it also performs automatic backups to eliminate the possibility of data loss in the rare case of an infrastructure failure.

    As a specialist in agile web development and Ruby on Rails applications, ADS regularly leverages the EC2 infrastructure to give clients the ability to scale their Rails apps on demand. By becoming a development partner to Morph Labs, ADS enhances their offering with a fast, hassle-free way to take advantage of EC2’s benefits right away.

    “We are extremely excited about partnering with Morph Labs,” said Atlantic Dominion Solutions CEO Robert Dempsey. “As soon as we saw what their platform could do, we knew it was imperative to make it available to our clients.”

    “The scalability of EC2 is fantastic,” Dempsey continued, “but configuring and managing the deployment can require time and resources that not every organization has. With the Morph platform our Rails customers can get their apps up on EC2 in minutes and start enjoying its flexibility without any management overhead or technical resources.”

    ADS builds scalable, database-backed Rails applications for organizations of all sizes and provides several management services for deployments on Amazon Web Services. Now adding an efficient solution for the organizations that don’t want to manage the deployment at all, Dempsey says the company expects its new partnership to create a powerful new channel for increasing its customer base for application development.

    “For clients that have a time-sensitive app to launch and don’t need a lot of options to configure, it’s really the perfect answer.”

    About Atlantic Dominion Solutions

    ADS is a leading-edge web development firm that specializes in using Ruby on Rails to build advanced, scalable, database-backed applications for organizations of all sizes. Based on custom requirements, ADS creates forward-thinking and user-focused applications that can be deployed quickly, scaled easily, and maintained with minimal time or effort. ADS is a vanguard in enhancing Rails platforms with Amazon Web Services and, along with visionary web applications, ADS also provides data warehousing and data mining, graphic and interactive design, and business and technical consulting.

    ADS is perpetually active in the web development community and the company’s founder and CEO Robert Dempsey is a frequent speaker at Ruby on Rails conferences nationwide. He is currently scheduled to be a featured speaker at this summer’s Ruby Hoedown (August 8-9 in Huntsville, AL). Learn more about the Ruby Hoedown. For more information about ADS, visit the main Atlantic Dominion Solutions site.

    About Morph Labs

    Morph Labs is the leading provider of Platform as a Service (PaaS) that virtualizes the application environment through the use of open source technologies to simplify the deployment, delivery, and management of web based applications. Morph Labs uses virtual infrastructures including Amazon Web Services to provide a truly elastic environment for web applications that can be instantly provisioned and seamlessly scaled.

    Morph Labs is a global company with headquarters in Cebu City, Philippines with additional in-country operations in Manila along with Los Angeles, California and Austin, Texas in the U.S.A. For more information, visit Morph Labs.

    Other posts you may enjoy

    Share this post
    July 22nd, 2008 · No comments No comments
  • JRuby 1.1.3 was released today. This release includes “primarily obvious compatibility problems and performance enhancements.” The highlights of this release, per the official post by Thomas Enebo, are:

    • RubyGems 1.2
    • Greatly improved interpreter performance
    • jrubyc compiler usability improvements and bug fixes
    • Reduced memory usage and object churn
    • Dozens of IO-related and core class RubySpec fixes + reduced memory for IO
    • ThreadGroup fixes to resolve Mongrel “dead thread” issues
    • New options/properties for tweaking JIT, thread pooling, and more
    • Block invocation performance improvements
    • Much faster Time performance
    • Much better support for –debug
    • Mentioning that context classloader fix would be nice (since it quite user visible, and many users seen/asked for it). JRUBY-2495
    • 82 issues resolved since JRuby 1.1.2

    Download the 1.1.3 release.

    Other posts you may enjoy

    Share this post
    July 19th, 2008 · No comments No comments
  • Personally, I think not, however let’s take a look at the subject.

    Who are the people in an organization that decide which programming languages and frameworks to use? Is this a new company? Do they have infrastructure and custom applications in production? What magazines, blogs, and reports do they read? Who do they talk to? How much do any of these people know about tech, or more specifically, programming? What experiences have they had in the past? Let’s dig a bit deeper.

    Purely Business

    A CEO or other non-IT executive in a company probably doesn’t care, or know, what programming language or web framework was used to develop the applications they use. A quick search of the Harvard Business Review came up with zero results for “ruby on rails,” and the Wall Street Journal says that Rails is used by “boutique outfits.” While the WSJ isn’t correct (we have many enterprise-level clients using Rails), a CEO might pay attention, giving it a second thought only when their CIO says, “and we’re going to build it in Rails.” While the CFO and COO probably don’t use Twitter, the VP of Marketing might, however I doubt that they know that Twitter uses Rails, or that much of Twitter doesn’t use Rails at all. Conclusion: most non-IT C-level executives likely don’t use Twitter, and don’t know about Rails.

    IT Executives

    The main industry rags and sites for IT executives include ZDNet, eWeek, and InformationWeek. ZDNet had a great article on LinkedIn using Rails for a Facebook app that serves 1B pageviews/month, which is on the first page of “ruby on rails” search results, along with a number of articles saying that Rails can scale and to not use Twitter as the benchmark. eWeek’s results discuss startups working to improve the scalability of large Rails applications and how companies scale internally. The first page of Information Week search results don’t mention Twitter at all. TwitDir tells me that there are 1610 Twitter users (of the 2,136,236 that it knows about) that have “CIO” in their description, 734 with “CEO,” and 6223 with “COO.” Compare that to the 59,764 with “IT.” A quick check of Google for “rails scaling” returns 6,960,900 results, the first page of which mentions Twitter two times, both of which are positive. A search for “ruby scaling twitter” returns a mere 429,000, two of which are from TechCrunch. Conclusion: few IT Executives are using Twitter, or attribute it’s scaling issues to Rails.

    Developers and other IT Folk

    I’ll come out and say it plainly - in the development world, the debate of what text editor you chose, the programming language to use, and the web framework you want, can all turn into religious wars. Those who are not fans of Rails have claimed that Rails can’t scale and Twitter is proof. Those who are Rails fans say that Rails can scale, and that Twitter is an example, among many. I’m not here to flame anyone, so I’ll blow out that match.

    Conclusion

    To reiterate my opinion on the subject, Rails can definitely scale if you know what you are doing. And Twitter and its downtime? Twitter is not the benchmark.

    What do you think? Does Rails have a negative image due to Twitter’s issues? Or, is all it just meaningless noise?

    Other posts you may enjoy

    Share this post
    July 18th, 2008 · No comments No comments
  • Thanks to everyone who came to today’s Scrum Lunch and Learn. I feel that we have a solid base of knowledge to work from. For next month’s meeting (held one week later as I have ScrumMaster training the usual week) we will do a Scrum simulation. A simulation is a great way to get your feet wet with Scrum and learn about it in a very hands-on way. We’ll see you on August 20th for that.

    I have posted my presentation slides on slideshare. Scrum works for software development, product development, and business processes, so feel free to show them to everyone you know.

    Also, I’ll be talking on agile estimating at the August meeting of Orlando’s Scrum User Group. I look forward to seeing you all then.

    Other posts you may enjoy

    Share this post
    July 16th, 2008 · No comments No comments
  • New rapid prototyping service ignites opportunity for web entrepreneurs and product developers.

    Winter Park, FL (July 15, 2008) — Web development specialist Atlantic Dominion Solutions (ADS) today announced the official launch of its new rapid prototyping service, ADS Catalyst. Designed to help web entrepreneurs and internal product developers move their ideas from vision to reality quickly, successfully and on a limited budget, ADS Catalyst builds functional prototypes to demonstrate proof-of-concept to investors, stakeholders, and potential customers.

    Read the full ADS Catalyst press release.

    Other posts you may enjoy

    Share this post
    July 15th, 2008 · No comments No comments