Jeremy Likness
Jeremy Likness
Empowering developers to be their best.
📅 Sep 5, 2019 🕘 4 min read 💬 656 words

Moving From Lambda ƛ to Azure Functions <⚡>

Migrate a JavaScript Node.js function from cloud to cloud

“It’s time to migrate.”

Maybe the decision to switch cloud providers came “down from above.” Maybe the decision was yours. Perhaps your original solution was merely a spike to “kick the tires” of one cloud, and now it’s time to try another. Whatever your reasons, if you are considering moving your serverless functions from AWS Lambda to Azure Functions, you’re in the right place to learn how!

Lambda to Azure Functions

Lambda to Azure Functions

Moving from Lambda to Azure Functions” is a six-part videos series that covers what you need to know to make the transition between cloud providers. You’ll learn how to migrate your app, explore how resources in Azure relate to Amazon AWS, build a function locally, deploy it manually and learn how to push it automatically as part of a CI/CD pipeline.

The Sample App

The sample app is simple but does more than just echo text or print, “Hello, world.” It computes whether or not a number is a prime and uses a cache to store the results to serve them quickly on subsequent calls. The AWS Lambda implementation uses JavaScript (Node.js) and Amazon DynamoDB.

The sample function

The sample function

You can view the source code for the sample app and deploy the migrated code directly to Azure with a single-click in the “AWSMigration” GitHub repository.

 JeremyLikness/AWSMigration

The first video provides and overview of the sample application and shows how to test and access it from the portal and the command line.

Create an Azure Functions App

The Azure Functions app serves as the host for serverless functions. It is a unit of deployment and scale that defines features for your app such as your language and runtime, security settings, and root URL endpoint.

This video is designed for anyone new to Azure Functions, even if you’re not migrating from AWS Lambda. It walks through how to create the host, write simple code using JavaScript and Node.js, and test the function from your browser and the command line.

Integrate Code and Implement Cache

The Azure Functions app is created (see previous article) and ready to host our real code.

In this episode, a new HTTP endpoint is implemented using an existing Azure Functions app to compute primes. Watch how easy it is to migrate the code to Azure then install a Node.js package for Azure Storage. Finally, use Azure Table Storage to cache the results.

Azure Overview

The previous episodes in this series reviewed how to migrate an existing AWS Lambda JavaScript Node.js function to Azure Functions. This episode takes a step back to review general concepts.

  • Organize related assets using resource groups
  • Manage infrastructure using Azure Resource Management (ARM) templates and the single-click deploy to Azure capability
  • Customize your at-a-glance experience using Azure dashboards
  • Drill into configuration settings for resources
  • Explore data with the web-based storage explorer

Build, Test, Run and Deploy from your Local Machine

This episode shows how to use the cross-platform Azure Functions core tools to create and run a local serverless project. Use the command or an editor like Visual Studio Code. See how to set a breakpoint, debug, and even modify local variables. Interact with storage using the cross-platform storage emulator. Finally, deploy your app to the cloud with just a few clicks.

Review Advanced Features: Security, CI/CD (DevOps) and More

(coming soon)

Summary

This is a short series designed to ease your understanding of how to migrate from AWS Lambda to Azure. As always, we welcome your feedback, comments, and suggestions. If you have experienced a similar migration, please share your thoughts and tips in the comments below!

What’s next? Check out an Overview of Azure Functions.

Regards,

Jeremy Likness

Related articles:

This post originally appeared at Moving From Lambda ƛ to Azure Functions <⚡>