Thursday, 17 November 2011

Now Available! Updated Windows Azure SDK & Windows Azure HPC Scheduler SDK

A new version of the Windows Azure SDK, a new Windows Azure HPC Scheduler SDK, and an updated Windows Azure Platform Training Kit.  Whether you are already using Windows Azure or looking for the right moment to get started, these updates make it easier than ever to build applications on Windows Azure. 

Highlights:
  • Windows Azure SDK (November 2011)—Multiple updates to the Windows Azure Tools for Visual Studio 2010 that simplify development, deployment, and management on Windows Azure. The full Windows Azure SDK can be downloaded via the Web Platform installer here.
  • Windows Azure HPC Scheduler SDK— Works in conjunction with the Windows Azure SDK and includes modules and features to author high performance computing (HPC) applications that use large amounts of compute resources in parallel to complete work.  The SDK is available here for download.
  • Windows Azure Platform Training Kit—Includes hands-on labs, demos, and presentations to help you learn how to build applications that use Windows Azure. Compatible with the new Windows Azure SDK and Windows Azure Tools for Visual Studio 2010. The training kit can be downloaded here.
Here are the details:
The Windows Azure SDK for .NET includes the following new features:
  • Windows Azure Tools for Visual Studio 2010
    • Streamlined publishing: This makes connecting your environment to Windows Azure much easier by providing a publish settings file for your account.  This allows you to configure all aspects of deployments, such as Remote Desktop (RDP), without ever leaving Visual Studio.  Simply use the Visual Studio publishing wizard to download the publish settings and import them into Visual Studio.  By default, publish will make use of in-place deployment upgrades for significantly faster application updates.
    • Multiple profiles: Your publish settings, build config, and cloud config choices will be stored in one or more publish profile MSBuild files. This makes it easy for you and your team to quickly change all of your environment settings. 
    • Team Build: The Windows Azure Tools for Visual Studio 2010 now offer MSBuild command-line support to package your application and pass in properties.  Additionally, they can be installed on a lighter-weight build machine without the requirement of Visual Studio being installed.
    • In-Place Updates: Visual Studio now allows you to make improved in-place updates to deployed services in Windows Azure. For more details visit http://blogs.msdn.com/b/windowsazure/archive/2011/10/19/announcing-improved-in-place-updates.aspx
    • Enhanced Publishing Wizard: Overhaul of publishing experience to sign-in, configure the deployment, and review the summary of changes
    • Automatic Credential Management Configuration: No longer need to manually create or manage a cert
    • Multiple Subscription Deployment Management: Makes it easier to use multiple Windows Azure subscriptions by selecting the subscription you want to use when publishing within Visual Studio.
    • Hosted Service Creation: Create new hosted services within Visual Studio, without having to visit the Windows Azure Portal.
    • Storage Accounts: Create and configure appropriate storage accounts within Visual Studio (no longer need to do this manually)
    • Remote Desktop Workflow: Enable by clicking a checkbox and providing a username/password – no need to create or upload a cert
    • Deployment Configurations: Manage multiple deployment environment configurations
    • Azure Activity Log: More information about the publish and virtual machine initialization status
For more information on Windows Azure Tools for Visual Studio 2010, see What’s New in the Windows Azure Tools.
  • Windows Azure Libraries for .NET 1.6
    • Service Bus & Caching: Service Bus and caching client libraries from the previous Windows Azure AppFabric SDK have now been updated and incorporated into the Windows Azure Libraries for .NET to simplify the development experience.
    • Queues:
      • Support for UpdateMessage method (for updating queue message contents and invisibility timeout)
      • New overload for AddMessage that provides the ability to make a message invisible until a future time
      • The size limit of a message is raised from 8KB to 64KB
      • Get/Set Service Settings for setting the analytics service settings
  • Windows Azure Emulator
    • Performance improvements to compute & storage emulators.
Click here to download the Windows Azure SDK via the Web Platform Installer.
Windows Azure HPC Scheduler SDK
Working in conjunction with the Windows Azure SDK for .NET, the Windows Azure HPC Scheduler SDK contains modules and features that developers can use to create compute-intensive, parallel applications that can scale in Windows Azure. The Windows Azure HPC Scheduler SDK enables developers to define a Windows Azure deployment that includes: 
  • Job scheduling and resource management
  • Web-based job submission
  • Parallel runtimes with support for MPI applications and WCF services
  • Persistent state management of job queue and resource configuration

Monday, 14 November 2011

12 Cool HTML5 Geolocation Ideas

Knowing the location of your users can help boost the quality of your Web site and the speed of your service. In the past, users had to actively input their location and submit it to a site, either by typing it, using a long drop-down list, or clicking a map. Now, with the HTML5 Geolocation API, finding your users (with their permission) is easier than ever. Figure 1 shows a Web site using geolocation to determine the location of a user, represented in latitude and longitude. The numbers can easily be translated into something more understandable, such as the street name or city.

Showing a User’s Location with the Help of Geolocation
Figure 1 Showing a User’s Location with the Help of Geolocation

Imagine how useful your site could be if it provided online timetables for all public transportation in a particular city. Using geolocation, the site could recommend optimal travel routes to get people where they’re going as quickly as possible. Desktop users could get their start location sorted by proximity to their computer. Mobile users trying to get home after a night out could quickly find the closest bus stop within walking distance. These possibilities and more are just an API away.

Scenarios for Using the Geolocation API

Here are 12 simple scenarios that illustrate how a Web site can accommodate users and customize their experience by taking their location into account. Some of them might seem obvious, but the small things often make the biggest differences.
  1. Public transportation sites can list nearby bus stops and metro locations.
  2. Late night out? Taxi or car service Web sites can find where you are, even if you don’t know.
  3. Shopping sites can immediately provide estimates for shipping costs.
  4. Travel agencies can provide better vacation tips for current location and season.
  5. Content sites can more accurately determine the language and dialect of search queries.
  6. Real estate sites can present average house prices in a particular area, a handy tool when you’re driving around to check out a neighborhood or visit open houses.
  7. Movie theater sites can promote films playing nearby.
  8. Online games can blend reality into the game play by giving users missions to accomplish in the real world.
  9. News sites can include customized local headlines and weather on their front page.
  10. Online stores can inform whether products are in stock at local retailers.
  11. Sports and entertainment ticket sales sites can promote upcoming games and shows nearby.
  12. Job postings can automatically include potential commute times.

How Geolocation Works

Technically speaking, a PC or a mobile device has several ways to find out its own location (hopefully, in the same place as the user).
  • GPS is the most accurate way to determine positioning, but it’s less energy efficient than other options and sometimes requires a lengthy startup time.
  • A-GPS (assistive GPS) uses triangulation between mobile phone towers and public masts to determine location. Although not as precise as GPS, A-GPS is sufficient for many scenarios.
  • Mobile devices that support Wi-Fi access points can use hotspots to determine the user’s location.
  • Stationary computers without wireless devices can obtain rough location information using known IP address ranges.
When it comes to sharing the physical location of users, privacy is a serious concern. According to the Geolocation API, “user agents must not send location information to Web sites without the express permission of the user.” In other words, a user must always opt in to share location information with a Web site. Figure 2 shows a typical message requesting a user’s permission. For more information about ensuring security with the Geolocation API, see Security and privacy considerations.
Sample User Permission Request
Figure 2 Sample User Permission Request

Three Simple Functions

Are you ready to incorporate geolocation into your Web site? You need to learn only three simple functions to master the entire API, which resides within the geolocation object, an attribute of the Navigator object. (Learn more about the geolocation object here.)
The getCurrentPosition function gets the user location one time. It takes two arguments in the form of callbacks: one for a successful location query and one for a failed location query. The success callback takes a Position object as an argument. It optionally takes a third argument in the form of a PositionOptions object.
navigator.geolocation.getCurrentPosition(locationSuccess, locationFail);
 function locationSuccess(position) {
        latitude = position.coords.latitude;
        longitude = position.coords.longitude;
 }
 function locationFail() {
       alert(‘Oops, could not find you.’);
 }
The Position object contains the properties shown in Figure 3.
Figure 3 Properties of the Position Object

PropertyValueUnit
coords.latitudedoubledegrees
coords.longitudedoubledegrees
coords.altitudedouble or nullmeters
coords.accuracydoublemeters
coords.altitudeAccuracydouble or nullmeters
coords.headingdouble or nulldegrees clockwise
coords.speeddouble or nullmeters/second
timestampDOMTimeStamplike the Date object

The watchPosition function keeps polling for user position and returns an associated ID. The device determines the rate of updates and pushes changes in location to the server.
The clearWatch function stops polling for user position. It takes the ID of watchPosition as an argument.

Presenting Location Data: Geodetic or Civic

There are two ways of presenting location data to the user: geodetic and civil. The geodetic way of describing position refers directly to latitude and longitude. The civic representation of location data is a more human readable and understandable format.
Each parameter has both a geodetic representation and a civic representation, as illustrated in Figure 4.
Figure 4 Examples of Geodetic and Civic Data

AttributeGeodeticCivic
Position59.3, 18.6Stockholm
Elevation10 meters4th floor
Heading234 degreesTo the city center
Speed5 km / hWalking
Orientation45 degreesNorth-East

When using the Geolocation API, you get the geodetic data back from the functions. Presenting location data in raw numbers is rarely friendly or useful. Online services, such as Bing Maps and Yahoo GeoPlanet can help you translate between the two presentation modes.

Browser Support

Internet ExplorerFirefoxChromeOperaSafariiPhoneAndroidWindows Phone
Internet Explorer 9+Firefox
3.5+
Chrome
5+
Opera
10.6+
Safari
5+
iPhone
3+
Android
2+
Windows Phone 7.5+
Figure 5 Browsers that support the HTML5 Geolocation API
Even though geolocation works in all the major browsers (Figure 5), you still have to take into account the scenarios in which location can’t be provided. For example, a user might be running an older browser or have hardware that doesn’t include positioning devices, or simply might not want to automatically share location information. The location detected could even be incorrect. In such situations, you should always include an alternative or a fallback method so users can enter or change their location manually.

Geolocation in Action

Copy and paste the example code in Figure 6 and save it as an HTML file. Open it in your favorite browser and follow the two-step instructions on the Web site to see the Geolocation API draw a blue circle around your current location.
Figure 6 Using the Geolocation API
<!doctype html>
<html lang="en">
<head>
    <title>Geolocation demo</title>
    <meta charset="utf-8" />
</head>
<body>
    <h1>Geolocation demo</h1>
    <p>
        Find out approximately where you are.
    </p>
    <p>
        Step 1: <button onclick="GetMap()">Show map</button>
    </p>
    <p>
        Step 2: When prompted, allow your location to be shared to see Geolocation in action
    </p>
    <div id="mapDiv" style="position: relative; width: 800px; height: 600px;"></div>
    <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script>
    <script type="text/javascript">
        var map = null;
        function GetMap() {
            /* Replace YOUR_BING_MAPS_KEY with your own credentials.
                Obtain a key by signing up for a developer account at
                http://www.microsoft.com/maps/developers/ */
            var cred = "YOUR_BING_MAPS_KEY";
            // Initialize map
            map = new Microsoft.Maps.Map(document.getElementById("mapDiv"),
                { credentials: cred });
            // Check if browser supports geolocation
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(locateSuccess, locateFail);
            }
            else {
                alert('I\'m sorry, but Geolocation is not supported in your current browser. Have you tried running this demo in IE9?');
            }
        }
        // Successful geolocation
        function locateSuccess(loc) {
            // Set the user's location
            var userLocation = new Microsoft.Maps.Location(loc.coords.latitude, loc.coords.longitude);
            // Zoom in on user's location on map
            map.setView({ center: userLocation, zoom: 17 });
            // Draw circle of area where user is located
            var locationArea = drawCircle(userLocation);
            map.entities.push(locationArea);
        }
        // Unsuccessful geolocation
        function locateFail(geoPositionError) {
            switch (geoPositionError.code) {
                case 0: // UNKNOWN_ERROR
                    alert('An unknown error occurred, sorry');
                    break;
                case 1: // PERMISSION_DENIED
                    alert('Permission to use Geolocation was denied');
                    break;
                case 2: // POSITION_UNAVAILABLE
                    alert('Couldn\'t find you...');
                    break;
                case 3: // TIMEOUT
                    alert('The Geolocation request took too long and timed out');
                    break;
                default:
            }
        }
        // Draw blue circle on top of user's location
        function drawCircle(loc) {
            var radius = 100;
            var R = 6378137;
            var lat = (loc.latitude * Math.PI) / 180;
            var lon = (loc.longitude * Math.PI) / 180;
            var d = parseFloat(radius) / R;
            var locs = new Array();
            for (x = 0; x <= 360; x++) {
                var p = new Microsoft.Maps.Location();
                brng = x * Math.PI / 180;
                p.latitude = Math.asin(Math.sin(lat) * Math.cos(d) + Math.cos(lat) * Math.sin(d) * Math.cos(brng));
                p.longitude = ((lon + Math.atan2(Math.sin(brng) * Math.sin(d) * Math.cos(lat), Math.cos(d) - Math.sin(lat) * Math.sin(p.latitude))) * 180) / Math.PI;
                p.latitude = (p.latitude * 180) / Math.PI;
                locs.push(p);
            }
            return new Microsoft.Maps.Polygon(locs, { fillColor: new Microsoft.Maps.Color(125, 0, 0, 255), strokeColor: new Microsoft.Maps.Color(0, 0, 0, 255) });
        }
    </script>
</body>
</html>
If you run the code as is, your location will be shown along with a message about invalid credentials, as shown in Figure 7. To get a result without the warning text (Figure 8), you need to replace YOUR_BING_MAPS_KEY with your own key, which is generated when you sign up for a Bing Maps Developer account.
Geolocation Demo Mapping a Location without a Valid Key
Figure 7 Geolocation Demo Mapping a Location without a Valid Key
Geolocation Demo Mapping a Location after Inserting a Valid Key
Figure 8 Geolocation Demo Mapping a Location after Insertinga Valid Key

Thursday, 10 November 2011

Adobe confirms Flash Player is dead for mobile devices - what are your thoughts on it !!!

Tuesday, 8 November 2011

I like Jailbreakers they unearth hidden panorama mode in iOS 5 camera app


Somewhere deep within the bowels of iOS 5 lurks a panoramic camera function, and hacker Conrad Kramer has unlocked it. The trick, according to Kramer (AKA Conradev), is to set the "EnableFirebreak" key to "Yes" within an iOS preference file. Alternatively, you could just grab fellow hacker Grant Paul's Firebreak tweak, which just hit the Cydia storefront this morning.

Once installed on your jailbroken phone, Firebreak will allow you to take full panoramic shots directly from the iOS interface, as pictured above in Paul's screenshot. No word yet on if or when Apple plans on flipping this function live, but in the meantime, you can check out the links below for more details.

http://www.appleinsider.com/articles/11/11/07/ios_5_camera_app_contains_hidden_panorama_mode.html

Monday, 31 October 2011

Windows 8 Server Developer Preview

PREVIEW

What's clear is that Windows 8 Server isn't a revolutionary change. Instead, it's an evolution that builds on features introduced in Windows Server 2008, optimising it for private cloud operation and for operation at scale, while retaining the features that small and medium-sized organisations need. It's a balancing act that's a big challenge for Microsoft, and one the company needs to handle carefully if Windows Server is to continue to be successful.
This, of course, is pre-beta code — although it's pretty much beta quality. We did have some minor crashes, with user interface elements restarting and reloading quickly. If you're going to spend some time with the Windows 8 Server developer preview, we wouldn't recommend using it for production purposes, even if its new features are just what you need. With development still underway we expect plenty of changes between now and release, even if they are mostly fit-and-finish user interface tweaks.

No more server GUI?
Perhaps the biggest change is one that should simplify the Windows 8 Server line-up. Instead of a separate UI-less Server Core release, all versions of Windows 8 Server will be able to run in any of three different UI modes. One is the familiar Windows GUI, while another is the UI-less command-line approach that's been used in Server Core; a new third role removes the graphical shell and browser, while still letting you run Server Manager and use Microsoft Management Console snap-ins. Server Core will be the preferred installation for Windows 8 Server, with the shell an optional component that can be added and removed as required. Removing UI components from deployed servers should reduce the attack surface, helping protect your server infrastructure. Microsoft's aim for Windows 8 Server is a server that has just the functions necessary to run your operations — not only reducing security risks, but also reducing the need for patching and for planned downtime.

The key to this change is a massive increase in the number of available PowerShell cmdlets — over 2,300. That means you can use PowerShell to handle almost all system management tasks — both locally and remotely. Server UI is now a thin layer on top of PowerShell commands, with every action triggering PowerShell actions. You can also use management tools to administer several servers at once, with remote PowerShell calls on other machines. There will be a Windows 8 Server version of RSAT (Remote Server Administration Tools) that can be used to manage servers from a desktop PC, while a PowerShell history will allow you to copy cmdlets used by Windows' management tools and then customise them for use in your own management scripts.


The heart of Windows 8 Server is the Server Manager Dashboard, which runs on a standard desktop and gives you a Metro-like way of working with one or many servers

Microsoft is giving Windows 8 Server a new Server Manager, with a very Metro-like look and feel, that incorporates lessons learned from the System Center management tools. Server Manager is now a dashboard that lets you see information from all the servers you manage, quickly colour-coding the views to show you where action is required, with information displayed in role-based tiles. You can use filtering tools in the dashboard to quickly reduce noise (for example temporarily removing alerts from a server that may be down for hardware or software maintenance). The Server Manager lets you quickly add additional servers, using Active Directory or by IP address, automatically updating the server numbers and roles on the dashboard. You can view information using single server views, or aggregate several servers and see all the relevant events in a single view.

There's no Action Pane in the new server manager. That's partly due to changes in screen resolutions, with large wide-screen displays becoming increasingly common. Instead, you interact directly with tiles, with tiles for specific services and the ability to group by server with queries and filters that can be saved and re-used. It's an approach that should simplify working with large server farms, while still making it easy to work with one or two machines in a small office. A new version of the PowerShell scripting environment includes IntelliSense and makes it simpler to build and test your management scripts.

Microsoft has made significant changes to the PowerShell stack, with everything remotable and with no calls to private APIs. More importantly there's also support for long-running operations on tens, hundreds or even thousands of machines. Support for workflow and complex tasks means that PowerShell can be used to handle remote deployments, and for sites working with virtual servers, it'll be possible to use it to work with offline virtual hard disks. If you're using PowerShell to handle deployments, scripts can be exported and used via Windows 8 Server's automation tools.

One of the key features of WMI (Windows Management Instrumentation) in Windows 8 Server is support for standards. Instead of working with custom interfaces, PowerShell will use standards to communicate with applications and hardware — for example using SMI-S (Storage Management Initiative - Specification) to work with storage arrays from multiple vendors. Microsoft has also made it easier to write WMI-providers, so that third parties can add their own tools for use with PowerShell — including task-oriented abstractions that simplify handling complex actions. PowerShell cmdlets in Windows 8 Server can be used to work with REST and JSON interfaces, simplifying interactions with web services.

Powering the private cloud: Hyper-V v3
With Microsoft describing Windows 8 Server as a 'cloud-ready OS', the Windows hypervisor is increasingly important. Intended for both on-premises and hosted private clouds, Hyper-V v3 adds native PowerShell support, making it easier to automate virtualised machines, with tools for handling a range of different workloads and for providing continuous availability. Certainly the new Hyper-V is looking impressive. According to Microsoft it can run on machines with up to 160 logical processors (cores and threads), with up to 2TB of physical memory, and with each hosted VM having up to 32 virtual processors and up to 512GB of memory. There's no longer a ratio between logical and virtual processors, and you can run as many VMs as your hardware will support. There are also tools that optimise for NUMA (Non-Uniform Memory Access) architectures, making virtual machines more efficient on large and powerful servers.

Hyper-V's NUMA support is important. Non-uniform memory access architectures partition cores and memory into nodes, using memory locations relative to processors to reduce latency. High-performance applications can detect this, and optimise for performance. With the current generation of hypervisors there's no relationship between VMs and NUMA, so performance can be reduced. Using Hyper-V v3's Guest NUMA mode there's a mapping between the physical arrangement of processors and memory and VMs, so applications can detect that they're running on NUMA systems and optimise appropriately. The result is impressive, with almost linear scaling as additional virtual processors and memory are added to a virtual machine.

Private clouds must be stable, and must be able to adapt to hardware failures and continue running until maintenance downtime can be arranged. Hyper-V v3 adds support for WHEA, the Windows Hardware Error Architecture. This detects errors in memory, and handles them to ensure that applications continue running. With multiple VMs on a single server, a WHEA event will suspend all the VMs and determine if the error can be isolated to a single VM; if it can be, WHEA will terminate that VM, mark the memory page as bad, and restart the affected VM while resuming the paused VMs.

That means that a memory fault won't take down an entire server, just the one affected VM. Similarly, predictive failure analysis will use the error count features of ECC memory to mark pages that are showing signs of failure, taking them offline and warning system administrators.

Microsoft has also improved Hyper-V's storage support, with tools for handling scalable virtual disks and metering storage use, plus a new VHDX virtual disk format. Hyper-V will now support virtual fibre channel connections using SMB, along with tools that allow you to merge VHDs and to create parent disks without any downtime. VHDX virtual disks can be larger than 2TB (there's currently a 16TB limit) and have better performance, as well as using logs to reduce the risk of corruption. If you're using a SAN you can offload data transfer to the SAN, significantly reducing network and CPU load for large data transfers and live migrations. Other new storage features mean that cluster volumes can be encrypted using BitLocker, making it easier to secure data in hosted private clouds.

Although WHEA support makes individual VMs more reliable, there's also improved support for clusters. You can use this to build continuously available file servers, using fibre channel for high availability. There's support for more than 32 nodes and over 4,000 VMs in a cluster, with live migration and failover clustering, and I/O redundancy — including network load balancing and multichannel SMB. You're going to need this type of technology to build a large-scale private cloud, and it's not suitable for everyone.

On a smaller scale, Hyper-V can also handle disaster recovery, with asynchronous replication to a remote site. It's easy to set up a Hyper-V replica — all you need do is send a snapshot on a disk to a remote site and then start up replication — so you're ready to go a lot more quickly than if you had to upload a complete copy of your server to a recovery site. It's a very flexible approach, with support for active-passive failover, as well as active-active links between two sites, and for using hosted sites or branch offices as shared recovery sites. There are no limits; you can have replicas of as many VMs as you want. You can speed things up still further by using a separate virtual disk for page files, which don't need to be replicated to recovery sites. Failover to a recovery site will automatically inject the correct IP address settings into a new VM as well as updating your DNS, so you can be up and running on a new network.

Migrating VMs is a lot easier, too — all you need is some Ethernet — and you can move the history of your VM workload with the VM. Once you've moved a VM you can use the same PowerShell to script and batch moves for multiple VMs, with support for high- and low-priority VMs. Shared-nothing live migration simplifies setting up new servers, and helps smaller businesses build a virtual infrastructure more quickly.

At a lower level, there's support for multiple tenancy on Hyper-V's network switch, with tools for handling NIC teaming and for managing quality of service — as well as supporting private VLANs and networking access controls. The switch is now extensible, with the ability for third parties to add new functions — either as listeners, or for working with the network traffic directly. It's easy to imagine extensions to the Hyper-V network switch that add data loss prevention features, or enhanced intrusion detection. There are three types of extension, capture, filtering and forwarding, and there will be a Windows Logo programme to certify third-party extensions.

Windows 8 Server networking
Treating Windows 8 Server as the building block for cloud services has meant significant changes to the way it handles networking, focusing on handling multi-tenancy. Designing networks that work for separate isolated systems running on the same physical infrastructure is very different from traditional networks, but the techniques and tools work well for both approaches.

One change is the introduction of DHCP Guard, which blocks virtual machines from exposing services to other VMs on other virtual networks. Isolation is important if you're creating a multi-tenant network, as is performance, and there are now tools that control the traffic sent by virtual machines. You can define both minimum and maximum bandwidth guarantees, allowing you to offer a level of performance that can be exceeded if (and only if) there is spare capacity on the network. As these controls are managed by the Hyper-V network switch, you can use them on any and all VMs, with just a PowerShell cmdlet — making sure you manage your SLAs.

Virtual networks in Windows 8 Server mean that you can have multiple VMs on a physical server, operating as if they're on different hardware, giving the illusion of running on a dedicated network. This makes your services much more portable, making it possible to move from on-premises to the cloud without changing any network settings — even if you need to split functions between your datacentre and the cloud.

You can use Windows 8 Server's NIC teaming features to bundle up network cards into single networking functions, with faster connections, reduced congestion and the ability to failover for load-balancing or for hardware issues. It's vendor-agnostic too, so you can team network resources from different vendors, using either PowerShell or Server Manager.

Of course, this all means changes at a low level in the networking stack, and an increased reliance on DNS and DHCP. Windows 8 Server adds tools for handling DHCP failover, with pairs of DHCP servers for active-active and active-passive failover. You're likely to use them in active-active mode, as this also means you get load-balancing. DNS security is improved, with support for DNSSEC, which lets you use encryption to ensure data integrity and authority, with signed zones deployed to all your DNS servers.

Windows 8 Server also adds new tools for IP address management. A new console, the IP Address Management (IPAM) Center, lets you manage all the IP addresses in an organisation. It's a complex tool, but then managing IP addresses is complex — especially if you're managing a global organisation with many hundreds of address ranges, and with both dynamic and static IP addresses (plus IPv4 and IPv6). The IPAM Center will scan your network, loading dynamic and static addresses, whereupon you can sort and tag your data. It's an extensible tagging model, so you can add your own tags — for example, indicating which building and which floor have which IP address ranges. You can get reports on utilisation, so you can see whether ranges need to be consolidated or have extra addresses added, as well as planning future address assignments.
Windows 8 isn't just a new version of the familiar desktop client — it's also a new version of Microsoft's server software. And as with the Windows desktop, Microsoft's BUILD conference has seen the release of a developer preview of Windows 8 Server, focusing on what Bill Laing, head of Microsoft's Server and Cloud Division, calls "optimising your IT for the cloud". We spent some time before BUILD in Redmond talking with the Windows Server development team and looking at many of the next release's key new features.