Posted on Leave a comment

Redesigning Configuration Refresh for Azure App Configuration

Avatar

Overview

Since its inception, the .NET Core configuration provider for Azure App Configuration has provided the capability to monitor changes and sync them to the configuration within a running application. We recently redesigned this functionality to allow for on-demand refresh of the configuration. The new design paves the way for smarter applications that only refresh the configuration when necessary. As a result, inactive applications no longer have to monitor for configuration changes unnecessarily.
 

Initial design : Timer-based watch

In the initial design, configuration was kept in sync with Azure App Configuration using a watch mechanism which ran on a timer. At the time of initialization of the Azure App Configuration provider, users could specify the configuration settings to be updated and an optional polling interval. In case the polling interval was not specified, a default value of 30 seconds was used.

public static IWebHost BuildWebHost(string[] args)
{ WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, config) => { // Load settings from Azure App Configuration // Set up the provider to listen for changes triggered by a sentinel value var settings = config.Build(); string appConfigurationEndpoint = settings["AzureAppConfigurationEndpoint"]; config.AddAzureAppConfiguration(options => { options.ConnectWithManagedIdentity(appConfigurationEndpoint) .Use(keyFilter: "WebDemo:*") .WatchAndReloadAll(key: "WebDemo:Sentinel", label: LabelFilter.Null); }); settings = config.Build(); }) .UseStartup<Startup>() .Build();
}

For example, in the above code snippet, Azure App Configuration would be pinged every 30 seconds for changes. These calls would be made irrespective of whether the application was active or not. As a result, there would be unnecessary usage of network and CPU resources within inactive applications. Applications needed a way to trigger a refresh of the configuration on demand in order to be able to limit the refreshes to active applications. Then unnecessary checks for changes could be avoided.

This timer-based watch mechanism had the following fundamental design flaws.

  1. It could not be invoked on-demand.
  2. It continued to run in the background even in applications that could be considered inactive.
  3. It promoted constant polling of configuration rather than a more intelligent approach of updating configuration when applications are active or need to ensure freshness.
     

New design : Activity-based refresh

The new refresh mechanism allows users to keep their configuration updated using a middleware to determine activity. As long as the ASP.NET Core web application continues to receive requests, the configuration settings continue to get updated with the configuration store.

The application can be configured to trigger refresh for each request by adding the Azure App Configuration middleware from package Microsoft.Azure.AppConfiguration.AspNetCore in your application’s startup code.

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{ app.UseAzureAppConfiguration(); app.UseMvc();
}

At the time of initialization of the configuration provider, the user can use the ConfigureRefresh method to register the configuration settings to be updated with an optional cache expiration time. In case the cache expiration time is not specified, a default value of 30 seconds is used.

public static IWebHost BuildWebHost(string[] args)
{ WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, config) => { // Load settings from Azure App Configuration // Set up the provider to listen for changes triggered by a sentinel value var settings = config.Build(); string appConfigurationEndpoint = settings["AzureAppConfigurationEndpoint"]; config.AddAzureAppConfiguration(options => { options.ConnectWithManagedIdentity(appConfigurationEndpoint) .Use(keyFilter: "WebDemo:*") .ConfigureRefresh((refreshOptions) => { // Indicates that all settings should be refreshed when the given key has changed refreshOptions.Register(key: "WebDemo:Sentinel", label: LabelFilter.Null, refreshAll: true); }); }); settings = config.Build(); }) .UseStartup<Startup>() .Build();
}

In order to keep the settings updated and avoid unnecessary calls to the configuration store, an internal cache is used for each setting. Until the cached value of a setting has expired, the refresh operation does not update the value. This happens even when the value has changed in the configuration store.  

Try it now!

For more information about Azure App Configuration, check out the following resources. You can find step-by-step tutorials that would help you get started with dynamic configuration using the new refresh mechanism within minutes. Please let us know what you think by filing issues on GitHub.

Overview: Azure App configuration
Tutorial: Use dynamic configuration in an ASP.NET Core app
Tutorial: Use dynamic configuration in a .NET Core app
Related Blog: Configuring a Server-side Blazor app with Azure App Configuration

Avatar

Software Engineer, Azure App Configuration

Follow    

Posted on Leave a comment

Digital transformation helps governments be more inclusive

Governments exist to improve the lives of citizens, and the right technology is key to bringing that mission into a rapidly changing, digital world. This is nowhere truer than in the case of providing services for citizens who need accessible services. Digital transformation is a pressing issue for most governments, and the imperative to modernize workplaces and services brings with it an opportunity to empower every citizen with technology that is designed with accessibility and inclusiveness in mind.

As most government organizations know, citizen trust is incredibly difficult to build and, in a rapidly changing landscape, even harder to keep. The desire to build that trust is one aspect that is driving digital transformation among governments. There are already inspiring examples of digitally-driven government innovation underway, for instance in Riverside County, where employees are using Microsoft Power BI data analytics to make government spending more efficient and transparent. In fact, citizens are 58 percent more likely to trust a government institution that provides great digital experiences. When most people are accustomed to carrying out their day-to-day tasks in an efficient digital environment, from online banking to making purchases, they expect their experience with governments to be the same. When government organizations meet this demand head-on, providing more efficient, positive digital experiences for citizens, it drives that all-important citizen trust.

For Microsoft, AI is at the forefront of a commitment to developing technology that caters to diverse needs. Using Microsoft Cognitive Services, AI has the potential to break down barriers, particularly in the government space, where people of all abilities need to stay informed and make the most of civic life. Increasingly, citizens are demanding services that are digitally-driven and user-centric, and governments that can meet this demand with intelligent services are well-placed to gain citizen trust and create lasting, positive relationships.

The need to meet citizen demand is clear; that means embracing digital transformation as well as optimizing services for all citizens and making accessibility a top priority. Some cities are already making positive changes. With the help of cloud and AI platforms, people with disabilities in Moscow are using an urban mobility app called Moovit to help navigate public transit and gain independence. Moovit, along with Microsoft, is partnering with cities the world over to help create more accessible transit solutions. Azure Maps underpins these mobility-as-a-service solutions for governments, helping produce more accessible transit apps.

Still, acquiring new technology can take a backseat to merely keeping the lights on, especially in the face of tightening budgets and finite resources. Simply put, governments need to do more with less. Rather than acting as a barrier to digital transformation, the need to streamline processes and conserve resources should be seen as one of the most compelling motives to adopt a more modern, cloud-enabled approach. Digital transformation provides an opportunity to utilize more efficient technologies—doing more with less. The statistics are astonishing: AI and automation in the government space can save up to 96.7 million federal hours a year, amounting to a potential savings of 3.3 billion dollars. By embracing cloud computing and data analytics, governments can increase total revenues by 1 to 3 percent. And, all the benefits of digital transformation include the ability to maximize the accessibility of government offerings.

Creating a robust strategy for digital transformation is one way governments are innovating to meet the unique demands of their industry. These strategies aim to address key issues for governments, such as how to engage and connect with all citizens, how to modernize their workplaces, and how to enhance their services. When these key issues are addressed, a more digitally mature organization emerges, one that is able to provide better, more modern services, boost productivity, and keep citizens of all abilities engaged.

To better understand how digital transformation can help your specific organization achieve more, check out our digital assessment designed for governments.

Posted on Leave a comment

AT&T and Microsoft announce a strategic alliance to deliver innovation with cloud, AI and 5G

Multiyear collaboration will accelerate AT&T’s “public cloud first” internal transformation and deliver new customer offerings built on AT&T’s network and Microsoft’s cloud

Microsoft CEO Satya Nadella and John Donovan of AT&T
Microsoft CEO Satya Nadella with AT&T Communications CEO John Donovan.

DALLAS and REDMOND, Wash. — July 17, 2019 AT&T Communications and Microsoft Corp. are embarking on an extensive, multiyear alliance where the two companies will apply technologies, including cloud, AI, and 5G, to improve how people live and work today and in the future. Microsoft will be the preferred cloud provider for non-network applications, as part of AT&T’s broader public cloud first strategy, and will support AT&T as it consolidates its data center infrastructure and operations.

AT&T is becoming a “public cloud first” company by migrating most non-network workloads to the public cloud by 2024. That initiative will allow AT&T to focus on core network capabilities, accelerate innovation for its customers, and empower its workforce while optimizing costs.

As part of the agreement, AT&T will provide much of its workforce with robust cloud-based productivity and collaboration tools available with Microsoft 365, and plans to migrate non-network infrastructure applications to the Microsoft Azure cloud platform.

AT&T and Microsoft will together help enable a future of ubiquitous computing through edge technologies and 5G. AT&T was the first to introduce mobile 5G in the United States and expects to have nationwide 5G by the first half of 2020. Microsoft will tap into the innovation AT&T is offering on its 5G network, including to design, test, and build edge-computing capabilities. With edge computing and a lower-latency 5G connection enabled through AT&T’s geographically dispersed network infrastructure, devices can process data closer to where decisions are made. Recently, Microsoft and AT&T worked together to test an edge computing-based tracking and detection system for drones. With more connected devices and the growing demand for streaming content from movies to games, businesses and consumers require ever-increasing network capabilities.

The global scale of Microsoft’s Azure cloud and AT&T’s domestic 5G capabilities will enable unique solutions for the companies’ mutual customers. The companies will bring to market integrated industry solutions including in the areas of voice, collaboration and conferencing, intelligent edge and networking, IoT, public safety, and cyber security. The companies already have joint enterprise solutions for networking, IoT, and blockchain in market, and expect to announce additional services later in 2019. The two companies envision scenarios with 5G enabling near-instantaneous communications for a first responder who is using AI-powered live voice translation to quickly communicate with someone in need who speaks a different language.

“AT&T and Microsoft are among the most committed companies to fostering technology that serves people,” said John Donovan, CEO, AT&T Communications. “By working together on common efforts around 5G, the cloud, and AI, we will accelerate the speed of innovation and impact for our customers and our communities.”

“AT&T is at the forefront of defining how advances in technology, including 5G and edge computing, will transform every aspect of work and life,” said Satya Nadella, CEO, Microsoft. “The world’s leading companies run on our cloud, and we are delighted that AT&T chose Microsoft to accelerate its innovation. Together, we will apply the power of Azure and Microsoft 365 to transform the way AT&T’s workforce collaborates and to shape the future of media and communications for people everywhere.”

In addition to their technology collaboration, AT&T and Microsoft will work together on technology-enabled approaches and solutions aimed at social good. Both companies have been focused on addressing sustainability, accessibility, and community challenges such as homelessness and see an opportunity to support each other’s work to address urgent social needs, including Microsoft’s affordable housing initiative and the AT&T Believes campaign.

About AT&T Communications

We help family, friends and neighbors connect in meaningful ways every day. From the first phone call 140+ years ago to mobile video streaming, we innovate to improve lives. We have the nation’s fastest wireless network.* And according to America’s biggest test, we have the nation’s best wireless network.** We’re building FirstNet just for first responders and creating next-generation mobile 5G. With DIRECTV, DIRECTV NOW and WatchTV, we deliver entertainment people love to talk about. Our smart, highly secure solutions serve nearly 3 million global businesses – nearly all of the Fortune 1000. And worldwide, our spirit of service drives employees to give back to their communities.

AT&T Communications is part of AT&T Inc. (NYSE:T). Learn more at att.com/CommunicationsNews.

AT&T products and services are provided or offered by subsidiaries and affiliates of AT&T Inc. under the AT&T brand and not by AT&T Inc. Additional information about AT&T products and services is available at about.att.com. Follow our news on Twitter at @ATT, on Facebook at facebook.com/att and on YouTube at youtube.com/att.

© 2019 AT&T Intellectual Property. All rights reserved. AT&T, the Globe logo and other marks are trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks contained herein are the property of their respective owners.

Cautionary Language Concerning Forward-Looking Statements

Information set forth in this news release contains financial estimates and other forward-looking statements that are subject to risks and uncertainties, and actual results might differ materially. A discussion of factors that may affect future results is contained in AT&T’s filings with the Securities and Exchange Commission. AT&T disclaims any obligation to update and revise statements contained in this news release based on new information or otherwise.

This news release may contain certain non-GAAP financial measures. Reconciliations between the non-GAAP financial measures and the GAAP financial measures are available on the company’s website at https://investors.att.com.

*Based on analysis by Ookla® of Speedtest Intelligence® data average download speeds for Q2 2019.
**GWS OneScore, September 2018.

About Microsoft

Microsoft (Nasdaq “MSFT” @microsoft) enables digital transformation for the era of an intelligent cloud and an intelligent edge. Its mission is to empower every person and every organization on the planet to achieve more.

For more information, press only:

Microsoft Media Relations, WE Communications for Microsoft, (425) 638-7777, rrt@we-worldwide.com

AT&T, Jeff Kobs, (214) 236-0113 jeffrey.kobs@att.com

Note to editors: For more information, news and perspectives from Microsoft, please visit the Microsoft News Center at http://news.microsoft.com. Web links, telephone numbers and titles were correct at time of publication, but may have changed. For additional assistance, journalists and analysts may contact Microsoft’s Rapid Response Team or other appropriate contacts listed at http://news.microsoft.com/microsoft-public-relations-contacts.

Posted on Leave a comment

Fedora 29 on ARM on AWS

This week Amazon announced their new A1 arm64 EC2 Instances powered by their arm64 based Graviton Processors and, with a minor delay, the shiny new Fedora 29 for aarch64 (arm64) is now available to run there too!

Details on getting running on AWS is in this good article on using AWS tools on Fedora article and over all using Fedora on the AWS arm64 EC2 is the same as x86_64.

So while a new architecture on AWS is very exciting it’s at the same time old and boring! You’ll get the same versions of kernel, same features like SELinux and the same versions of the toolchain stacks, like the latest gcc, golang, rust etc in Fedora 29 just like all other architectures. You’ll also get all the usual container tools like podman, buildah, skopeo and kubernetes, and orchestration tools like ansible. Basically if you’re using Fedora on AWS you should be able use it in the same way on arm64.

Getting started

The initial launch of A1 aarch64 instances are available in the following four regions: US East (N. Virginia), US East (Ohio), US West (Oregon), Europe (Ireland). Direct links to launch the Fedora aarch64 AMIs directly are available here on the Fedora Cloud site.

Getting help

The Fedora support for aarch64 is very robust. It’s been widely used and tested across a number of platforms but of course with new users and new use cases will pick up issues that we’ve yet to encounter. So what is the best way to get help? If you’re having a crash in a particular application it should be reported in the usual way through RH Bugzilla, we have an ARMTracker tracker alias to block against to help identify Arm issues. For assistance with Arm specific queries and issues the Fedora Arm mailing list and we have the #fedora-arm IRC channel on Freenode.

Known issues

We have one known issue. The instance takes a while to get started, it can be up to 5 minutes. This is due to entropy and has been a general problem in virtual environments, across all architectures. We’re working to speed this up and it should be fixed soon. Once things are up an running though everything runs as expected.

Upcoming features

There will be Fedora 29 Atomic host coming in the next Two Week Atomic release, we unfortunately missed their release this time by a small window but it’ll be available in about 2 weeks with their next release and will appear on the site once released. We can’t let you have all the fun at once 😉

Posted on Leave a comment

When should you right click publish

Some people say ‘friends don’t let friends right click publish’ but is that true? If they mean that there are great benefits to setting up a CI/CD workflow, that’s true and we will talk more about these benefits in just a minute. First, let’s remind ourselves that the goal isn’t always coming up with the best long-term solution.

Technology moves fast and as developers we are constantly learning and experimenting with new languages, frameworks and platforms. Sometimes we just need to prototype something rather quickly in order to evaluate its capabilities. That’s a classic scenario where right click publish in Visual Studio provides the right balance between how much time you are going to spend (just a few seconds) and the options that become available to you (quite a few depending on the project type) such as publish to IIS, FTP  & Folder (great for xcopy deployments and integration with other tools).

Continuing with the theme of prototyping and experimenting, right click publish is the perfect way for existing Visual Studio customers to evaluate Azure App Service (PAAS). By following the right click publish flow you get the opportunity to provision new instances in Azure and publish your application to them without leaving Visual Studio:

When the right click publish flow has been completed, you immediately have a working application running in the cloud:

Platform evaluations and experiments take time and during that time, right click publish helps you focus on the things that matter. When you are ready and the demand rises for automation, repeatability and traceability that’s when investing into a CI/CD workflow starts making a lot of sense:

  • Automation: builds are kicked off and tests are executed as soon as you check in your code
  • Repeatability: it’s impossible to produce binaries without having the source code checked in
  • Traceability: each build can be traced back to a specific version of the codebase in source control which can then be compared with another build and figure out the differences

The right time to adopt CI/CD typically coincides with a milestone related to maturity; either and application milestone or the team’s that is building it. If you are the only developer working on your application you may feel that setting up CI/CD is overkill, but automation and traceability can be extremely valuable even to a single developer once you start shipping to your customers and you have to support multiple versions in production.

With a CI/CD workflow you are guaranteed that all binaries produced by a build can be linked back to the matching version of the source code. You can go from a customer bug report to looking at the matching source code easily, quickly and with certainty. In addition, the automation aspects of CI/CD save you valuable time performing common tasks like running tests and deploying to testing and pre-production environments, lowering the overhead of good practices that ensure high quality.

As always, we want to see you successful, so if you run into any issues using publish in Visual Studio or setting up your CI/CD workload, let me know in the comment section below and I’ll do my best to get your question answered.

Posted on Leave a comment

Microsoft’s vision for improving urban mobility is becoming a reality

This year at Smart City Expo World Congress 2018, Microsoft will join global leaders to share innovative solutions focused on the digital transformation of cities. This is the second in a series of blogs about how Microsoft provides the intelligent services and trusted platform for partner solutions that empower cities to be more secure, prosperous, and sustainable. Join Microsoft and its partners at SCEWC 2018.

Approximately 55% of the world’s inhabitants currently live in urban areas, and this is expected to increase to 68%—more than 6 billion people—by 2050. In direct correlation, the number of cars on the road is projected to more than double to over 2 billion by 2050, further exacerbating crowding and traffic concerns. As cities grow and become more densely populated, urban planners face the challenge of ensuring citizens have affordable, sustainable transportation options that meet their needs. This will put significant pressures on cities, which already consume about 75% of global primary energy, yet must determine how to keep millions of citizens moving via both public and private transportation.

Fortunately for today’s citizens, the future of urban mobility has never been brighter.

Imagine a world where autonomous vehicles travel the streets and highways. Cities connect citizens to multi-modal forms of transport, such as trains, buses, and ride-sharing, with intuitive journey planning and payment systems. Rich data from smart infrastructure, transportation networks, and connected vehicles will empower city planners, transit agencies, and other urban leaders to make progress in urban mobility for generations to come. Cities will have the capability to adapt in real time to traveler preferences and build dynamic fare models, as well as proactively manage infrastructure and vehicle traffic flow by anticipating issues before they occur and identifying emerging trends.

This smart mobility future is becoming more of a reality as cities and urban leaders turn to digital transformation.

Microsoft’s vision for enhancing urban mobility

Microsoft and its partners are developing cutting-edge technologies that empower cities to establish intelligent transportation networks and optimize urban mobility for citizens—and it all starts with data. Solutions from Microsoft and its partners help cities build smart infrastructure by connecting billions of IoT-supported devices at the edge on a secure platform that extends from the silicon to the cloud. 

Once connected, this vast network of devices empowers cities to generate the rich data required to apply artificial intelligence (AI) and uncover insights they can use to take action. By aggregating IoT and location data while utilizing secure cloud technology, cities and transit agencies can use AI to identify congestion and reroute traffic, alert citizens to parking options, ensure consistent transit vehicle operation with predictive maintenance, and develop programs to incentivize transit use. They can even improve smart energy management by optimizing electrical vehicle charging with data gleaned from smart grids.

Microsoft’s Connected Vehicle Platform, supported by industry-leading partners, utilizes data to take cities to a new level of urban mobility. Telematics and predictive services improve the driver experience using telemetry data to deliver predictive maintenance notifications. Consumers can stay connected with in-vehicle conference solutions, productivity tools, and intelligent personal assistant support. Advanced driver assistance systems increase safety and performance by delivering road and environment data to the driver or autonomous driving system in real time, all while utilizing location services and data to navigate, search, route and improve travel time.

Partners are already helping cities reimagine transportation with our powerful technologies

Microsoft partner Cubic Transportation Systems is a leading integrator of payment and information technology that connects more than 38 million commuters and travelers globally every day, processing 24 billion transactions annually. Cubic builds intelligent solutions on a versatile platform for mobility management, with a focus on transportation agencies in cities responsible for managing road networks and public transportation. Cubic works to create the easiest ways for citizens to travel and pay with Microsoft, taps into the cloud to securely manage data, and supports the flexibility and scalability customers need to respond in a constantly changing environment.

Microsoft’s partner PwC is another great example of what the future of smart cities could look like. Their capabilities span the diverse needs of modern cities and their citizens across urban mobility and through infrastructure, data, analytics, as well as collaborative planning and public safety. As a professional services industry leader, PwC worked with the province of Ontario to unite 11 transit agencies via PRESTO, a program that helped citizens travel more efficiently through the system with one payment card. By taking advantage of Microsoft’s powerful, scalable data platform and Power BI visualizations, PwC empowered the province to convert analytics into a decision and action platform and make the changes (like in payments) that customers wanted.

Connect with us at SCEWC 2018 to learn more about enhancing urban mobility in your city

Microsoft delivers leading-edge technology for creating intelligent cities and redefining urban mobility.  Learn more about how Microsoft and its partners, such as Cubic Transportation Systems and PwC, are creating a more mobile future for tomorrow’s citizens. Also, visit our booth at the Smart City Expo World Congress 2018 and register to attend the CityNext Intelligent Cities Forum!

Posted on Leave a comment

Use Hybrid Connections to Incrementally Migrate Applications to the Cloud

As the software industry shifts to running software in the cloud, organizations are looking to migrate existing applications from on-premises to the cloud. Last week at Microsoft’s Ignite conference, Paul Yuknewicz and I delivered a talk focused on how to get started migrating applications to Azure (watch the talk free) where we walked through the business case for migrating to the cloud, and choosing the right hosting and data services.

If your application is a candidate for running in App Service, one of the most useful pieces of technology that we showed was Hybrid Connections. Hybrid Connections let you host a part of your application in Azure App Service, while calling back into resources and services not running in Azure (e.g. still on-premises). This enables you to try running a small part of your application in the cloud without the need to move your entire application and all of its dependencies at once; which is usually time consuming, and extremely difficult to debug when things don’t work. So, in this post I’ll show you how to host an ASP.NET front application in the cloud, and configure a hybrid connection to connect back to a service on your local machine.

Publishing Our Sample App to the Cloud

For the purposes of this post, I’m going to use the Smart Hotel 360 App sample that uses an ASP.NET front end that calls a WCF service which then accesses a SQL Express LocalDB instance on my machine.

The first thing I need to do is publish the ASP.NET application to App Service. To do this, right click on the “SmartHotel.Registration.Web” project and choose “Publish”

clip_image001

The publish target dialog is already on App Service, and I want to create a new one, so I will just click the “Publish” button.

This will bring up the “Create App Service” dialog.  Next, I will click “Create” and wait for a minute while the resources in the cloud are created and the application is published.

clip_image003

When it’s finished publishing, my web browser will open to my published site. At this point, there will be an error loading the page since it cannot connect to the WCF service. To fix this we’ll add a hybrid connection.

image

Create the Hybrid Connection

To create the Hybrid Connection, I navigate to the App Service I just created in the Azure Portal. One quick way to do this is to click the “Managed in Cloud Explorer” link on the publish summary page

clip_image005

Right click the site, and choose “Open in Portal” (You can manually navigate to the page by logging into the Azure portal, click App Services, and choose your site).

clip_image006

To create the hybrid connection:

Click the “Networking” tab in the Settings section on the left side of the App Service page

Click “Configure your hybrid connection endpoints” in the “Hybrid connections” section

image

Next, click “Add a hybrid connection”

Then click “Create a new hybrid connection”

clip_image010

Fill out the “Create new hybrid connection” form as follows:

  • Hybrid connection Name: any unique name that you want
  • Endpoint Host: This is the machine URL your application is currently using to connect to the on-premises resource. In this case, this is “localhost” (Note: per the documentation, use the hostname rather than a specific IP address if possible as it’s more robust)
  • Endpoint Port: The port the on-premises resource is listening on. In this case, the WCF service on my local machine is listening on 2901
  • Servicebus namespace: If you’ve previously configured hybrid connections you can re-use an existing one, in this case we’ll create a new one, and give it a name

clip_image011

Click “OK”. It will take about 30 seconds to create the hybrid connection, when it’s done you’ll see it appear on the Hybrid connections page.

Configure the Hybrid Connection Locally

Now we need to install the Hybrid Connection Manager on the local machine. To do this, click the “Download connection manager” on the Hybrid connections page and install the MSI.

clip_image013

After the connection manager finishes installing, launch the “Hybrid Connections Manager UI”, it should appear in your Windows Start menu if you type “Hybrid Connections”. (If for some reason it doesn’t appear on the Start Menu, launch it manually from “C:\Program Files\Microsoft\HybridConnectionManager <version#>”)

Click the “Add a new Hybrid Connection” button in the Hybrid Connections Manager UI and login with the same credentials you used to publish your application.

clip_image015

Choose the subscription you used published your application from the “Subscription” dropdown, choose the hybrid connection you just created in the portal, and click “Save”.

clip_image017

In the overview, you should see the status say “Connected”. Note: If the state won’t change from “Not Connected”, I’ve found that rebooting my machine fixes this (it can take a few minutes to connect after the reboot).

clip_image019

Make sure everything is running correctly on your local machine, and then when we open the site running in App Service we can see that it loads with no error. In fact, we can even put a breakpoint in the GetTodayRegistrations() method of Service.svc.cs, hit F5 in Visual Studio, and when the page loads in App Service the breakpoint on the local machine is hit!

clip_image021

Conclusion

If you are looking to move applications to the cloud, I hope that this quick introduction to Hybrid Connections will enable you to try moving things incrementally. Additionally, you may find these resources helpful:

As always, if you have any questions, or problems let me know via Twitter, or in the comments section below.

Posted on Leave a comment

InMobi forms strategic partnership with Microsoft to power new cloud-based enterprise platforms for marketers

Collaboration combines the power of the cloud with cutting-edge technologies such as AI and data to provide actionable insights for marketers in a mobile world

SAN FRANCISCO and REDMOND, Wash. — June 26, 2018 — InMobi, a global provider of enterprise platforms for marketers, today announced a strategic partnership with Microsoft Corp. to enable new-age CMOs in their transformational journey from digital to mobile marketing. The partnership will consist of InMobi moving to Microsoft Azure as its preferred cloud provider, and will involve technology collaboration and combined go-to-market strategies aimed at accelerating the way marketers are looking at their advertising and marketing strategies in an always-connected world.

Simultaneously, InMobi is significantly expanding its platform for marketers via the InMobi Marketing Cloud, adding to its decade-long market leadership through InMobi’s Advertising Cloud. The Marketing Cloud will enable marketers to get a 360-degree view of every customer, uncovering insights that help them design customer journeys for engagement, action and measurement, and analyzing and acting on customer feedback from disparate channels to increase retention and lifetime value of customers, while remaining committed toward the privacy rights of the customer.

Picture of Satya Nadella, Naveen Tewari and Peggy Johnson
From L to R: Satya Nadella, CEO, Microsoft, Naveen Tewari, founder and CEO at InMobi, Peggy Johnson, Executive Vice President, Business Development, Microsoft

“As digital technology is transforming every industry and every aspect of our lives, companies are seeking new ways to engage customers where they are, with connected, personalized experiences,” said Satya Nadella, CEO, Microsoft. “The combination of Microsoft Azure with InMobi’s marketing platforms will deliver new intelligent customer experiences and business insights to organizations around the world.”

With this partnership, InMobi will move in a phased manner to Microsoft Azure as its preferred cloud provider and tap into the power of its intelligent capabilities. With more regions than any other cloud provider, Microsoft Azure provides the global scale and trusted platform to meet the needs of the marketing industry.

There has been a fundamental shift in the advertising and marketing industry, with far more advanced technologies available to marketers, combined with an exponential increase in customer touchpoints across multiple connected devices. InMobi, with its new AI-powered Marketing Cloud, is at the forefront of these changes and evolving beyond its pure-play advertising platform to a comprehensive and integrated suite of advertising and marketing platforms.

“InMobi is building one of the most advanced enterprise platforms for marketers, and we’re extremely excited to partner with Microsoft as we dive into the next frontier of connected devices,” said Naveen Tewari, founder and CEO InMobi. “With Microsoft’s global reach and advanced security, privacy and compliance, alongside InMobi’s scale and decade-long experience in mobile-first technology, we can truly disrupt the marketing ecosystem. Together, Microsoft and InMobi will create a formidable force in the industry.”

The two companies are also looking at additional opportunities in combining the power of InMobi’s Advertising and Marketing Cloud capabilities with Microsoft Dynamics 365 on the back of the global Azure infrastructure, including AI, machine learning and analytics. The companies will also work in close cooperation on the go-to-market approach, offering these integrated advertising and marketing solutions to Microsoft’s global enterprise client base.

The InMobi Marketing Cloud will be sequentially launched market-wise worldwide over the next six months.

About Microsoft

Microsoft (Nasdaq “MSFT” @microsoft) enables digital transformation for the era of an intelligent cloud and an intelligent edge. Its mission is to empower every person and every organization on the planet to achieve more.

About InMobi

InMobi is a global provider of enterprise platforms for marketers. As a leading technology company, InMobi has been recognized as a 2018 CNBC Disruptor 50 company and as one of Fast Company’s 2018 Most Innovative Companies. For more information, visit inmobi.com.

For more information, press only:

Microsoft Media Relations, WE Communications for Microsoft, (425) 638-7777,

rrt@we-worldwide.com

InMobi Media Relations

pr@inmobi.com

Posted on Leave a comment

Driving opportunity for device partners in the era of the intelligent cloud and intelligent edge

Satya Nadella recently shared our vision for the future of computing – one in which the intelligent edge and intelligent cloud create experiences where trusted technology is part of the fabric of our lives.Today at Computex 2018, joined by executives from Microsoft’s engineering, marketing and research teams, I had the opportunity to share what that vision means for our device partners. The opportunity to leverage artificial intelligence (AI), ubiquitous computing and Microsoft 365 multi-device and multi-sense experiences has never been greater. Together we can create new, compelling devices and experiences in the era of the intelligent edge and intelligent cloud.

To accelerate innovation in this new era we invite all our partners to join our Intelligent Edge Partner Community. The community will help partners connect with one another to identify opportunities to collaborate on technology innovation and achieve shared business goals. In addition, community members will be able to participate in training and community events, and can participate in early-adopter programs that provide access to documentation, specs, OS builds and certification details. To sign up, simply head to http://Microsoft.com/intelligentedge.

Today, in Taipei, we announced a new category of teamwork devices: Windows Collaboration Displays. These large, interactive displays will let people experience Microsoft 365 collaboration tools: Office, Teams and Whiteboard at room scale, and include built-in sensors that can connect to Azure IoT spatial intelligence capabilities. This incredible technology will allow facility managers to utilize environmental data to make real-time decisions. A variety of collaboration displays, from Sharp and Avocor will be available later this year.

A Windows Collaboration Display from Sharp.A Windows Collaboration Display from Sharp.

We also announced Windows 10 IoT Core Services. This new service offering enables partners to commercialize a secure Internet of Things (IoT)-device backed by industry-leading support. It provides device makers the ability to manage updates for the OS, apps, settings and OEM-specific files, and is backed by 10 years of support.

Advances in ubiquitous computing and AI will drive the intelligent cloud and intelligent edge era 
Every part of our life, our homes, our cars and our workplaces are being transformed by digital technology. We are seeing this in every industry and sector of our economy.  The era of the intelligent cloud and intelligent edge will be driven by advances in ubiquitous computing, artificial intelligence and multi-sense, multi-device experiences.

First, with ubiquitous computing, Azure is being built as the world’s largest computer with cloud services from 50 regions around the planet, more than any other cloud provider. Azure also has the broadest set of compliance certifications in the industry, and brands across all industries are using Azure at scale. With offerings like Azure Stack, an extension of Azure that enables a truly consistent hybrid cloud platform; Azure IoT, a broad set of services that power IoT solutions; Azure IoT Edge, that allows devices on the edge to act on their own and connect only when needed; and Azure Sphere, a new solution to secure the 9 billion microcontroller unit (MCU)-powered devices that are built and deployed every year, Microsoft provides the most comprehensive ubiquitous computing fabric that partners can use to bring intelligence to edge devices from servers to gateways, to the smallest MCUbased sensors.

Computer scientists at Microsoft have been working on AI technologies for decades. Thanks to the immense computing power of the Azure cloud, access to comprehensive and secure data spanning services such as Bing, Office and LinkedIn, and the AI breakthroughs coming out of our worldwide network of research labs, we are uniquely able to infuse AI into our core products and services. Beyond that we’re delivering AI tools and frameworks including cognitive, vision, spatial and object APIs, and the recently announced Project Brainwave, an architecture for deep neural net processing on the edge – all of which partners can use to enable next-generation AI applications and solutions that run on devices.

Modern devices amplify the power of Microsoft 365 

Using Microsoft’s programs, platforms and suite of services, our partners are bringing to life a breadth of devices at the intelligent edge that delight customers and empower them to do more.

Microsoft 365 enables people and organizations to embrace the modern culture of work, to be more creative, work together more effectively and have a more productive experience – without sacrificing protection and security. This platform opens the door for new experiences brought to life by great hardware innovations from our partner ecosystem that helps users fluidly go from mouse to keyboard to touch to ink – and beyond, to multi-sense scenarios like voice and vision.

Modern devices from our partners light up Microsoft 365 features. Today at Computex, for the first time, we showed the brand-new HP ProBook x360 440 built for growing businesses and professionals on-the-go. Powered by Windows 10, the ultra-slim device delivers the power, security and durability businesses demand in a versatile 360-degree design. Built-in security from HP BIOSphere Gen4, a firmware ecosystem that automates protection of the BIOS, coupled with Microsoft 365 and an infrared sensor supporting Windows Hello face authentication, provides incredibly strong protection.

The new HP ProBook x360, built for businessThe new HP ProBook x360 440, built for business.

Another great device that takes advantage of Microsoft 365 is Asus ZenBook Pro 15 UX580, beautifully designed with an all-aluminum unibody in a luxurious Deep Dive Blue with Rose Gold detailing. This high-performance laptop isn’t just beautiful, it’s also powerful and able to handle the most demanding tasks with ease, powered by the latest eighth-generation Intel Core processors. The ZenBook Pro series also features Windows Hello capabilities and built-in support for Amazon Alexa voice services, giving users new, smart ways to interact with their laptop.

The Asus ZenBook Pro 15 UX580.The Asus ZenBook Pro 15 UX580.

Last year at Computex we announced a new category of always-connected PCs that partners including, Asus, HP and Lenovo are bringing to market. These devices come with incredible battery life and work like your phone with always-on connectivity. Earlier this week, Qualcomm announced that Samsung is joining us to expand this category of always-connected devices.

A new era needs a new level of trust

This new era represents tremendous opportunity for the ecosystem and comes with a responsibility to ensure that the technologies, devices and solutions we all create are trusted by the individuals and organizations that use them. We also need to ensure everyone can experience technology’s benefits and are inclusive. We all need to work together to ensure privacy, protect the legal rights of people around the world, drive cybersecurity efforts to keep the world safe and take steps to ensure that AI works in ethical and responsible ways.

Every part of our lives, every industry and every sector of our economy is being digitally transformed. There are limitless opportunities for Microsoft partners – from the largest Azure servers to the smallest devices using Azure Sphere and everything in between.

I’m so inspired by the opportunity for innovation that’s made possible by the intelligent cloud, the intelligent edge and AI, and I look forward to the future we’ll build together.

Posted on Leave a comment

A Penny Saved is a Ton of Serverless Compute Earned

Scott Guthrie recently shared one of my favorite anecdotes on his Azure Red Shirt Tour. A Microsoft customer regularly invokes 1 billion (yes, that’s with a “B”) Azure Functions per day. The customer reached out to support after the first month thinking there was a bug in the billing system, only to find out that the $72 was in fact correct. How is that possible? Azure Functions is a serverless compute platform that allows you to focus on code that only executes when triggered by events, and you only pay for CPU time and memory used during execution (versus a traditional web server where you are paying a fee even if your app is idle). This is called micro-billing, and is one key reason serverless computing is so powerful.

Curious about Azure Functions? Follow the link https://aka.ms/go-funcs to get up and running with your first function in minutes.

Scott Guthrie Red Shirt

Scott Guthrie on the Azure Red Shirt Tour

In fact, micro-billing is so important, it’s one of three rules I use to verify if a service is serverless. There is not an official set of rules and there is no standard for serverless. The closest thing to a standard is the whitepaper published by the Cloud Native Computing Foundation titled CNCF WG-Serverless Whitepaper v1.0 (PDF). The paper describes serverless computing as “building and running applications that do not require server management.” The paper continues to state they are “executed, scaled, and billed in response to the exact demand needed at the moment.”

It’s easy to label almost everything serverless, but there is a difference between managed and serverless. A managed service takes care of responsibilities for you, such as standing up a website or hosting a Docker container. Serverless is a managed service but requires a bit more. Here is Jeremy’s Serverless Rules.

  1. The service should be capable of running entirely in the cloud. Running locally is fine and often preferred for developing, testing, and debugging, but ultimately it should end up in the cloud.
  2. You don’t have to configure a virtual machine or cluster. Docker is great, but containers require a Docker host to run. That host typically means setting up a VM and, for resiliency and scale, using an orchestrator like Kubernetes to scale the solution. There are also services like Azure Web Apps that provide a fully managed experience for running web apps and containers, but I don’t consider them serverless because they break the next rule.
  3. You only pay for active invocations and never for idle time. This rule is important, and the essence of micro-billing. ACI is a great way to run a container, but I pay for it even when it’s not being used. A function, on the other hand, only bills when it’s called.

These rules are why I stopped calling managed databases “serverless.” So, what, then, does qualify as serverless?

The Azure serverless platform includes Azure Functions, Logic Apps, and Event Grid. In this post, we’ll take a closer look at Azure Functions.

Azure Functions

Azure Functions allows you to write code that is executed based on an event, or trigger. Triggers may include an HTTP request, a timer, a message in a queue, or any other number of important events. The code is passed details of the trigger but can also access bindings that make it easier to connect to resources like databases and storage. The serverless Azure Functions model is based on two parameters: invocations and gigabyte seconds.

Invocations are the number of times the function is invoked based on its trigger. Gigabyte seconds is a function of memory usage. Image a graph that shows time on the x-axis and memory consumption on the y-axis. Plot the memory usage of your function over time. Gigabyte seconds represent the area under the curve.

Let’s assume you have a microservice that is called every minute and takes one second to scan and aggregate data. It uses a steady 128 megabytes of memory during the run. Using the Azure Pricing Calculator, you’ll find that the cost is free. That’s because the first 400,000 Gigabyte seconds and 1 million invocations are free every month. Running every second (there are 2,628,000 seconds in a month) with double memory (256 megabytes), the entire monthly cost is estimated at $4.51.

Azure Functions pricing

Pricing calculator for Azure Functions

Recently I tweeted about my own experience with serverless cost (or lack thereof). I wrote a link-shortening tool. It uses a function to take long URLs and turn them into a shorter code I can easily share. I also have a function that takes the short code and performs the redirect, then stores the data in a queue. Another microservice processes items in the queue and stores metadata that I can analyze for later. I have tens of thousands of invocations per month and my total cost is less than a dollar.

Link shortener stats

A tweet about cost of running serverless code in Azure

Do I have your attention?

In future posts I will explore the cost model for Logic Apps and Event Grid. In the meantime…

Learn about and get started with your first Azure Function by following this link: https://aka.ms/go-funcs