-
-
Save DanBradbury/6995806 to your computer and use it in GitHub Desktop.
Migrating admin to 1.9.3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Upgrade Strategy | |
---------------- | |
The goal of this is to outline the plan to update admin to Ruby 1.9.3 as | |
seemlessly as possible. The document is broken into phases that need to be | |
taken to fully upgrade the application. | |
### Testing ### | |
We are going to need to be able to stand up an App box to allow for QA to fully | |
run the integration tests they need to verify there are no issues with the | |
upgrade. | |
1. Full testing on CRUD | |
2. Integration testing with RIC/Cooking | |
3. Script Testing (for all scripts on Proc01) | |
4. API testing (using "GREAT GRILL") | |
5. Exterior database connections | |
All we will need to make this happen is to be able to build a box that can | |
mirror production as close as possible. | |
I assume we will run into quite a few issues here but hopefully the test suite | |
has picked up most of the issues. Once we get the box running we can go through | |
the list above to verify all is good. | |
Another possible option would be to upgrade a single app server and fed it | |
traffic for 15 minutes, collecting all the errors returned. And go from there. | |
> @justinforce: If we want to create a "Ghetto" box to fiddle with configs and | |
> anything else that Chef would have to do when we are ready to deploy. Maybe | |
> we try an experimental chef deploy to that single box and just modify that. | |
> Not sure thoughts? | |
>> @ProfArithmetic: The thing to do here is build a staging admin box and then manually fiddle with it. Document your changes, and we'll integrate them into the Chef config. —@justinforce | |
### Productizing the App ### | |
Once we get the ok from QA it will be time to start rolling the upgrade into our app cluster. Not sure about the best approach to do this but I am going to suggest the following: | |
Upgrade 1 box and toss traffic at it and collect/analyze the logs for more issues that may come up. | |
### Transition away from Mongrels ### | |
This is mostly just a side effect of the 1.9 upgrade but nonetheless needs to be | |
done. To accomplish this we will use Thin. | |
We should see huge improvements here because Thin is just better in every way. | |
We need to determine what options we will pass (number of servers, etc) | |
### Other Miscallany ### | |
Read removed plugins? | |
Not sure this is mandatory as NewRelic was only plugin that has been removed to | |
date. If we want to use it again we can just add it as a gem. We don't really | |
need NewRelic to do this for us since we can use some pretty cool tools thanks | |
to 1.9 | |
### Update Resources ### | |
* Zendesk upgrade: http://www.zendesk.com/blog/upgrade-the-road-to-1-9 | |
* Getharvest: http://techtime.getharvest.com/blog/harvest-is-now-on-ruby-1-dot-9-3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment