Tech Coast Angels (TCA) is the largest angel investment organization in the United States. With over 300 members throughout Southern California, Tech Coast Angel’s members have invested over $120 million in over 200 startup companies since their inception in 1997.
Since 2013, Exaltation of Larks has been working with Tech Coast Angels with their online systems, including an extensive Drupal web application that their members use as a deal flow tracker and document management system. Services we’ve provided include support, maintenance, security improvements, performance optimization, and mobile integration.
The website that Tech Coast Angels uses allows its members to view startup companies’ applications for funding, discuss each company’s application and collaborate with one another in researching each company, which then helps them make individual decisions on funding.
IDENTIFYING TECH COAST ANGELS’ NEEDS
Mike Panesis, Chairman of Tech Coast Angels’ Board of Governors, says of the collaboration, “Tech Coast Angels engaged Exaltation of Larks to perform a security audit on our web site. Exaltation of Larks did a comprehensive analysis, compiled a task list with time estimates and risk assessments, and made recommendations for proceeding.”
Exaltation of Larks began this project with a site audit to evaluate the quality and maintainability of the existing Drupal web application and server environment, with a focus on performance optimization and general best practices.
During the site audit, we found Drupal and several contributed modules had been modified from their original versions, which made feature development and regular maintenance such as updates much more complicated. Many of the modules were out of date and required security updates, and several modules were development versions, which made it difficult to determine whether they needed updating, and if so what version to update them to.
With a go-ahead from Tech Coast Angels, we then performed a more in-depth review, which unearthed further security and server memory issues. We documented them and helped Tech Coast Angels prioritize which ones to tackle first.
Tech Coast Angels also enlisted Exaltation of Larks to help them create an iPhone app. This presented an interesting challenge: Tech Coast Angels’ website used Drupal 6, but the Services module, which provides key data in a format that a smartphone app could read, had been discontinued since its authors and maintainers focused their efforts on versions for Drupal 7 and Drupal 8.
First, we brought the modified codebase that had outdated versions — and unversioned development releases — back into mainstream Drupal core and contrib releases.
Next, we worked on the security and server memory issues. There were two types of improvements needed: quick fixes and larger upgrades. Quick fixes included enabling Views caching and turning off unneeded modules on the production server. Among these modules were Locale, Devel, and String Overrides.
Many of the upgrades had to do with memory usage and resource management. We migrated the website to a current LAMP environment, which included upgrading MySQL from 5.1 to 5.5, which has many performance and memory management improvements. We adjusted many MySQL cache parameters to improve performance and reconfigured both MySQL and Apache to dramatically reduce memory usage, including configuring Apache to use 25 modules, rather than the 57 that the legacy server had been using.
All web hosting is provided by Amazon Web Services (AWS), for which Exaltation of Larks is a delivery partner. Even though we stayed with the same size AWS instance, we configured the production server to be more efficient using the same hardware resources, so there was plenty of memory capacity in case of traffic spikes. We rebuilt the new AWS server for optimized IO operations per second, which added moderate extra costs, but substantially reduced overall system latency. These extra costs were easily offset by purchasing a heavy utilization reserved instance.
Further configuration improvements allowed us to reduce the memory usage of the staging server so it could run on a smaller, more lower cost instance. The production site went from allocating almost all its memory on the original instance to performing better than the legacy site on a smaller instance.
Security upgrades included configuring Apache to not have write access to Drupal’s PHP files, an important security improvement; adding SSL and making it mandatory for all connections; implementing a backup strategy that moves backups to Amazon S3; and using MySQL accounts with the least necessary privileges for accessing MySQL databases.
Finally, we decided to backport the Drupal 7 security fixes and new REST server features in the Services module to the Drupal 6 version. Working with Tech Coast Angels’ mobile application developer team, we used this backported version of Services to create an API that exposed the appropriate data to their iPhone app. We plan is to make the Drupal 6 version of Services available to the larger Drupal community.
“We have been very happy with the Larks’ performance,” Panesis says. “They are truly Drupal experts, conduct themselves in a professional manner, and treat our website as if it was their own.”
In the future, Exaltation of Larks and Tech Coast Angels plan to work together on a site redesign and an upgrade to Drupal 7. We continue to work with Tech Coast Angels on ongoing feature development and provide support and maintenance services.