How do I architect Microsoft Project Server 2007 in a geographically distributed environment? - project-server

We're experiencing major performance issues when users try to save and publish large project plans remotely from Microsoft Project Professional 2007.
What would be the best way to improve performance?

I'd guess Project assumes it is on a local network and the performance is killed by the large delays over the WAN. A hardware solution could be a steelhead
And if those are software projects, switching to a more sensible project planning tool would improve performance the most :)

Related

Visual Studio Online migration utility very slow

we are migrating from TFS 2010 to Visual Studio Online. Our biggest Team Proyect has 14k ChangeSets. We are trying to migrate but based on the current "speed" it would take about 18 days to migrate.
I now there is a similar thread but:
Slow TFS migration from on-premise to TFS online with OpsHub tool
but it does not provide a solution. So I'm asking for help.
For TFS 2010 we have one Application Tier Server, a Database Tier Server.
Both Servers are performing ok (Memory, CPU,Network) during the migration
We are launching the migration Utility from a differect computer which also has ok performace (Memory, CPU, Network)
But in 12 hours, only 400 changesets has been migrated.
We are using version 1.0.1.008
Thanks in advance
Update from OpsHub.
We have done major performance improvements in the current release.
It would be available to public by the end of this week.
Thank you Christian for your assistance in this case.
A rule of thumb is that it will take as long to migrate your history as it took to make it in the first place and those times are not outside the bounds of reality. I would ditch the history and move just the tip.
Clarification: No that is not slow that's just how long it takes to do migrations.
If you have a lot of modifications to code and or work items then it will take a very long time. You can make things faster by throwing processor at your source server and sticking a fat pipe in the way, but you are network bound.
You could spin up an Azure server in the same data center as your target VSO and install and configure your TFS 2010 environment there. Then run the migration. That will be much faster, and will still take a long time.

Source Control for different teams? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
Need recommendations for this...
I have 2 teams
Enterprise SOA development with InfoPath 2003, BizTalk 2006, MSCRMv3, custom .net2 website and a bunch of webservices using VSStudio 2005 with TFS.
Web Team focused on public facing websites - using Adobe Suite, VSStudio 2005.
As mentioned team 1 have TFS- we dont do daily/weekly/fornight/intergration builds as we dont do that type of methodology - but we do have a custom build/test solution using msbuild plumbed into TFS. (it does other funky things like zips for archive the version/delist biztalk, deploy new assemplies in biztalk and renelist of biztalk and a full deploy of the website and services)
Team 2 have nothing... other than a zip archive of versions.
Issues...
TFS is expensive
Both teams are used to the "locking school" of source control.
need source control for differing assests
Any suggestions - OSS or other wise?
svn - can even keep your locking strategy (if you have to), also you can develop all sorts of pre/post commit hooks to automate deployments/tests etc etc. Easy to setup and manage.
Some tools & links
visualsvn server - free
tortoise svn - explorer add-in - free
visual svn - visual studio addin ($49 per seat)
I would go with TFS for both teams despite the expense. You have the expertise in-house already for that product and it supports the locking model you like.
If cost is a problem, go with SVN for the web team, but purchase VisualSVN for Visual Studio integration and use TortoiseSVN for Explorer integration. I have found in the past that web teams tend to 'get' SVN a bit more quickly, especially with TortoiseSVN.
I work with Subversion, running VisualSVN Server, and TortoiseSVN and AnkhSVN add-in for Visual Studio on client developer machines, its a really good setup, and all is OpenSource.

How can developers make use of Virtualization?

Where can virtualization techniques be applied by an application developer? How can virtualization be applied on a day-to-day basis?
I would like to understand from veteran developers making use of it. I am interested in the following things:
How it helps in development.
How it could be used for testing purposes.
What are the recommended practices.
The main benefit, in my view, is that in a single machine, you can test an application in:
Different OSs, in case your app is multiplatform
Different configurations, like testing a client in one machine and a server in the other, or trying different parameters
Diffferent performance characteristics, like with minimal CPU and RAM, and with multicore and high amounts of RAM
Additionally, you can provide VM images to distribute applications preconfigured, be it for testing or for running applications in virtualized environments, where it makes sense (for apps which do not demand much power)
Can't say I'm a veteran developer, but I've used virtualization extensively when environments need to be controlled. That goes for:
Development: not only is it really useful to have VMs about for different deployment environments (e.g. browser versions, Windows XP / Vista / 7) but especially for maintenance it's handy to have a VM with the right development tools configured for a particular job.
Testing: this is where VMs really shine: it's great to have different deployment environments that can be set back to a known good configuration and multiple server instances running in parallel to test load balancing.
I've also found it useful to have a standard test image available that I can run locally to verify that a fix works. If it doesn't then I can roll back to the previous snapshot with no problems.
I've been using Virtual PC running Windows XP to test products I'm developing. I have clients who still need XP support while my primary dev environment is Vista (haven't had time to jump to Win7 yet), so having a virtual setup for XP is a big time saver.
Before each client drop, I build and test on my Vista dev machine then fire up VPC with XP, drag the binaries to the XP guest OS (enabled by installing Virtual PC additions on the guest OS) and run my tests there. I use the Undo disk feature of Virtual PC so I can always start with a clean XP image. This process would have been really cumbersome without virtualization.
I can now dump my old PCs at the local PC Recycle with no regrets :)
Some sort of test environment: if you are debugging malware (either writing it or developing a pill against it) it is not clever to use the real OS. The only possible disadvantage is that the viruses can detect that they are being run in the virtualization. :( One of the possibilities to do it is because the VM engines can emulate a finite set of hardware.

Develop with Postgres Plus and Deploy Postgresql Open Source?

According to the answers in this comparison question, there's no technical difference between the core PostgreSQL engine and Postgres Plus server from EnterpriseDB. The developer license is only $95/seat.
Their development tools look quite attractive and that cost might be worth it to get increased productivity even if you then deploy the open source version. Has anyone tried this and run into problems?
The only development tools I see there look an awful lot like pgadmin III, which is free software (both in terms of money and freedom).
Were there other development tools you were referring to?

What is the preferred operating system for web programmers, client or server? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Which OS do you prefer to program on? Client or Server
There is a school of though that if you are doing (mostly) web programming (or other server based code), you should use a server OS for your dev machine, since that's closer to the environment where your app will be running.
Update: I should add, this is really directed to the Windows crowd
OK, I know you're mainly talking about windows but...
I used to develop on windows for deployment on *nix servers. Sure there were lots of gotchas with this way of working, but you just kind of get used to it.
In October 2005 I switched to Linux, initially as an experiment, but I never went back. There was a steep learning curve. I thought I knew *nix pretty well after 10 years of dealing with it, but I knew nothing compared with the amount I learned using it on my desktop machine.
Workflow has been so much smoother developing and deploying to similar platforms.
More recently, we have even started to pick servers running Ubuntu server, so that they most closely match our Ubuntu desktop development machines.
If you are talking about the difference between a desktop and a server edition, I'd guess you needn't worry about it. If you're developing on one OS for deployment on another, I'd consider changing your desktop platform.
There is a school of though that if you are doing (mostly) web programming (or other server based code), you should use a server OS for your dev machine
I think that applies more to 'system programmers' rather than web 'application programmers'. Why? There is definitely great value in knowing the platform intimately, like one would get in living with the OS, etc. day in and day out. But not everyone can or should need to go there.
While my main production environment is RHEL4, Linux just does not work for me on the desktop--in fact, it drives me crazy. I find working on OSX close enough, though. And I just love working on my Mac rather than an XP box.
I'm doing the Java thing, and the "write once, run everywhere" hype actually works for me. :)
Update: I should add, this is really directed to the Windows crowd
Minute late, bit short ;) Maybe you should edit the title too...
It seems like the question is more about whether to use the server or client version of the same OS. So my answer is this: the client should be just fine. You can develop and test web applications of many flavors on client versions of Windows, OS X, and Linux. OS X and Linux obviously make Apache-based apps a little easier by coming with Apache pre-installed, but a download of XAMPP or WAMPP can quickly turn a Windows box into a solid development platform for LAMP applications, as well.
And if you're doing ASP.NET, your development tools (if you're using something in the Visual Studio line) have test server mechanisms built in.
So unless you have some other need for wanting the server version, I would stick with the client. It's less money, and you really don't need the server version.
The client vs. server OS issue is only relevant on MS platforms. And even there it depends on what you're developing for.
As far as I understand for Sharepoint development you need a server OS to run your code
If you're just doing vanilla ASP.Net stuff then it's mostly personal taste.
Edit
As Tyler commented, you can run MOSS/WSS on Vista but it's not supported. Or you could develop on a client OS and run sharepoint on a server OS in a VM.
Regardless of the operating system you're actually talking about, it shouldn't matter. Most applications you might write won't need to worry about the differences (if there indeed are any). Only in rare cases might you use some specific functionality that might only be available on a "server" edition of your OS.
There are other considerations, for example Windows server editions are tuned by default to give less priority and attention to desktop programs, and more attention to things like the file cache. Personally, I would always choose a "client" edition of my chosen OS.
Personally I use Windows Vista but that's because it's what I like and I can use it well. But in all honesty it doesn't matter, your OS should be something you are comfortable in and has the tools you need to be productive.
I would say your test environment is the one you need to have as close to your production environment as possible. I write in RoR on Vista but test it in a Linux VM setup the same as my web server and at work we have a Win2k3 server with IIS6 installed to test our .Net sites on but I develop on Vista using IIS7.
I use Windows Server 2003 set up as a workstation.This is the guide i have used for several years. Really like it.
This is going to be a bit of a weird answer but I'm a big fan of Windows 2008 and Hyper-V, as a workstation (I know). Essentially I'll only install Office like software on my workstation and all the development will be in Virtual Machines.
Assuming there's no Win2k8/Hyper-V availiable I'd gladly settle for some old WinXP (but w/Virtual PC).
Hyper-V allows you to get great performance out of any .VHD VM that you run. Both Virtual PC and Virtual Server are free (as in beer) and you can set up a ton of infrastructure that allows you to re-purpose virtual machines (ie. Base Machines, Differencing Disks, Undo Disks). The .VHDs are also interchangeable so you can re-host a previously enjoyed .VHD for other developers to enjoy on some virtual server, OR they can take a copy of it, rename the virtual machine and enjoy your ready-to-go environment with some Virtual PC!
This is awesome for bringing team members up to speed (environment wise) in less than 10 min. YOu can also use it to VERY QUICKLY provision machines that would otherwise take days to setup/configure.
Never mind the much better ability to test from different OS', or be able to roll back changes using Undo disks, VMs are a life saver! Start virtualizing people!
For some of the great benefits of Virtual Machines/Differencing Disks consider this post by Andrew Connell.