Ë
Case Studies
Ruby on Rails: Highly scalable Ecommerce application

A leading United Kingdom based Media corporation which operates several hundred-high traffic websites related to classifieds, contests etc wanted to accelerate the rate of development and increase the organic discovery of its content.

RoR_Media_Ecommerce
About The Client 

Navtech’s client is the leading United Kingdom based Media corporation which operates several hundred-high traffic websites.

Business Objective
Navtech’s client solution was originally developed using .NET. As the client looked for more agility, Navtech transitioned the platform to Ruby On Rails and deployed it on a Platform As A Service (PaaS), AWS. The existing websites of Navtech’s clients were not responsive, content updating was difficult and discovery a challenge. Because of these reasons, the search ranking for certain keywords was also low.

Why The AWS With Ruby Platform?
The approach that Navtech took was driven through prototype driven development where a proof of concept was done to explore various technologies. To migrate their existing front-end applications to AWS, the Navtech team took advantage of AWS extensibility. By doing this Navtech was able to migrate and reuse pre-existing business processes and automation frameworks.

Ruby On Rails is a much faster development language compared to other frameworks as it allows programmers to switch between multiple modules with ease. The advantages of being a popular open source language are also inherent within it one notable being it having robust testing frameworks allowing for developing and deploying robust solutions.

E-commerce Development on Ruby On Rails
Ruby on Rails eCommerce platform enables both emerging as well as large enterprises to transform their business by building scalable online platforms. With built in modules for Purchase Orders, Product creation, Shipments, Fulfilment and creating Orders the RoR eCommerce platform allows developers to create an eCommerce solution easily. There is a shopping cart functionality built into the platform that can be easily customised. With features like tracking a user purchase history, it also provides the necessary analytics required to successfully operate a successful eCommerce platform.

The Ruby on Rails architecture is stable, cost effective, and quicker to implement. For the backend, Navtech replaced the costly legacy managed database. For this, Navtech leveraged AWS integration with Postgres.

AWS has a great balance between automation and flexibility. AWS automates master/slave arrangements and failovers for him, while he remains in control of fine tuning the database. The migration from Heroku Postgres to Scalr-managed instances only took a few hours.

Developer Agility
Navtech is taking advantage of AWS auto-scaling to scale the infrastructure seamlessly through peaks and troughs and save on cloud expenditure. This process is implemented by AWS management of their load balancing tier through Elastic Load Balancing (ELB) where it automatically registers and deregisters instances as it launches or terminates them.

In order to make auto-scaling relevant, servers must be automatically configured. To ensure that Navtech uses Amazon Simple Workflow Service for server configuration and application deployment. Navtech also used Amazon Simple Workflow Service as a configuration management tool. Agile infrastructure isn’t relevant without agile development practices. To facilitate continuous integration, the Navtech engineering team built upon the AWS Lamda API and extended its capabilities.

Scaling teams and code
As well as making UI developers happy, RoR provided extended benefits for back-end developers, including:

  • Order Management: Ruby on Rails eCommerce platform ensures that shopping cart analytics and customers and payments management is easily done. The dashboard is easy to configure and use simplicity with extensive functionality.
    The payment method can be easily integrated with multiple providers like Stripe, payoneer, and Square. Aspects of product sorting and currency can be configured in just a few clicks.
  • Advanced Tools, Features, and Integration: Ruby on Rails offers an ever increasing features set that optimise the performance of an eCommerce platform. There are multiple options for SEO, such as keyword targeting, permalinks, meta-descriptions of products and much more.
  • Community: One of the most important factors in any Open source platforms is community with Ruby On Rails there is a huge community behind it. The contributors actively develop new modules and extensions to the platform that adds new functionality. During implementation or while the site is live If any issue arises, developers will easily find a solution.
Testing
Navtech default development philosophy is driven by DevOps, we leveraged the below tool stack to achieve this-

  • Codeship for Continuous Integration
  • New Relic for performance and server monitoring
  • Selenium with Karma (for end-user testing), RunScope, Load Impact for API testing

Documentation 
The team found the online documentation, with extensive examples, really helped to jump start development.

Project Scope
The project had a broad scope and included:

  • Analysis of the key components of the existing solution stack and developing a migration plan
  • Development of a Responsive and intuitive eCommerce portal that engages users and easily discoverable on search engines

Development Methodology 
Navtech leveraged DevOps driven development for this project. To start with our developers leveraged Bamboo for Windows or Mac to write and run code locally in containers. They used a file to create the functioning of the code which dictates the basic operating system as well as the steps for building their code into an image. Once the designs are completed locally, they are pushed which includes the Bambooo configuration to Github.

The Solution 
Navtech developed a brand-new application with a refreshed UI which loads the pages in a near split second. All the pages heavily search engine optimised with world-class HTML semantics and CSS. The application used advanced caching techniques which auto updates with latest changes intelligently.