Search code examples
c#asp.netdevelopment-environmentepiserver

Development environment for ASP.NET with EpiServer


At our company we are going to develop more for the Windows platform than we have done up until now. As this scale of Windows development is new to us it would be nice with some feedback from experienced developers.

Requirements we have:

  • 5 developers from the beginning.
  • 15 developers a year from now.
  • All developers should be able to develop at the same time.
  • Be able to develop solution for ASP.NET and EpiServer 5.

Our idea:

  • A shared server which developers use for development through Terminal Services.
  • SQL Server Express.
  • Start with some free express edition of Visual Studio, upgrade to a commercial version if we need the additional features.
  • Use IIS and not the web server built into Visual Studio.

Questions:

  • Are we on the right track?
  • In terms of license costs the above should be cheapest, right?
  • What do you think about multiple developers doing development using a shared TS-server?
  • Do you know of any company which has a similar development environment?
  • Are we going to miss some features of the full Visual Studio version immediately? Is using Express version a bad choice?
  • Is IIS the best choice? If use IIS the developers may use the same port for deployment. If we use the built in web server each one has to set their own port as we're sharing a machine.

Comment answer:

  • We are thinking about a shared server as it will most likely decrease the license costs. So it's purely a cost issue. We are using CVS for version control. Our situation is that we develop on Mac and Linux, that's why buying 1 server license + Visual Studio licenses seems to be a cost effective way of starting this type of development.

Solution

  • Since you are referring to EPiServer my recommendation is to use Visual Studio's built in web server on each developer's PC. Then get some kind of Windows Server and run SQL Server and IIS on it. Also use some kind of DNS service that allows you to create sub domain host names that you use to run multiple port 80 sites on the IIS.

    I don't know the exact terms but you might be able to run SQL Developer Edition in this scenario instead of Express. Then you get the full set of management tools, no size limit on databases and support to import and export data. If you got customers with both 2005 and 2008 SQL Servers you should run both versions as two different instances so that you can move, create and restore database backups easily between environments.

    Developers all connect to the same database while developing and when appropriate deploy their projects to the server's IIS web site. If you like you can allow a customer to use it as test site.

    I would put the free VisualSVN Server on the server too and use that instead of CVS.

    I would also look into renting this as a virtual server somewhere and use some kind of VPN to access it.

    If you can live with the limitations I don't see any problems using VS Express.

    Good luck!