The latest and greatest features added to Windows Phone 8.1 and Microsoft Azure - 5/20/2014

INTRODUCTION


Never in the company’s history has Microsoft integrated so aggressively.

Moreover, this innovation is happening from every angle - whether you’re talking about, Office365 and productivity applications, whether you’re talking about client app development in the mobile space, or whether you’re talking about cloud computing and the big changes taking place with Microsoft Azure.

NEW FEATURES - WINDOWS PHONE 8.1


  • The announcements at //build// 2014 were huge
  • Much of the power given to the phone also came from Azure - the Microsoft cloud
    • Azure mobile services continues to evolve quickly
    • I have blogged about this previously

CORTANA WAS CERTAINLY ONE OF THE BIGGEST HIGHLIGHTS

  • Voice recognition and artificial intelligence is here
  • Microsoft Cortana is an intelligent personal assistant on the Windows Phone 8.1 operating system available on an opt-in basis
  • Its name comes from Cortana, the artificial intelligence character in the Halo series, with Jen Taylor, the character's voice actress, returning to voice the personal assistant

OTHER KEY FEATURES RECENTLY ADDED

Action Center:

  • Action Center is available when you swipe down from the top of your phone
  • It provides instant access to the most common communication features
  • It even works from a locked device
  • It shows four toggles for basic settings - Wi-Fi, Bluetooth, Airplane and Driving modes

IE 11

  • Internet Explorer 11 also made its debut on the platform through Windows Phone 8.1
  • Swipe back and forth between pages more efficiently
  • IE11 has better performance
  • Page loads have been improved
  • It provides a consistent experience across devices
  • Open up to 100 browser tabs at once
  • Hardware accelerated WebGL support

UNIVERSAL APPS

What is it?

  • Universal apps provide the infrastructure to be able to share code, xaml, and resources across phone and tablet
  • More than just a common library to share code
  • Also includes markup, resources, localization, xaml, images
  • Eliminates the old approach of linking files across projects
  • Visual Studio shows 3 projects.

Drag shared code and resources

  • You can drag things from a phone or Windows 8 project directly into the shared project, making it immediately available to any other project in the solution
  • Dramatically simplifies sharing

Common API across phone, tablet, etc

  • in addition to Universal apps, the APIs between Windows 8 and phone have been unified
    • 90-95% of the code is the same
  • Multiple language support
    • JavaScript and HTML, C#, VB, C++ (DirectX + XAML)

Still separate app packages – submit to store

  • This unification is not complete
  • You still need to create two separate app packages
    • One for phone, and one for Windows 8

Phone Specific

  • There are still features that are unique to the phone
  • But there still is 90 to 95% API parity
  • SMS Messaging
  • Geo-fencing
    • Geofence events you want your app to receive notifications for.
    • Your app can be alerted when a user has entered or exited the defined region.
    • It can also be alerted if a geofence has been removed

COOL, NON-//BUILD/ TECHNOLOGY

  • I recently ran across the Nokia Imaging SDK
  • It provides a lot of great functionality for image manipulation that the developer doesn’t have to worry about

Nokia Imaging SDK

  • This was not announced at //build/ but does offer some very powerful capabilities
  • Blending, cropping, rotating and resizing, with customization and unlimited undo
  • Joining smaller images with drag, pinch-zoom and rotate gestures for exact positioning, size and orientation.
  • 50 pre-made filters and effects and it allows access to any image data without decoding the whole image
  • Nokia Imaging SDK, Camera, Map, NFC, and Nokia MixRadio APIs
  • Crop, Flog, Flip
  • https://developer.nokia.com/resources/library/Lumia/nokia-imaging-sdk.html
  • GIF Renderer API enables creating single image GIFs, as well as animated GIFs.
  • Image Aligner API enables removing unwanted shaking caused by minor movements from a sequence of images.
  • Image Aligner and GIF Renderer APIs together make it possible to create Cinemagraph-like shareable short movies.
  • With the Windows Phone 8.1 burst capture mode, creating mini movies is now very quick.
  • Local Blending.
  • It is now possible to blend smaller images into bigger images with specified position, size, and orientation.
  • Custom Filter Base API allows selective processing of image regions instead of the full image also for the custom filters, allowing them to run as memory efficiently as the pre-made

New Azure Features as of 5/20/2014


IN A NUTSHELL

  • Here is a quick overview of all the new features recently announced.

NETWORKING

New Networking Product - ExpressRoute

  • Solves the problem of the public Internet
    • With ExpressRoute, connections do not go over the public Internet
    • As a result they offer more reliability, faster speeds, lower latencies and higher security than typical connections over the Internet
    • ExpressRoute is useful for periodic data migration, replication for business continuity, disaster recovery and other high availability strategies
    • Build applications that span on-premises infrastructure and Azure without compromising security or performance
    • Allows a corporate intranet application running in Azure to authenticates users using an on-premises Active Directory, and serve all corporate users without traffic ever routing through the public Internet
    • Provides customers with two circuits with every single connection so you have that redundancy for this high connection, and dedicated pipe
    • Helps you manage on-premises IT systems
    • Enables better performance
      • Customers are spared the unpredictability of the public Internet
      • Faster, more reliable connections at lower latencies
    • Accomplished through specific partner network and data center services providers
      • For example, currently, partners include AT&T, Verizon, Level 3 Communications, BT, TelecityGroup and Equinix
      • Direct Layer 3 connectivity to Azure services
        • A Layer 3 switch is a high-performance device for network routing.
        • A router works with IP addresses at layer 3 of the model

VPNs

  • Multiple Site-to-Site VPNs
    • New support for multiple virtual networks that can be directly and securely linked to one another
      • Great combination with the Always On feature of SQL Server
      • Establish networks across multiple different Azure account subscriptions, so you can now connect workloads across different divisions of your organization, or even different companies
    • Setup networks in-region, cross-region, across multiple datacenters
    • Allows you to configure VPN so that devices in the Azure network can communicate over the VPN to networks running inside a company’s firewall
    • The tunnel that is created and encrypted is maintained by the VPN
    • You will need an externally facing IPv4 IP for your VPN device
    • Need to know: You will need to know that IP address ranges located on your on-premises network configuration
    • Needed IP Addresses: You will specify the IP address of the DNS server(s) to use for name resolution
    • Adding Subnets: You will add subnets to the Site-to-Site VPN.
      • You will provide the names and IPs for subnets to be created in your virtual network.
    • DNS: Azure has its own default DNS service but you will not be able to will to resolve hostnames cross-premises.
  • Point-to-Site is a different type of VPN
    • You need VPN software and certificates on the on-premises client

Internal Load Balancing

  • Load-balance Azure virtual machines with a private IP address
  • Accessible only within a virtual private network
  • Some tiers, like the database tier, aren’t accessible publicly but need to be accessed internally through a load balancer

Reserved IPs

  • You can now assign public IP addresses to your virtual machines
  • They become directly addressable without having to map an endpoint through a VIP
  • Enable scenarios like easily running FTP servers in Azure and monitoring virtual machines directly using their IPs
  • For apps that need static IPs
  • Allows for IP address to survive the application being deleted and redeployed
  • Allows you to swap reserved IP addresses to update your applications

Anti-Virus

  • Automatically provided for your Virtual Machines in Azure
  • Included packages are:
    • Microsoft Antimalware
    • Symantec Endpoint Protection
    • TrendMicro’s Deep Security Agent

IMPORT / EXPORT SERVICE SEND YOUR HARD DRIVE TO MS

  • Useful when downloading and uploading is prohibitively expensive or not feasible
  • Import/Export service to transfer large amounts of file data to Azure Blob storage

Import / Export Blob Storage

  • You provide your own hard disk:
    • FedEx or DHL to ship the drives to Microsoft
    • One or more hard drives containing that data to an Azure data center, where your data will be uploaded to your storage account
    • Data is encrypted on the drive with BitLocker
    • Hard drives: Only 3.5 inch SATA II/III hard drives are supported for use with the Import/Export service

BETTER CACHING SERVICE - REDIS

  • The Redis Cache Service is now supported
  • It is popular because its simplicity and rich data structure support

For storing key-value objects efficiently

  • To configure you will enter a subdomain name to use for the cache endpoint
  • Provides easy key-value store for strings, hashes, lists, sets and sorted sets
  • If you are a developer, you will need to:
    • Create and configure a cache
    • Configure the cache clients
    • Add and remove objects from the cache
    • Store ASP.NET session state in the cache
  • You can use NuGet to include the Redis code into your app
    • StackExchange.Redis
  • To access the cache your code will include ConnectionMultiplexer.Connect to some domain endpoint (contoso5)

Features

  • Built on the open source Redis cache
  • This is a dedicated service
  • It is accessible from any application within Microsoft Azure
  • Keeps your apps responsive even as user load increases
  • It is a separate layer to improve efficiency
    • The distributed cache layer allows your data tier to scale independently for more efficient use of compute resources in your application layer

CAPTURE VM IMAGES THAT CONTAIN BOTH AN OS DISK AS WELL AS MULTIPLE DATA DISKS ATTACHED

  • This support makes it much easier to capture and automate VMs with richer configurations
  • Attached disks are processed simultaneously with the VM

Avoid SysPrep for Snapshots

  • Snapshot VMs can be created easily and quickly

LEGACY FILE SHARES – THE SMB FILE SHARING SERVICE

  • Allows you to expose network file shares using the standard SMB protocol
  • Dramatically simplifies the migration of on-premises applications to the cloud

Use Server Message Block (SMB) to share files across Windows and Linux VMs

  • Used for providing shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network
  • The files stored within the service can also be accessed via a REST interface, which opens a variety of additional non-SMB sharing scenarios
  • Leverages process-to-process communications across an Internet Protocol (IP) computer network
  • Can use TCP (port 445), NetBIOS, UDP
  • SMB works through a client-server approach, where a client makes specific requests and the server responds accordingly
  • SMB servers make their file systems and other resources available to clients on the network
  • Client computers may want access to the shared file systems, and printers on the server
  • Name resolution infrastructure in the form of Windows Internet Naming Service (WINS) or Domain Name System (DNS) is used

Build on the Azure File Service

  • Built on the same technology as the Blob, Table, and Queue Services
    • Provides built in advantage of availability, durability, scalability, and geo redundancy
    • You don’t have to manage any VMs to coordinate it
    • MS manages all backups and maintenance

Useful Scenarios

  • Lift and shift existing apps to the cloud easily
  • Shared app settings in a central config
  • Save diagnostic files in central location for easy analysis
  • Setup tools and utilities in a central location for developers

REMOTEAPP – DELIVERING APPS FROM THE AZURE CLOUD

  • Improve support for corporate client apps that run in the cloud

How to use

  • Client devices install Remote Desktop client (RDP)
  • Access corporate apps from many devices
    • Including iPads, Phones, etc

Can still access on-premises resources

  • You can still connect from cloud to on-premises

HYBRID CONNECTIONS – AZURE WEBSITES AND AZURE MOBILE SERVICES

AZURE WEBSITES AND AZURE MOBILE SERVICES

  • Super easy way to reach on-premises resources from:
    • Azure Web Sites
    • Azure Mobile Services
  • No need to open ports up on firewalls or install virtual private networks (VPNs)
  • Includes monitoring and management support
  • It is a free tier of the Azure BizTalk services
  • Just a few clicks to implement
  • Azure Web Site Support for multiple languages
    • .NET, PHP, Java, Python, Node.js

COMMON SCENARIOS

  • Hookup Azure websites to an on-premises SQL Server
  • Hookup Azure mobile services to on-premises resources

AZURE API MANAGEMENT SERVICE

  • Provides the ability to expose backend systems through the customer creation of mobile-friendly APIs
  • Create a single point of entry through APIs to your service backend
    • Unify all your backend services into a single API

UNIFY AND EXPOSE DIVERSE BACKEND SERVICES

  • Allows developers to create a unified API façade over diverse backend services
    • Unify Azure mobile services, websites, VMs, and cloud services
    • You can even expose on-premises systems

EASY TO CREATE

  • Available directly from within the portal
    • New->App Services->API Management->Create
    • Specify a URL that will be used by the Azure API management tooling

CAN BE PROTECTED

  • Policies can be set for your APIs to protect them from being abused
    • Caching
    • Usage quotas
    • Rate limits

THE DEVELOPER PORTAL PAGE

  • Used by developers to learn how to consume and use the API that has been published
  • Built-in support to help create documentation pages for the APIs
  • Includes built-in testing tools
  • Includes copy-and-paste-ready code samples for multiple programming languages, automatically generated

TRACK HOW YOUR APIS ARE BEING USED

  • Use the analytics page to learn about the usage, health, latency, and cache efficiency of your APIs being used
  • Find out who your most active developers are and which APIs are the most popular

SUMMARY - WHAT THIS POST COVERED

  • New features added to Windows phone
    • Browser
    • Action Center
    • Universal apps
  • New features added to Azure
    • Networking features
    • Internal load-balancing
    • Reserved IP’s
    • Antivirus support for the M’s
    • Import / export service
    • Redis caching support
    • Capturing images for virtual machines with multiple data disks attached
    • SMB - the new file sharing service
    • Remote applications
    • Hybrid connections for Azure websites and mobile services
    • Creating custom and unified APIs for diverse backend services