Case Study: Web Development Platform
Ibex Hosting and Ibex Data Services combined to create a reliable Web Development Platform
Client: Ibex Data Services
Project: Custom Web Development Platform
Background: Ibex Data Services is an private development firm specializing in complex, data driven web-based applications that streamline businesses into improved profitability. Ibex Data Services employs contract programmers throughout the continental U.S. who utilize a powerful task-management, time tracking and application deployment system.
The Issues: Ibex Data Services identified the following key issues in their prior hosting platform:
- Multiple programmers access files on a production site led, on occassion, to incorrect over-writes of programmers' work.
- Untested changes applied to a production website could lead to unpredictable and potentially disastrous results.
- Incorporating new programmers into an existing project was a time consuming process that lead to the potential of the new programmer harming the existing code base.
- De-centralized locations of backups lead to confusion when restoration was required.
- Desired to integrate file deployment into current task tracking system.
- Desired to test changes before they were deployed to a production website.
The Solution: Ibex Hosting created a custom hosting solution that could be rapidly deployed for a new project that isolates the project into 4 key zones, each with their own copies of the application databases:
- Development Environment - Where all development is completed
- Staging Environment - Testing zone
- Production Site - Secured from file access to any untested programming
- Backup Management - Scheduled, automated, distributed.
Working closely with Ibex Data Service's programming team, the partnership was able to incorporate the new hosting solution into the workflow of their development process to improve stability and reliability of their development cycle. It also improved the quality of rapid development by ensuring that only tested code was ever sent to the production site.This lead to an immediate improvement in satisfaction for Ibex Data's customers.
In the development environment, programers develop against copies of the site, then test their completed changes on the development server. Automated versioning software manages this phase to ensure that programmers don't over-write or lose each others' work.
Once a change request has been committed, it is sent to a project manager or quality control agent to verify. Upon approval, the change is automatically committed to the staging server for more testing.
The development database is a functional copy of the production system, minues a few details, but enough to ensure that the changes in progress should work at the next level of testing on the Staging Environment.
From the development environment, only automated updates are committed to the staging environment by way of "release builds", making specific changes to specific files with exact performance and predictability. Ibex Data Services created special algorithms just to accomplish this task with surgical precision. Ibex Data Solutions specializes in task automation, so this was a natural fit for their team and business model.
After being reviewed and tested by a project manager, the build is then approved for the production server.
The staging database is a secured exect copy of the production database so the project manager knows exactly how the production site will perform when the build is pushed.
The production-ready build is then pushed as a one-off change or scheduled for a site-wide release along with other approved builds, depending on the needs of their customer.
The production application or site is sacred territory in that - as with the staging environment - programmers DO NOT have direct access to its files. This ensures that any change has gone through at least two levels of review before reaching the production site. With this in place, Ibex Data Services's valued customers can rest assured that changes to their site or applicatioin transpire exactly as expected.
Database changes, which are replicated down to staging and development servers, are only made here by qualified database administrators in a closely-guarded system of backups and testing. Clients are provided access to production level data only through administrative tools designed specifically to prevent unintentional or unpredictable changes.
Site files and the database(s) are backed up on a nightly, weekly and monthly basis and are stored in at least two different physical locations to ensure rapid availability in the event of interruption.
Some Ibex Data Services customers elect to maintain an additional operating version of their production site running on an Ibex Hosting managed cloud instance for extra protection. This is available in real-time and through DNS hosting, can be repointed at a moments notice to ensure real-time availability.
When assembled, the Web Development Platform achieves the benefits of predictability, reliability and increased security for the sites and applications it hosts.
Ultimately, the custom web development platform created in partnership between Ibex Hosting and Ibex Data Services has proven itself over time to be stable, predictable and easily adopted by their valued customers. Those customers immediately gain the benefit of additional only request management, review of proposed changes, transparent accounting of billable time and many other unique and valuable services. The Web Development platform ensures that Ibex Data Services also remains a valuable asset to their customers.
For more information about Ibex Data Services, you can reach them at their website at http://IbexData.com