We're thinking of running our TFS 2010 application tier on a virtual machine using VMWare.
We are a tiny shop (4 devs) and like the ability to upsize the power later. Data would probably reside on a real server.
Hive mind: Please, tell me if this is a moronic idea.
I'm not sure what the Microsoft recommendation is going to be here (although, I'm sure they'd suggest Hyper-V over VMWare at the very least).
That being said, I run TFS2010 in a lab environment with both TFS 2010 and the database within a VirtualPC instance (under Windows Server 2003). It works, and for the type of work that I'm doing, it works pretty well.
Given what you're asking, I think a VM for the application tier should be fine. I'm generally not a fan of virtualizing database servers, so I would stick with a separate machine that can be used for your data tier.
If you do wind up virtualizing the data tier, I would still strongly recommend tying it to a physical disk instead of a virtual HD.
Our development shop actually runs TFS 2010 on a VMWare. Database and everything. So far we have not encountered any problems, though I have read that it is possible to have some problems with SQL server on a VM. However, this is not our long term solution as well. This was done so we could get up and running without delay. As long as you are backing up your data I think this is a good short term solution.
Just do it, data and everything.
For low-performance stuff, I even run [OMG] Oracle on VMs.
Related
I know zilch about AWS, and everything I read about it is at a level of generality beyond my poor understanding.
So, to be specific, say I plan a peripatetic lifestyle. Or say I cross national borders frequently with an ever-present danger of having my laptop confiscated.
Can I keep only a barebones laptop computer locally, and put compilers (say perl, python, etc), editors, browsers and my own programs and data on AWS, edit my code and run it on AWS, and then view the output on my laptop from wherever I may be?
Does AWS provide any of these programs as a service, so I don't have to upload them?
Amazon WorkSpaces may have the functionality you are looking for.
https://aws.amazon.com/workspaces/?nc2=h_m1
There is a free trial version to test it out.
I am doing some research on VMWare VSAN because we are looking at our options for storage. I am getting mixed answers when I Google. We are building a new host in our new office and we are starting fresh. Our old setup we had a server host HP with a few drives which ESXi connected to a SAN and we used a combination of both for storage of VM's and file storage. We did not use VSAN, but with the new setup this is definitely an option. We are looking at a HP ProLiant DL380 GEN9 server that is capable of holding several drives. If I loaded this up with large drives and setup VSAN, would this be a good option for a file storage server? This host will also host several other VM's as well.
So, basically you want to do the hardware refresh and system architecture reconfiguration. Correct me if I`m wrong.
If so, then IMHO the best way gonna be to go with one of the hyper-converged solutions. Is see three options here:
Simplivity (https://www.simplivity.com/). Its really good, but it was too high cost for one of the projects that I had. Also its perfromance is mostly bottlenecked by the propritory component (FPGA), which in most of cases means lack of flexibility
VMware VSAN (I'm sure you don't need link for that :) ). According to my friend who works at VMware - it is usually considered for big deployments. so if that is your case - go for it.
StarWind Hyper-Converged Appliance (https://www.starwindsoftware.com/starwind-hyperconverged-appliance ). That one is SMB-oriented. It combines commodity Dell hardware and bunch of software. Since everything is commodity - it is easy to handle.
I hope that makes gonna help.
P.S. I`m not sure if this is the best place to ask this Q, possible serverfault would be the better place.
Fault tolerant file storage is possible with VMware Virtual SAN but kind of expensive. Either way VMware does solve storage redundancy for running VMs but it does not solve the issue with exporting SMB 3.0 or NFS v4.1 mount points you'll need, you have to use custom VMs for that. FreeBSD / Linux with Samba for NFS and Windows / Hyper-V Server for SMB 3.0 will do the trick!
Similar discussion on REDDIT some time ago lots of good thoughts.
https://www.reddit.com/r/vmware/comments/4223ol/virtual_san_for_file_servers/
Here's my scenario. I am writing a web app for a client that needs to be portable, i.e. they need to plug it into different PCs (Windows) and have it simply work. Life would have been easier if they could just put it up on a domain, but no can do in this case, cause internet access might not always be available. So, I am trying out Railo Express with Jetty (http://www.getrailo.org/index.cfm/download/) which has everything I need. I actually managed to install (well, copy and configure really) the package on a USB stick, created a new site in the "/webapps" folder and wired that up, then downloaded the drivers for SQLITE and got that connected and working just fine.
This is not going to be a very intense web app at all, or does it need many users connected to it (max 2-3 at a time). I use Bootstrap and other than a Dashboard with a couple of graphs, all the pages are basically forms and read/write to the SQLITE db.
So, while everything seems to work do you think this is a viable solution? It seems to work fine, but will I run into any issues, like perhaps performance or compatibility issues with the different PCs the client might be using? And is there a better way of doing this?
EDIT:
Thanks for replying guys. Here's some more info to hopefully clear things out. I should have been more specific as to why use a portable web app. The app is for a car wash business to log the business going through. There is basically one computer at the counter where things will be accessed from (and the USB will be attached here), and possibly one iPod at the entrance where cars going in will be logged by the attendant (and will connect to the local computer via wireless). The reason for portability? They want to take the stick home with them and review stats, so it's either a full installation on the computer and a backup on the stick (extra work), or just everything on the stick. The reason for not simply going online and making things easier for everyone: tricky internet reception, which would mean downtime of the app.
From your descriptions it looks like a simple and not very intensive application. Based on my experience with Railo Express, I think you have the power needed to run this.
What I would do is to install the application on the computer at the counter since that is the main hub (you mention the iPad connecting wireless). Use the stick as a backup and before they take it home, make sure the stick is updated with data. You might also consider designed the app so that there is separation between writing data and consuming it (e.g. people at home running reports).
Will the app on the stick run at home, most likely it will work, or if you run into some problems will not be hard to fix.
I was wondering if justhost.com would be good enough to host a Wt C++ website/app on. It does allow FTP and SSH access as http://richelbilderbeek.nl/CppWtDeployGlobalHosted.htm tells me a host should, but I am just looking to get more input, or if you know of a better host?
I'd also ask them if you can install libraries on there, if not you'd have to compile yourself a giant static app, which could be a bit of annoying restriction.
It looks to me like their site is basically designed to host standard php style apps more than anything.
I use slicehost and Rackspace Cloud Servers.
The thing is they are full VPS's and give you full root access.
I would go with a true VPS plan, rather than a chroot style shared hosting plan, with ssh access added on top. The main problem would be neighbouring bloated applications using all the shared resources and giving you inconsistent performance.
Also with full root access, you can set up your app to start on boot, and sort out your own DB backup plan etc..
You still can get neighbours slowing you down on VPS accounts, but it's much reduced.
One thing I like with Witty is that my app running with 100 threads, even with the cheapest VPS plan it runs consistently and smooth up to 50 concurrent users (tested using load impact) with hardly any load on the machine at all.
My general pro c++ statement: Some c# and java people say c++ is only really useful for embedded, low powered hardware. I'd like to add that it's also useful for VPSs. Although hardware power is always growing, with virtualization, there's always more cheaper lower powered plans coming out that c++ is perfect for.
I used to run php, perl and python web servers on VPSs but my C++ witty app really does leave them all in the dust performance wise. The idea being you can pay less per month to host a c++ Web site that scales really well, rather than rails or other interpreted or byte compiled languages.
Also, I used to use a larger, 4 GB Slice to do my compiling until I bought myself a decent 6 core home box. The 256 MB (the smallest plan) is no good for compiling, but excellent for running.
I wondered if anyone uses virtualized desktop PCs (running WinXP Pro or older) to have some old applications that are seldom used available for some ongoing tasks.
Say you have a really old project that every once in a while needs a document update in a database system or something like that. The database application is running on a virtualized desktop that is only started when needed.
I think we could save energy, hardware and space if we would virtualize some of those old boxes. Any setups in your company?
edit Licensing could be of concern, but I guess you have a valid license for the old desktop box. Maybe the license isn't valid in a VM environment, I'd definitly check that before.
Sure enough, if the application is performance critic, virtualization could hurt. But I'm thinking about some kind of outdated application that is still used to perform, say a calculation every 12 weeks for a certain customer/service.
I use virtualized desktops for:
Support that requires VPN software I do not want on my own desktop. This also lets a whole team share the support computer for a specific customer.
A legacy system which we use several different versions of (depending on customer's version) and they're not really compatible so its good to have a virtualized desktop for each version.
We use virtualisation to test on a variety of Operating Systems - the server application runs under linux, and we have a production (real) server, and a couple of test servers, which are all VMs.
The client runs under Windows, which, being an OS X user I have to run in a VM, and the other developer I work with runs an XP VM on his 8-core Vista box.
(I also have a seperate VM for running CAD software, but that's not really programming)
It depends on the requirements of the legacy systems. Very often if a system is relient on a certain clock frequency, then it better and morereliable to keep the older OS systems running as Virtulized OS' can do funy things to performance.
If the legacy systems aren't that critical, then go for it! One piece of advice I would give is to ensure that the system works FULLY before chucking out your old 3.11 systems as I have been stung before! To fully perform the testing can cost more money then you might save, but its up to anyone who make the decisions to ensure that is considered.
We use virtualisation for testing out applications on Vista. Or rather customers do the testing and we use virtualisation to reproduce the bugs they complain about.
I guess the thing that would stop me from using lots of virtual instances of my favourite proprietary OS would be licencing. I presume Microsoft would want me to have a licence for every installation, virtual or otherwise?
We use VMWare with a virtual windows XP here at work to run some old development tools with very expensive licenses that don't run at all on Vista. So VMWare saved us about $5000 in licenses.
Since my last machine upgrade I have been running virtualised OS's for a number of tasks. For example I use a different set of Visual Studio plugins for managed and c++ unmanaged development. Some things I found:
Run your vmware setup on a machine with plenty of resources. I'll repeat...plenty of resources! A fast quad and 8GB of memory is what my current machine is running and it runs sweet (warning you need a 64bit OS for the 8GB!).
I wouldn't worry about app performance if your current physical hardware is old (2+ years). With a decent machine I find the virtualized apps run faster than on the legacy hardware!
When upgrading to a new workstation, p2v your old workstation. No need to worry about synergy or a KVM in the transition period any more!
I've used virtualisation so I could take my development environment around with me while travelling. As long as I could install MS Virtual PC, (and the PC/laptop had generous enough RAM) then I could access all my tools, VPN, Remote desktop links, SQL databases etc...
Worked fairly well, just a little slower than I like. I could have carted a laptop around, but found a small portable harddrive to be lighter/easier and just as effective.
However, consulting for several clients - all with different VPN requirements/passwords/databases/versions of frameworks & tools etc, I've found that having a Virtualised support environment for each is well worth it. Then multiple users have access to what is needed when supporting each client - they just need to either remote desktop (or run directly) the virtualised instance.
I've used VMs to handle work-related tasks that I didn't want / couldn't do on the company-issued laptop. Specifically, I needed to have several editions of the JRE running at the same time, which Java doesn't really like.
To get around this, I built several VMs that each ran the one tool I needed in trimmed-down XP instances.
Another thing to consider is that if you have a 5-yr-old server running some app, it's probably going to run just fine on a VM on new hardware. So, if you have a rack of old devices, buying one or two "real" servers, installing something like ESX (I'm most familiar with that tool, though Xen and others exist), then use a physical-to-virtual conversion tool to get those old devices switched to VMs so you can reduce your electricity consumption, management headaches, and worries about a critical device failing and not being able to find hardware for it.
We use VM for legacy apps, and have retired old machines that served up those apps. It eliminated the concern of matching drivers from NT to Win2k3. From a disaster recovery perspective this also helped as we couldn't find boxes to support the old apps at the DR data center.
The likes of VMWare are invaluable tools for browser testing of web applications. You can pretty easily test many combinations of OS and browser without having rank upon rank of physical machines running that software.