Development Setup
24 Jun 2008I have been thinking a lot about a good and scalable development setup for small teams.That means, as team size grows, things don't have to be changed.
Server machine(s):-
- Subversion Server
- Apache HTTPD
- Trac
- Mail Server
- MySql Server
- ActiveDirectory/LDAP
I am planning to have all of these one server machine (IBM) in virtualized environment. Subversion and Trac can go in one VM, perhaps under Apache. Second VM can have Apache for web-apps, third VM can have mysql, fourth VM can have MailServer and ActiveDirectory/LDAP?
Do you think above makes sense?
Developer/Designer workstations:-
- Aptana as development-ide (with Subclipse + Flex/AIR tools)
- Ubuntu (GNU/Linux) as developer's box
- MS Windows/Mac OSX as designer's box
- Apache Server
- MySql
Though there should not be any restrictions on using a development IDE of choice, but I have realized if entire team uses same IDE things get far easier. The development workflow is easy, knowledge sharing and management is easy. Eclipse, which Aptana is based on, can be used for variety of projects.
Ubuntu is good operating system, I have been using for over one year, not regularly but quite often. There might be Windows/OSX boxes for designers.
Why do we need Apache and MySQL on each workstation?
I think, developers are more effective if they have their own sandbox. They can play with code freely, take certain risks and innovate. There is no harm done. We do face issues, when it comes to sync mysql data into local mysql instances, I think it can be done via some scripts.
Virtualization can be done on client and I am thinking to do it, specially for folks who are not comfortable with Linux, so they can be on Windows while they also have access to Linux VM, they are encouraged to use Linux VM. They can use Windows box (Host), if something is messed up in Linux VM and there is strict timeline that doesn't allow to fix VM.
Over the period, these developers would be comfortable with Linux and that is the time they can start using real Linux box :-)
These are some thoughts, I might be missing something here. I hope, I would write more in another post.
As you know, I have been on break and been thinking on all these things. BTW! I don't work with Yahoo! anymore, once I am done with break I have to figure out what to do. Perhaps, time to be in my own city and do something my own (consultancy, startup or something like that). Heh, that's news, if you have read so far :-)
Technorati tags: development, setup, subversion, apache, httpd, trac, ubuntu, linux, virtualization, windows, aptana, eclipse, flex, air, subclipse