SQL Server Development Database Server

We are in the process of rethinking our development environment. At the moment, we all have Elitebook laptops that are not as fast as we would like. We are thinking about virtualizing our development environment on a central VM server.

Our developers work in Visual Studio and use SQL Server as a database. We also have several SharePoint developers who need a 64-bit Win2k8 machine for SharePoint 2010. These are already virtual machines with their local installation of SQL Server.

SQL Server is installed on each development computer or virtual machine. This requires resources from all the boxes, and it is difficult when working with a team on a project. Therefore, we are considering the possibility of centralizing resources in one database server. This field would have to run multiple instances of SQL Server (each Sharepoint developer needs a separate one to start with). We also need an older installation of SQL Server 2005 and SQL Server 2000 for backward compatibility. In addition to the SQL Server window, the plan consists of a VM session for each developer with development tools installed. Thus, the developer could just RDP in the development environment, have his own image and use a centralized database server. Testing servers will also be virtualized in the same environment.

I am looking for some tips and tricks on this. For instance:

  • How many instances of SQL Server can a normal mailbox have? And if we scale virtualized kernels / memory; is it enough to add new instances? I do not expect much use in dev.
  • What is the disadvantage of centralizing SQL Server instances, rather than storing a local instance in each development window?
  • How can this be integrated into a DTAP strategy?
+6
source share
2 answers

Just some thoughts:

The number of copies depends on the equipment; I'm not sure if there is a mathematical formula that will help you calculate how many instances you can run on VMbox, but it looks like you need a beast of the machine to run several instances for developers of PLUS developer tools (I can hardly SSMS and Visual Studio play well on my laptop). Better equipment = more cost.

Development in a terminal system may have some advantages, but I can come up with several disadvantages:

  • network latency. If your developers work remotely, they will need to quickly connect to the Internet in order to do something. If the developer of the environment remains on their laptops, they may work disabled.

  • instance interdependence. Although the instances of SQL Server are completely separate, sometimes you need to restart the server. You will need to coordinate this with all your developers (maybe not big if there are only a few of you).

  • redundancy / maintenance. If one developer's machine is turned off, you lose man-day (is that even a word?) Performance; if the server goes down, your company pays for the holiday for everyone
    :)

Did you appreciate that it would be worth upgrading individual workstations to compare the costs of creating a centralized infrastructure?

Again, these are just some of the issues that I think you should consider; There are probably ways to compensate for them, but they may affect your decision.

+2
source

I would centralize the database servers as best as possible. If all developers work from centralized database instances, you need to simplify the migration of changes between MUCH environments. That alone is worth the effort.

In the SharePoint development environment, I highly recommend nesting a few books to make sure you go the right way. You should be able to get all developers to work with the same development scenarios. Here is a good book on the subject, I'm sure there are others: SharePoint 2010 Development

Regarding the creation of machine tools for developers, I would first draw the attention of the developers and seriously consider the pros and cons of Stuart.

+1
source

Source: https://habr.com/ru/post/902627/


All Articles