I am using Amazon EC2 for the first time, and need to create an instance that runs Windows, MSSQL Server 2008, .Net Framework 3.5 SP1 and IIS Server 6.0. I am unable to decide what AMI (out of the huge list of community AMIs) should I choose to meet my requirements. Is there a way I can make this decision without doing trial and error.
You can take a look through the list of available Windows AMIs on the AWS web site; if you sort by title you should be able to spot suitable candidates fairly quickly.
You may be out of luck with the particular combination of versions you're looking for, since most installations of MSSQL Server 2008 are likely to be on Windows Server 2008, which usually has IIS 7.0 installed rather than 6.0.
Related
The Background
Today I was reflecting on the pain install/OS testing. As we approach a new release of our windows software, we have to verify:
That it installs without issue
That it runs, given a reasonable fulfillment of dependencies
That our assumptions as to what is available on an "updated" machine are correct
On a range of architectures (32/64 bit, etc)
On a range of operating system versions (Windows XP, Windows Vista, 7, 8, etc.)
Our sad (but usual and cost effective) approach is to spin up some old boxes here on site. We either try to stuff an OS install into a VM system, or are forced to wipe the box and do a native install just to get to a "clean" install of the app. Depending on the functional approach, reverting snapshots may or may not be available.
The Idea
I realized that Windows Azure was making it very easy to spin up virtual machines these days and "pay for what you use". Mostly this appears to be focused on web hosting (Windows Server 2008 and Windows Server 8 are the only windows variants available in the "VM OS Selection" dialog). See this page for an overview.
But what if I could spin up other kinds of Windows OS images purely for testing?
I have an MSDN subscription, and access to a set of OSes that we should support. Couldn't I push these up somehow and have snapshottable, on-demand test hosts?
The Questions
Is this feasible right now with Windows Azure? (I can do this for Server 2008 and Server 8 now, it would seem...can i do this with other OS images?)
If so, how? (Can i upload a .vhd to storage in some manner as to have it show in the "my images" section?)
If not, is there a good alternative? (I get the sense you could do this with Amazon EC2? Am I barking up the wrong tree? Is this better to try and do onsite with VM software entirely?)
In the best case, I want "fresh" (recently patched) images for a set of supported Windows OSes that I can spin up on demand, pay for what I use, and then shut down again. Does this exist?
Thanks for your time and consideration...
P.S. Not entirely sure if this should be here or on serverfault...please advise.
1.Is this feasible right now with Windows Azure? (I can do this for Server 2008 and Server 8 now, it would seem...can i do this with other
OS images?)
The Windows Server is 2012, not 8. But anyway. So no. The currently supported Windows family OS'es are:
* Windows Server 2008 SP2 x64,
* Windows Server 2008 R2,
* Windows Server 2012
Note that all of them are just the 64bit versions! Frankly, I don't think Windows client OS'es will ever be supported (like XP, 7, 8)
2.If so, how? (Can i upload a .vhd to storage in some manner as to have it show in the "my images" section?)
No. so no way.
3.If not, is there a good alternative? (I get the sense you could do this with Amazon EC2? Am I barking up the wrong tree? Is this better
to try and do onsite with VM software entirely?)
Can't answer this question completely, but a quick search says that currently in Amazon EC2 you can run:
Amazon EC2 running Microsoft Windows ServerĀ® (available in 2003 R2,
2008 or 2008 R2 editions)
So far with Windows OSes.
In summary: Only Server Windows OS can be run in an Azure and Amazon.
A hint: you can't install Hyper-V on Windows server in either Azure nor Amazon (you can't virtualize what is already virtualized).
Friends. I am new to windows azure concept. Just i want to knw whether we can host my asp.net application developed in visual studio 2010 with sql server 2008 or i need to develop my application in windows azure environment?
ii). Whether they provide both hosting and storage?
if it so what are the steps to implement it as a beginner?
Please can any one suggest a clear idea about it.
This is a pretty generic question. To get started, I strongly suggest downloading the Windows Azure Training Kit which will guide you through all the basics through advanced topics.
You can absolutely run asp.net apps and SQL Server apps in Windows Azure. You'll need to think about things like statelessness, scaling, and other things that might be different from an on-premises solution. You should see these topics discussed in the training kit.
Last week, Windows Azure Web Sites was introduced - this is an extremely simple way to deploy an asp.net site to Windows Azure.
As far as "is it right to host my application in windows Azure" - that type of question doesn't fit here, as it will simply open the floor for debate.
I am new to Visual Studio 2010, so please bear with me. Back in the days of using VB6 combined with an Access database, all I had to do was to use the Package & Deployment wizard and include the database file in the setup. Then all the client had to do was run one setup file and the application would magically run right away (the database would be placed in the App Path).
Is there some way to create a setup file in VS 2010 which will also install SQL Server Express automatically, attach the database along with the application itself?
This is meant for people who do not have SQL server installed and they should be able to start using the app by running one single setup.
Thanks!
Yes, your setup based on Windows Installer and built with Visual Studio itself can deploy everything you need. Read this article on MSDN for more details (maybe you won't need ClickOnce but it contains a lot of links).
I guess you need some clarification about your options (I assume you want to use a Microsoft solution because you talked about SQLExpress).
Microsoft SQL Server: fully featured database engine. It costs (a lot) and deployment isn't easy as we would.
Microsoft SQL Server Express: free edition (with some limits) of the big brother. Same installation issues. Perfect for medium desktop or web applications.
Microsoft LocalDB: single or multiple file, single user, support for stored procedures and advanced data types as in higher versions, easy to deploy and (optionally) per-user execution. Perfect for small/medium desktop applications and developing (with some preconditions with web applications too).
Microsoft SQL Server Compact 4.0: single file, single user, small, in-process, very easy to deploy. Perfect for small single user applications or used as local data storage (VS2k10 C++ Intellisense, for example, uses a SQLCE DB).
Microsoft JET Engine: the old beloved Access. If you come from VB6 I guess you know this.
If (and this is a big IF) your application is intended for a single user and you don't need data-sharing, now Microsoft provides a new version of SQLServer Express called LocalDB.
This version runs as standalone executable (isn't a service).
Its major advantage is the easy installation.
Search for LocalDB or look at my question LocalDB deployment
I'm a research student and I want to build a windows cluster at home with my laptops to test my parallel codes.
The problem is I'm using Windows 7 Home Premium, not a server edition.
I'm using Visual Studio 2010 Ultimate and I installed Microsoft HPC Packs with SP1 and able to simulate MPI codes at my localhost without a problem. Now I want to see the real application.
I have 3 other laptops at home and windows 7 starter is installed on them. They don't have visual studio installed because I have only 1 license from the university.
So is there any way to build a windows cluster with these configurations??
No, a Windows cluster will only work with Windows Server Enterprise or above.
To simulate this a good way is to host Windows Server operating systems on virtual machines. A good resource for this is here.
You do need Windows Server licenses to do this, however -- if you have an MSDN subscription you may find that you can get development licenses under that.
I've done it in HyperV a number of times. You'll need to create a domain controller (using Server STD or Enterprise) as well as N nodes that run Server HPC edition (a lightweight/simplified server edition). Easiest thing to setup would be to create a single HPC (VM) that contains your DC, DNS, DHCP, and HPC Head Node/WCF Broker. Then, you can add a few compute nodes (also VMs) (2 or 3 is good enough for testing) using the HPC server edition and be all set.
What are the best practices in setting up a new instance of TFS 2008 Workgroup edition?
Specifically, the constraints are as follows:
Must install on an existing Windows Server 2008 64 bit
TFS application layer is 32 bit only
Should I install SQL Server 2008, Sharepoint and the app layer in a virtual instance of Windows Server 2008 or 2003(I am already running Hyper-V) or split the layers with a database on the host OS and the app layer in a virtual machine?
Edit: Apparently, splitting the layers is not recommended
This is my recipe for installing TFS 2008 SP1.
There is no domain controller in this scenario, we are only a couple of users. If I was to do it again, I would consider changing our environement to use a active directory domain.
Host Server running Windows Server 2008 with 8GB RAM and quad processor
Fresh install of Windows Server 2008 32bit in a VM under Hyper-V
Install Application Server role with IIS
Install SQL Server 2008 Standard edition
Use a user account for Reporting Services and Analysis Services
Create a slipstreamed image of TFS 2008 with SP1 and install TFS
Install VSTS 2008
Install Team System Explorer
Install VSTS 2008 SP1
Install TFS Web Access Power tool
After installing everything, reports were not generated. Found this forum post that helped resolve the problem.
Open p://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx
Run the webservice (see above link for details), it will take a little while, the tfsWarehouse will be rebuilt
It is very important to do things in order, download the installation guide and follow it to the letter. I forgot to install the Team System Explorer until after installing SP1 and ventured into all sorts of problems. Installing SP1 once more fixed that.
One critical thing you has to keep in mind about TFS, is that it likes to have the machine all to it self. So if you have to create a separate instance on Hyper-V do it using the proven Windows Server 2003 platform with SQL Server 2005.
I am sure Microsoft has done a great job getting it to work under Windows Server 2008 and SQL Server 2008, however you don't get any additional features with this newer install and it is currently unproven in the wild.
So my recommendation is to stick with what is known until the next release of TFS comes out.
Also splitting the layers is definitely not recommended, especially in the workgroup edition where you will only be allowed to have 5 licensed users. Those 5 users will never exceed the server's needs. Also my recommendation is to not update Sharepoint if you don't need to. In my environment, we don't really use Sharepoint all that much, so I left it alone. Sharepoint is usually, in my experience, where most of the problems come from with TFS.
I just upgraded our team to TFS 2008, from TFS 2005. The hardest part was upgrading SharePoint 2.0 to 3.0, so I would make sure to do that first, if you have not already installed TFS 2008. We had a couple of other difficulties, but they were all either related to the SharePoint upgrade, or to the fact that we were using an aftermarket Policy package - Scrum for TeamSystem. We are on SQL Server 2005, so I cannot address SQL Server 2008. As for splitting the layers, we did not do this either, as we are running on Windows Server 2003 and everything ran under the host OS.
Splitting the layers is only needed for more than 450 users.
I would also recommend having the Build Server on a completely seperate machine. Building is very file system intensive. SQL Server performs best when it has complete control of a file system - so having build and TFS on the same machine may create performance issues while builds are executing.
Perhaps this can be alleviated with proper tuning and seperate physical drives - but I'd think in the long run it would be a lot simpler to just either use some old hardware - or spin up a small virtual machine on a seperate host for your builds