Use Microsoft Hyper-V for virtualization?
Most probably you already store your virtual disks not in the system drive (i.e. not in drive ‘C’ for example), which is right approach (for performance and other considerations)
However not everybody know that in the C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines folder, Hyper-V actually store huge files (*.bin) for each virtual machine that you run on your Hyper-V host! That may be huge issue in case, if you have a lot of virtual machines in use and your system drive space limited. In addition, it also may introduce fragmentation problems, due to the fact that such files maybe created and removed each time you run your instance or when you create some snapshots etc.
So basically there are 2 main questions you may ask: a) Why such files (*.bin) are created? And why they are so big? You may notice that size of such files actually equal to amount of virtual memory which you allocate for the virtual instance. So answer is simple – it just a place (such file) to store memory dump for Virtual Machine (instance) and required by Hyper-V b) Can I get rid of such files? Answer – no In current version of Hyper-V it is not possible. However it is completely possible to move such huge files to separate disk(s) out from system disk! That SHOULD be done I think in any Hyper-V host anyway, in case if you have additional disks here. It is very easy to do that: on the first step of Wizard to create Virtual Machine, do not forget to change location for virtual machine from default one to location, where you have enough space to store both virtual machine memory dump and possible snapshots (in case if you plan to use them sure thing).
Maybe I should go ….to PHP ? (… I mean just go, not “go down” or “go up” or “go away from .NET” – read next why, really!)
Projects like Simple Cloud API (http://simplecloud.org) in PHP, together with Zend Framework and many other PHP related stuff sometimes KILLS me, .NET developer / architect!
Why, WHY we do not have something like Simple Cloud API in .NET??? Or at least it’s not well known! Is it so hard to build and promote it ?? NO! Why it takes whole a lot of time to introduce ASP.NET MVC, if we do it so many years in Java or PHP !? Great .NET framework, tons of projects, but so limited amount of “innovative” open source projects in .NET!
Take a look, most of famous .NET open source projects go in same versions or even few versions behind if compare to corresponding projects from Java (see Lucene.NET for example), but do not introduce really “innovations” in the software programming! Some projects do not even exists in .NET space like Solr (i.e. you should use Java VM to run it)! Some projects like ASP.NET MVC comes much later other MVC frameworks in Ruby (RoR), Python (Django) or even PHP (Zend Framework)… And Microsoft last time spend whole a lot of effort to bring Java / PHP into Azure… instead of increase sponsorship for example innovative OSS projects in .NET and by this push developers to go for .NET from other frameworks!
Should somebody build library like SimpleCloud in .NET ASAP!? YES! (please don’t tell me that I should build it ) Why?
Too many companies really need same thing to be able to abstract away Windows Azure or any other Cloud specific solution using some open source libraries (like SimpleCloud in PHP) and made solution portable across Clouds, before they spend $$$ and stuck with one Cloud supplier forever See my post about this! And too many developers really expect .NET platform to be more innovative !!!
P.S. sometimes innovations can waste your time / effort, if parent company stop support it – see my post about Silverlight
Silverlight Killed or? I don’t think so… Unfortunately, in some sense http://mashable.com/2010/10/29/microsoft-silverlgiht-html made correct statement: “Microsoft Shifts From Silverlight to HTML5″ and that’s a FACT now!
Why this happens!?? Here is my thoughts:
I can give many other arguments around it, but generally when Silverlight out I made my choice – AVOID using it (as well as WPF, but that’s other story) for any live projects, until I will really feel the need of “all in one” web client application with really rich and heavy graphics / Video / Voice requirements! It’s real fact that MOST of flash based sites, where site COMPLETELY was made in Flash FAIL, unless they touch some very specific area! I.e. it so easy to see that web users want “light” pages (HTML / CSS / Javascript) and not heavy as Flash / Silverlight get produced! But again: I DO see big future anyway for Silverlight as really best framework to build RIAs out there in .NET space! More so, now it seems like Silverlight can take it place in WP7 development!
Just always you should ask yourself – are you sure you want to build (or customers ask you to build) RIA? Maybe you want to build super light, not heavy Web 2.0 (3.0) web site? Or may be you want to build something using only open / cross-platform technologies? Than don’t even think about Silverlight, at least for now!
Download them here.
New in the November 2009 SDK (quote from Microsoft Windows Azure team newsletter):
As we can see – a lot of improvements and new features introduced in this release. I will made review of them right after will have time to check (hopefully today later)! In any case, glad that MS improve Azure SDK so quickly!
Update: after installation and first review, I found following:
Because I build some projects with support of Cloud deployment scenarios (currently for Google App Engine and Microsoft Azure) and I am sure that best Web software must be ready to be deployed in Cloud(s), it was very interesting to read latest announcement from Amazon: “… AWS Software Development Kit (SDK) for .NET Now Available… “.
Sure it’s just a beginning for Amazon in development of real .NET SDK, but even with this version we can quickly build .NET applications that tap into AWS Cloud. Yes, even before developers have good libraries to build such applications, but now looks like we have first “standard” API from Amazon and this fact is very important!
For example, for Ruby there is no such official SDK (or Ruby gem), and developers can choice from few available gems (right_aws, amazon-ec2 or AWS:S3 to name just few). The same situation for Java - available a lot of “community” libraries, but no official SDK… (ok, ok, for Java we have at least official AWS Toolkit for Eclipse, but Toolkit it is not SDK!!!).
But why it is important to have official “language specific” SDK?
Well, first of all, now because Amazon have few BIG rivals, like Google App Engine (and we know that Google DO have official SDKs, more so, for both Python and Java!) and Microsoft Azure (sure Microsoft always have SDKs – it a BIG plus for Microsoft!).
Also it is important for developers, so they know that if they take some library and put this library as “base” for communications with a Cloud, they will not need to dial with changes in API in case of library author decide to drop development! It is important to have SDK that will be up to date with company services (Amazon in our case), just because we developers want to be SAFE! Sure it is good if there are a lot of open source libraries that EXTEND SDK some way, but it’s just “add-ons” and can’t replace real official SDK!
So it is really BIG day for Amazon and .NET developers – first official “language specific” SDK, and for .NET!!! What will be answer from Microsoft Azure that is still in “Beta”?
Note: in this post I mean “language specific” SDK, not just common SDK that list API for Web Services with samples how to use them for example, etc… Because most of they time developers dial with some specific language, it is important for services like AWS to provide language specific SDKs so developers can really quickly and “safely” create applications using such “language specific” SDKs! Hope you understand what I mean