WebMatrix currently offers 3 methods for publishing: Web Deploy, FTP, and FTPS. What’s different and how can you decide between them?
For starters, your choice of hosting provider may be a factor – not all publishing options will be available from all hosting providers. The hosting providers shown in the Publish > Find Web Hosting in WebMatrix do support all 3 types of publishing, however outside of these providers, you are not guarenteed that FTPS will be enabled or that Web Deploy will be on the hosting server. My personal publishing preference is the Web Deploy method because it does a selection of steps for you automatically during publish so you don’t have to do them separately – which just makes publishing easier (and it's also faster than FTP).
Here’s a tabular comparison of the options to get an overview of some of the ways these publishing methods differ:
And thanks to Ben Byrd for his FTP insights and helping to make sure this table is accurate!
A common issue being reported by Microsoft WebMatrix Beta users, is that they are unable to easily delete a SQL Server Compact Edition database from with WebMatrix itself. There is a way to delete the CE databases using the Files workspace of WebMatrix, read on to see how.
Let’s start by Getting a site set up to work with.
Step 1: Open the Microsoft WebMatrix Beta
Step 2: Select choose site from template
Step 3: Select the “Empty Site” and click “ok”
Step 4: Navigate to Databases Workspace by clicking the Databases button in the lower left hand corner of the screen.
Step 5: Click the "New Database" button in the ribbon.
When you click 'New Database' WebMatrix creates an empty SQL CE database underneath the App_Data folder. WebMatrix then adds a dynamic connection to the database file under the site node in the Databases workspace.
Now that we now have a database listed underneath the 'Empty Site' node in the tree, let's look at how to delete it.
Step1: Navigate to Files Workspace by clicking the Files button in the lower left hand corner of the screen.
Step 2: Expand the folder structure until the App_Data folder is expanded
Step 3: Right click the 'Empty Site.sdf' file and select the Delete option.
Step 4: Navigate back to the Databases workspace, the refresh the 'Empty Site' folder.
You have now deleted your file based SQL Server Compact Edition database connection from the databases workspace of your application.
IIS Developer Express Beta doesn’t work with WCF out-of-the-box. If you run a WCF application and browse to it, you will see the following error message:
“Could not load file or assembly 'Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.”
This will be addressed in a forthcoming release. Meanwhile there are a couple of simple ways you can workaround this limitation.
Workaround 1: Copy assemblies to the app’s bin folder
Copy the following assemblies from the WebMatrix install location to your application’s bin directory.
By default, WebMatrix gets installed in “%ProgramFiles%\Microsoft WebMatrix” or “%ProgramFiles(x86)%\Microsoft WebMatrix”, depending on your machine architecture.
Workaround 2: GAC the required assemblies
Installing the above assemblies in the GAC will work as well, but requires you to be an administrator. From an administrator prompt, switch to the WebMatrix install location. Then run the following commands:
gacutil /i Microsoft.Web.Administration.dll
gacutil /i Microsoft.Web.dll
One of the above workarounds will hopefully resolve the issue. If not, please let us know and we’ll be happy to investigate.
The multi-step and repetitive process for provisioning, deployment and scale is a simplified one step task with the release of Web Farm Framework 2.0 Beta.
Web Farm Framework 2.0 Beta was published today (download x86 / x64) addressing some of the top requested features and frequently discussed topics in IIS.
Most importantly, it:
-Provides capability to seamlessly provision, deploy and synchronize (platform and content) as a 1 step process
-Enables elastic scale and resource utilization in conjunction with ARR and other load balancing technologies
-Makes server management a breeze with ability to run operations from a unified UI and monitor up to date status
-Provides a rich API set and Power shell cmd-lets for advanced scenario and deeper control
Specifically some of the key features enabled are:
-One step provisioning of a server farm
-Platform Provisioning using Web PI
-Application Provisioning using Web Deploy
-Policy-based Provisioning
-Installation of additional platform components and content
-Reduced down time with load balancing integration using ARR
-Up-to-date status and trace logs of server farm servers
-Extensible model that allows you to write additional providers
-You can learn more about it at http://learn.iis.net/page.aspx/905/microsoft-web-farm-framework-20-beta-for-iis-7/
-Younus
The AVP Nivea Tour Hermosa Beach Open volleyball tournament is being broadcast today with a new Microsoft Silverlight player by Ooyala. As with past AVP events, this tournament is again being delivered using IIS Smooth Streaming. The new Ooyala player, pictured below, includes four live streams that you can switch between instantly. Check out the tournament, the player, and the Smooth Streaming experience at http://bit.ly/avpTV.
To learn more about the technology:
Well, the week is over so I thought I would quickly share some links.
Vijay has posted a great article on how to install the SP1 beta on our standalone Hyper-V Server product. So now you really have no excuse to not be looking at dynamic memory / RemoteFX (both of which are supported on Hyper-V Server).
Meanwhile – the Virtualization launch page on TechNet (http://technet.microsoft.com/en-us/bb802511.aspx) has been updated with a “Hyper-V Tools” section that gives you pointers to a number of home grown tools from Microsoft for working with Hyper-V:
Cheers,
Ben
With the release of Beta of Service Pack 1 for Windows Server 2008 R2 a number of you have asked about Service Pack 1 for the standalone Microsoft Hyper-V Server 2008 R2, and whether the new capabilities of Dynamic Memory and RemoteFX will be available for it. Absolutely, both Dynamic Memory and RemoteFX have been developed for Microsoft Hyper-V Server 2008 R2 as well.
In order to get these capabilities for the Microsoft Hyper-V Server 2008 R2, you will need to install the Beta of Service Pack 1 on Microsoft Hyper-V Server 2008 R2. Note that the first wave of the Service pack installer is only in 5 languages (English, French, German, Japanese and Spanish), so if you try and apply the package to Microsoft Hyper-V Server 2008 R2 (which has 11 language packs installed by default) you will rightly see the following screen
It’s pretty simple to uninstall these language packs to thereafter install the Service pack. In order to uninstall the language packs, there is nifty utility included (lpksetup.exe). Launch this from an administrator’s command prompt and select “Uninstall display languages”.
On the next screen, select the all languages other than the five (English, French, German, Japanese and Spanish). Of course if you want to save some additional disk space, you can uninstall other languages as well and leave just the language that you use in your environment, Click next and let the tool do its job. Thereafter you can apply Service Pack 1. Enjoy!!
Vijay Tewari
Principal Program Manager, Windows Server Virtualization
Please join me for an interactive webcast that provides an overview of current and upcoming features in IIS Media Services. You can join in the live session or view it on-demand. Here is the official abstract…
You may have already heard how broadcasters worldwide are using IIS Media Services and Microsoft Silverlight to stream live events such as Sunday Night Football, the World Cup, the French Open, and the 2010 Winter Olympics. Have you also heard about the newest media server features from Microsoft, such as IIS Smooth Streaming support for iPhone & iPad, Smooth Multicast, and one-click PlayReady DRM support? Would you like to learn how you can use IIS Media Services to better reach your audience?
The team at Microsoft just released the Beta of IIS Media Services 4.0, and are busy working on the next release. Attend this session with Chris Knowlton, Senior Product Manager at Microsoft, to learn more about what is available today, and what is coming later this year, in IIS Media Services.
Topics to be covered include:
Be sure to bring your questions, as there will be Q&A time in the second half.
MODERATOR
Dan Rayburn
EVP
Streaming Media
PRESENTER
Chris Knowlton
Senior
Product Manager
Microsoft
Back in February we started working with partners and TAP customers on a toolkit to create private cloud environment. See our February blog about the Dynamic Infrastructure Toolkit for System Center.
A couple updates were announced Monday at our Worldwide Partner Conference. First, the tool has a new name: System Center Virtual Machine Manager Self-Service Portal 2.0 (the portal). Second, we reached the release candidate milestone. You can download it here. A release candidate milestone means it’s feature complete, and is nearing completion. We expect the portal to be finalized and released to the web in calendar Q4.
You can read more about the self-service portal tool over at the System Center team blog (here). Here's an excerpt:
The self-service portal provides the following features that are exposed through a web-based user interface:
Patrick
If you are thinking about trying out dynamic memory in the Windows Server 2008 R2 SP1 beta release – here are some handy resources to read before you get going:
Dynamic Memory Technical Overview whitepaper
This paper talks about what dynamic memory is, what it does and how it does it. It is a good read for those curious to understand what is happening under the covers.
Hyper-V Dynamic Memory Evaluation Guide
This article steps you through the process of setting up SP1 and enabling dynamic memory. It also gives you some good tips on configuration and troubleshooting.
http://technet.microsoft.com/en-us/library/ff817651(WS.10).aspx
Windows Server 2008 R2 Service Pack 1 – TechNet Center
For all things “Windows Server 2008 R2 Service Pack 1” related – the TechNet Center has you covered.
http://technet.microsoft.com/en-us/library/ff817647(WS.10).aspx
Hyper-V: Dynamic Memory Survival Guide
The TechNet Wiki also has a “Dynamic Memory Survival Guide” article with some extra links.
Cheers,
Ben
======================================================
Preamble: The point of this series, and the spirit in which it is written, is to take a holistic approach at the issues facing our customers, discuss the complexities with regard to memory management and explain why we’re taking the approach we are with Hyper-V Dynamic Memory. This isn’t meant to criticize anyone or technology, rather to have an open and transparent discussion about the problem space.
======================================================
In the past few blogs we’ve covered Page Sharing and Second Level Paging. Today, let’s dig into what we’re delivering with Hyper-V Dynamic Memory in Windows Server 2008 R2 SP1 as well as our free hypervisor Microsoft Hyper-V Server 2008 R2 SP1. So what is Dynamic Memory?
Dynamic memory is an enhancement to Hyper-V R2 which pools all the memory available on a physical host and dynamically distributes it to virtual machines running on that host as necessary. That means based on changes in workload, virtual machines will be able to receive new memory allocations without a service interruption through Dynamic Memory Balancing. In short, Dynamic Memory is exactly what it’s named.
Let’s dive in an explain how all this works starting with the new Dynamic Memory settings. Here are the new settings available on a per virtual machine basis. Here’s a screenshot:
Dynamic Memory In Depth
With Hyper-V (V1 & R2), memory is statically assigned to a virtual machine. Meaning you assign memory to a virtual machine and when that virtual machine is turned on, Hyper-V allocates and provides that memory to the virtual machine. That memory is held while the virtual machine is running or paused. When the virtual machine is saved or shut down, that memory is released. Below is a screenshot for assigning memory to a virtual machine in Hyper-V V1/R2:
With Hyper-V Dynamic Memory there are two values: Startup RAM and Maximum RAM and it looks like this:
Startup RAM is the initial/startup amount of memory assigned to a virtual machine. When a virtual machine is started this is the amount of memory the virtual machine will be allocated. In this example, the virtual machine will start with 1 GB.
The Maximum RAM setting is the maximum amount of memory that the guest operating system can grow to, up to 64 GB of memory (provided the guest OS supports that much memory). Based on the settings above, here’s an example of what the memory allocation could look like over a workday...
As you can see, the workload is dynamically allocated memory based on demand.
Next, let’s look at the Memory Buffer.
Memory Buffer: In one of the earlier blogs posts in this series, we discussed the complexity of capacity planning in terms of memory. To summarize, there is no “one size fits all” answer for every workload as deployments can vary based on scale and performance requirements. However, one consistent bit of feedback was that customers always felt more comfortable by providing additional memory headroom ‘just in case.’
We completely agree.
The point being you want to avoid a situation where a workload needs memory and Hyper-V has to start looking for it. You want some set aside memory as buffer for these situations, especially for bursty workloads.
The Dynamic Memory buffer property specifies the amount of memory available in a virtual machine for file cache purposes (e.g. SuperFetch) or as free memory. The range of values are from 5 to 95. A target memory buffer is specified in percentages of free memory and is based on current runtime memory usage. A target memory buffer percentage of 20% means that in a VM where 1 GB is used, 250 MB will be ‘free’ (or available) ideally for a total amount of 1.25 GB in the virtual machine. By default, Hyper-V Dynamic Memory uses a default buffer allocation of 20%. If you find this percentage is too conservative or not conservative enough, you can adjust this setting on the fly while the virtual machine is running without downtime.
This takes us to the last Dynamic Memory setting, Memory Priority.
Memory Priority: By default, all virtual machines are created equal in terms of memory prioritization. However, it’s very likely you’ll want to prioritize memory allocation based on workload. For example, I can see a scenario where one would give domain controllers greater memory priority than a departmental print server. Memory Priority is a per virtual machine setting which indicates the relative priority of the virtual machine's memory needs measured against the needs of other virtual machines. The default is set to ‘medium’. If you find that you need to adjust this setting, you can adjust this setting on the fly while the virtual machine is running without downtime.
Dynamic Memory Works Over Time With A Few VMs…
I’ve explained the per VM settings and shown how this would work with a single virtual machine, but how does Dynamic Memory work with multiple virtual machines? Below is an example to show just how Dynamic Memory works. I’ve kept this example simple on purpose to avoid confusion. Let’s assume I have a small server with 8 GB of memory. I’m going to run three virtual machines, one from Finance, Sales and Engineering. Each virtual machine is given the same settings: Startup RAM = 1 GB and Maximum RAM = 4 GB. With these settings, each virtual machine will start 1 GB and can grow up to 4 GB as needed.
Virtual Machine Start. On the left graphic below, you can see three virtual machines starting. Each virtual machine is consuming 1 GB of memory for Startup RAM. On the right graphic below, you can see the total amount of memory being used in the entire system ~3 GB.
15 minutes later. The Finance VM is running reports while the Engineering VM starts an analysis job. With Dynamic Memory, the Finance VM is allocated 3 GB of memory, the Engineering VM is allocated 2 GB of memory while the Sales VM remains at 1 GB. System wide, the server is now using 6 GB of its 8 GB or 75% of the total physical memory.
30 minutes later. The Finance VM is running reports while the Engineering VM starts an analysis job. With Dynamic Memory, the Finance VM is allocated 2 GB of memory, the Engineering VM is allocated 3.5 GB of memory while the Sales VM remains at 1 GB and a fourth VM, Service VM is started using 1 GB of memory. System wide, the server is now using 7.5 GB of its 8 GB of memory for VMs. At this point the server is fully allocated in terms of memory and is using its memory most efficiently.
At this point, the question I’m always asked is, “What now? What if a virtual machine still needs more memory? Does the parent start paging?”
No.
At this point, Dynamic Memory will attempt to reclaim pages from other virtual machines. However, in the absolute worst case where no free pages are available, the guest operating system will page as needed, not the parent. This is important because the guest operating system knows best what memory should and shouldn’t be paged. (I covered this back in Part 5...) Finally, when free memory does become available from other virtual machines, Dynamic Memory will move memory as needed.
Over-Subscription & the CPU Analogy
One argument we routinely hear is that there’s nothing wrong with over-subscription. Customers tell us that they take a bunch of physical servers, virtualize them and run the server with over-subscribed CPUs without issue, so why is this an issue with memory?
Great analogy, wrong conclusion.
Example 1: Suppose you are running 8 physical servers at 10% utilization, virtualize them and run those 8 virtual machines on a single server for a total of ~85% utilization. In this example, you’re not over-subscribing the CPU and the server still has 15% CPU headroom.
Over-subscription is this…
Example 2: Suppose you are running 8 physical servers at 50% utilization, virtualize them and run those 8 virtual machines on a single server. The single server would max out at 100% utilization, but because the workloads require ~400% utilization, performance would be terrible. What would you do? Move virtual machines to other servers of course to avoid over-subscription. In short, what you really want to do is maximize resource utilization to get the best balance of resources and performance.
That’s exactly what we’re doing with Hyper-V Dynamic Memory.
Customer Requirements & Dynamic memory
When it comes to virtualization and memory, virtualization users have repeatedly provided the following requirements:
You got it. Here’s why we’ve chosen the path we have with Dynamic Memory.
Cheers,
Jeff Woolsey
Principal Group Program Manager
Windows Server & Cloud, Virtualization
P.S. Here are the links to all of the posts in this blog series:
Ever since IIS7 shipped in Vista I’ve been asked the question: how can I install it on Windows XP? Until now, that hasn’t been possible. With the recent release of WebMatrix, you can now install IIS Developer Express – which is based on the latest IIS7x codebase - on any supported Windows operating system including Windows 7, Windows Vista SP1+, Windows XP SP3+, Windows Server 2003 SP2+, Windows Server 2008, Windows Server 2008 R2.
IIS Developer Express supports all of the latest IIS7 modules, including URL Rewrite, FastCGI, etc. It support Classic ASP, PHP and of course ASP.NET development, including integrated pipeline.
WebMatrix provides more than just the IIS7x Web server, it also includes a lightweight tool for Web development, an embedded database, built-in SEO reporting and optimization and the new simplified syntax – Razor - for building ASP.NET Web pages.
For more information on how to get started with WebMatrix, visit the Learn page, read about top Features, and get oriented with the new Workspaces inside the tool. Then Download WebMatrix today and try it out!
At TechEd this year we announced that dynamic memory would be supported for virtual machines that were running the following guest operating systems:
But not all of these operating systems will support dynamic memory with the beta release. Only the following operating systems are supported with the beta release:
The following guest operating systems will be supported after the beta release:
Cheers,
Ben
Starting today you can download the Windows Server 2008 R2 SP1 beta release. For Hyper-V this specifically means that you can start evaluating the following new Hyper-V features:
You can register to download the beta here: http://www.microsoft.com/windowsserver2008/en/us/sp1.aspx
Note that while registration is required, there is no approval process and you will get immediate access to the bits.
Cheers,
Ben
Over at the Windows Server Division blog, Oliver says the beta is available to download. Oliver focuses on Windows Server 2008 R2 sp1, but Windows 7 sp1 beta is also available. All of this was announced today at our Worldwide Partner Conference in Washington, D.C.
Here's an excerpt from Oliver's post:
The two most important developments in SP1 for Windows Server 2008 R2 are:
Dynamic memory lets Hyper-V administrators pool available memory on a physical host and dynamically distribute it to any virtual machine(s) running on that host. So as the workloads on that physical workload change, requiring more or less memory, Dynamic Memory will let administrators change the memory allocation to their VMs without service interruption. For a deeper look at Dynamic Memory check here.
RemoteFX enhances Microsoft desktop virtualization. RemoteFX lets Windows Server 2008 R2 administrators provide an even richer and user-transparent desktop virtualization experience. RemoteFX delivers rich content, independent of any graphics stack, to server-hosted virtual and session-based desktops, allowing them to support any screen content, including full-motion video, portable graphics stacks such as Silverlight, and 3D applications. Because it can use virtualized graphics on the server and advanced codecs , RemoteFX can deliver those experiences to a much wider array of target devices, including standard desktops and laptops but also an emerging slew of thin clients. You'll also be able to forward the USB ports of the local client to the virtual machine being accessed on the device - just like you can forward the local printer over RDP today. [UPDATE - see Max's new blog post on partner support for RemoteFX]
Make sure you check out the new SP1 Beta Resource page on Microsoft.com as well as the TechNet SP1 page -- and don't forget to grab the download here.
Patrick