AVC-IT & CIO FY 2011-12 BUDGET PLANNING INTERNAL USE
April 25, 2011 1
Rails Environment Upgrade (VM Migration, Framework Upgrade)
ABBA Category Two: Information Technology
1. Amount of One-Time Funding Request (FY 11-12): $110,000
The primary goal of this project is to migrate most (if not all) existing IST-AS supported Rails. 25k for IS support, 85k developer support
2. Control Unit/Department Funding Contribution:
%25 of Architect for approx 18 months = approx 50k + 18.5k benefits, or $68,500.
3. Department(s) to receive funding:
IST–Application Services
4. Project Manager:
Sponsor: JR Schulden / Bill Allison
Functional Owner: Michael Mundrane
Project Manager: Tom Tsai5. Describe the Activity:
The primary goal of this project is to migrate most (if not all) existing IST-AS supported Ruby on Rails applications currently deployed on the webfarm to the new VM platform. Migrations of these applications to the new VMs are critical steps to ensure software quality of service and long term sustainability of these applications including security, performance, scalability, availability, and reliability. Essentially, the migration effort involves four major parts:
1. Upgrade Ruby on Rails framework, libraries, and retrofit with tests. 2. ColdFusion Rewrite Proof-of-Concept (to Ruby on Rails).
3. Migrate applications to the new VM environment.
4. Begin assessing requirements for next generation Rails hosting via cloud services (with Unix team).
Upgrade Framework, Libraries and Retrofit With Tests
Before we can migrate existing Ruby on Rails applications to the new VM environment, we will need to upgrade the Ruby on Rails framework for each application as well as all of their dependent libraries. Lastly, two of the current applications were developed without comprehensive unit and integration tests. We will retrofit these applications with tests as well as perform some much-needed refactoring to lower ongoing costs, and create a more stable, maintainable and secure code base.
ColdFusion Rewrite Proof-Of-Concept (to Ruby on Rails)
One of the objectives of this project is to design an agile template & process to reliably and rapidly rewrite ColdFusion applications into the current Rails framework. IST-AS currently supports number of applications built on ColdFusion technology that are at the end of their lifecycle. ColdFusion is an older technology no longer fully supported and vendor has no specific plan or roadmap for its future. Applications built on this legacy technology must be either decommissioned or rewritten in a viable technology/platform such as Ruby on Rails.
Migrate Applications to Modern VM Environment
We currently have 5 Rails applications deployed on the Unix webfarm, which is at the end of its lifespan. Unfortunately, the version of ruby that is available on the webfarm (ruby-1.8.5) is extremely outdated. It is so outdated (ruby-1.8.5 is around 5 years old), that a large number of
AVC-IT & CIO FY 2010-11 BUDGET PLANNING INTERNAL USE
ruby libraries--including the Ruby on Rails framework itself--will not work under ruby-1.8.5. This puts us in the awkward position of not being able to update these applications and apply critical security fixes that are being released for the Ruby on Rails framework, as well as several other libraries we are using in our applications. In order to eliminate the risk we are exposing ourselves to, we will migrate these applications off of the webfarm onto new VMs that have been configured according to Application Services standard VM template. These new VMs will be managed by the Unix group and will use Redhat 5 (or Redhat 6), both of which have modern versions of ruby and will allow us to upgrade the Ruby on Rails framework.
List of applications in consideration include: * Security Contact * Offsite Hosting * UCProposals * VSPa * Calmessages * CTC-System-Inventory
Cloud Requirements for Rails Applications
Concurrent with the replatforming work, the team will work in conjunction with Internet2, the Office of the CIO, Infrastructure Services, and the Office of the CPSO to explore possible future paths for cloud hosting (or University cloud-fronting) of Rails applications. We expect to review platform profiles for Google AppEngine, Salesforce.com/Heroku, CloudFoundry, and HP Cloud. This work is initial exploration and research, along with a likely POC deployment of one of our non-sensitive apps without University data to assess performance, bottlenecks, data integration and maintainability issues.
6. Describe the significance of the activity, indicating how the activity is in alignment with Chancellor’s objectives (see
http://newscenter.berkeley.edu/chancellor/access/) :
All three phases of this proposal are designed to position a robust, sustainable and low-cost platform for tactical web applications for the University. In addition, these efforts will all lead to enhanced security and reliability, and will positionally align the Application Services requirements for Rails applications with the strategic direction of the Unix team in Infrastructure Services to use virtualization and ultimately cloud computing.
Besides the technical merits of this proposal, the efforts will lead to enhanced expertise in IST the benefits of which will be passed onto our customers in the form of lower project costs and greater expertise in our technology platforms.
AVC-IT & CIO FY 2011-12 BUDGET PLANNING INTERNAL USE
April 25, 2011 3
7. Work Plan
Provide a work plan for the proposed solution with high-level steps to complete the solution, including timeline. (Try to limit your plan to no more than seven steps.)
Milestone Timeline
1.
Planning & Requirements
Gathering/Analysis 1 – 2 months
2.
Designs and Proof-of-Concept 2 – 4 months
3.
Environment Setups & Configuration (eg. Continuous Integration Automation, DEV/QA/PROD Env Setups, etc)
1-2 months
4.
Upgrades and Refactoring (eg. framework, JRuby, code refactoring, etc)
2-4 months
5.
Migration and QA Testing (eg. migrate to new VMs, regression testing, etc)
2-4 months
6. Develop Automated Test Suites 2-3 months
8. Describe any savings or increase in income that will result from this activity,
and how it will be measured. Distinguish savings in time and/or money, and identify any resulting reduction of staffing levels.
This project would set the standards as well as lay the foundation for deployment of campus Ruby on Rails and Java applications on the new VM environment. It also promotes and leads the webfarm migration & VM hosting initiatives for current and future IT projects.
Upgrades & migration of existing Ruby on Rails applications could help decrease costs of sustaining these systems considerably over time. It also helps mitigates cost of risks related to application security, performance, availability, and reliability.
Knowledge, experience, and lessons learnt from this project would also give us essential information for planning, designing, and estimating similar and related initiatives in the future.
9. Funding: describe the overall funding plan for this activity. Describe any
cost-sharing, matching, or external fund sources that might be used to support the activity.
Funding would be provided to the IST-AS budget as functional owner and based on the attached project budget plan. IST-AS would, in turn, hire staff within IST to complete this project. IST-AS would also contribute approximately .25% of IST-ASAG FTE.
UC Berkeley - FY 2011-12 Campus Budget Process
Section V: Block Grant Funding Model and Budget
ACTUAL PROJECTED
FY 07-08 FY 08-09 FY 09-10 FY 10-11 FY 11-12 FY 12-13 FY 13-14
1 IST (68,500) -68,500
2 IT Loan and payback 0
3 Request for Block Grant (110,000) -110,000
4 Grand Total -178,500 -178,500 ACTUAL PROJECTED FY 07-08 FY 08-09 FY 09-10 FY 10-11 FY 11-12 FY 12-13 FY 13-14 5 Salaries 0 50,000 50,000 6 Benefits 0 18,500 18,500 7 Consultants/Contractors 0 85,000 85,000 8 General S&E 0 9 Hardware Maintenance 0 10
Infrastructure Services - cost of recharge
services 25,000 25,000 11 Inventorial Equipment 0 12 Software Maintenance/Licenses 0 13 Software Purchase 0 14 Travel/Training 0 15 Other Costs 0 0 16 Grand Total 0 178,500 178,500
17 FUNDS LESS EXPENSE $0 $0 $0 $0 $0 $0 $0
18 Carryforward $0 $0 $0 $0 $0 $0
19 Cummulative Total $0 $0 $0 $0 $0 $0 $0
Cummulative Total
Cummulative Total
Block Grant Name: Rails Upgrade Project
Item #
Expense Budget Funding Model Sources
UC Berkeley - FY 11-12 Campus Budget Process
Section V Part II: Line Item Description of Funding Model and Budget
Block Grant: Rails Upgrade Project
Title
Description
1
IST
68,5002
IT Loan and payback
3
Request from the Block Grant
$110,000 -- Rails Upgrade Project to upgrade, refactor, migrate, and develop test suites.4
Total Funding
5
Salaries
$50,000 Approx $50k for .25 Architect support6
Benefits
37% or $18,5007
Consultants/Contractors
85,0008
General S&E
9
Hardware Maintenance
10
Infrastructure services (backup, storage, colocation,
network nodes, desktop support, etc.)
$25,000 IS Services11
Inventorial Equipment
12
Software Maintenance/Licenses
13
Software Purchase
14
Travel/Training
15
Other Costs
16
Total Expenses
17
FUNDS LESS EXPENSES
Funds Less Expenses
18
Carryforward
19
Cummulative Total of Block Grant Request
Item
#
Funding Model Sources
Expense Budget
Budget Area Dept Org Id Budget Category Line of Business Initiative Funded by Expense Category Expense Description FY07 Proj Amt FY 08 Actuals FY 09 Actuals FY10 Proj Amt FY11 Proj Amt FY12 Proj Amt FY13 Proj Amt FY14 Proj Amt Cummulative Base FY09 Amt Base FY10 Amt Base FY11 Amt Base FY12 Amt Base FY13 Amt FY09 Proj Assign
% FY10 Proj Assign
% FY11 Proj Assign
% FY12 Proj Assign
% FY13 Proj Assign
% Funding Type FY09 Base Assign % FY10 Base Assign % FY11 Base Assign % FY12 Base Assign % FY13 Base Assign % Funding Source
Funding
Received Date Account Program Fund Notes Applications Application Services Event IST AS Rails Upgrade
Request for Block
Grant Consultants/Contractors Rails and agile programming experts $ - $ 85,000.00 $ 85,000.00
100% 100% 0% 0% 0% 0% 0% Central
Permanent 72 19900
Consultants/Contractors IST staff time recharge funding $ - $ -
100% 100% 0% 0% 0% 0% 0% Central
Permanent
Consultants/Contractors $ -
General S&E $ -
Hardware Maintenance $ -
Applications Infrastructure Services Event IST-IS Rails Upgrade Request for Block Grant
Infrastructure Services - cost of
recharge services IS Services $ 25,000 $ 25,000.00 100% 72 19900
Inventorial Equipment $ - Other Costs $ - Software Maintenance/Licenses $ - Software Purchase $ - Travel/Training $ - Other Costs $ - $ - Other Costs $ - $ - Salaries $ - $ 50,000.00 $ 50,000.00 100% 100% 0% 0% 0% 0% 0% Central Permanent 72 19900 Benefits $ - $ 18,500.00 $ 18,500.00 100% 100% 0% 0% 0% 0% 0% Central Permanent Salaries $ - $ - 100% 100% 0% 0% 0% 0% 0% Central Permanent Benefits $ - $ - 100% 100% 0% 0% 0% 0% 0% Central Permanent
Budget Area
Dept
Org Id
Budget Category
Applications
Application Services
Event
Applications
Infrastructure Services
Event
Applications
Application Services
Event
Line of Business
Initiative
Expense Category
IST-AS
Rails Upgrade
Consultants/Contractors
IST-IS
Rails Upgrade
Infrastructure Services - cost of recharge services
IST-AS
Rails Upgrade
Salaries
Expense Description
FY 08 Actuals
FY09 Actuals
FY10 Actuals
Implementation
IS Services
FY11 Proj Amt
FY12 Proj Amt
FY13 Proj Amt
FY14 Proj Amt
Cummulative
(85,000)
$
$
(85,000)
(25,000)
$
$
(25,000)
-$
$
-(50,000)
$
$
(50,000)
(18,500)
$
$
(18,500)
-$
-$
-$
-$
-$
-$
Funding Type
Funding Source
Program
Fund
Central Temporary
Request for Block Grant
Central Temporary
Request for Block Grant
IST
IST
IST
IST
Block Grant Carryforward
IT Loan and payback
Request for Block Grant
Request for Block Grant