post

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 😉

post

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.

post

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!

post

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.

post

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

post

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.

post

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