A day in the life of an Azure serverless developer

Slides:



Advertisements
Similar presentations
Successfully migrate existing databases to Azure SQL Database
Advertisements

Azure Machine Learning Deploying and Managing Models in production
The story of an IoT solution
Nested Virtualization: A game changer in Hyper-V and Azure
Creating Enterprise Grade BI Models with Azure Analysis Services
Azure File Sync Setup, configuration and management
Mobile App Trends: lifecycle, functions, and cognitive
Use any Amazon S3 application with Azure Blob Storage
THR3052 Tips and tricks: Build, deploy, and manage web apps powered by containers Ahmed Elnably Program Manager
Azure Cloud Shell Magic of Modern Command-line Management
Developing Hybrid Apps on Microsoft Azure Stack
AI development using Data Science Virtual Machines (DSVM) in Azure
The Modern ASP.NET Tech Stack!
Learning about Containers in the Real World
Azure SDKs and Tools for You
What a Real, Functioning DevOps Team Looks Like
Virtual Machine Diagnostics in Microsoft Azure
SQL Server on Linux on All-Flash Arrays
Microsoft Ignite /31/ :08 AM
8/6/ :17 AM THR2214 Hybrid Cloud Activated A customer case study optimizing on-premises & Azure performance and cost Mor Cohen-Tal Senior Product.
Overview of the Microsoft Azure serverless platform
Workflow Orchestration with Adobe I/O
Microsoft Azure P wer Lunch
How we got a traditional bank collaborating across boundaries
Integrate Power BI with Microsoft Dynamics
Automate all things! Microsoft Azure continuous deployment
Agile Planning with Visual Studio Team Services (VSTS)
9/18/ :06 AM BRK2212 Gain visibility into Network performance and availability with Network monitoring solutions in Azure Vijay Tinnanur Abhishek.
Jeff Hollan Azure Functions – Serverless compute in the cloud
9/22/2018 3:49 AM BRK2247 Learn from MVPs: Panel discussion on all things SharePoint and OneDrive © Microsoft Corporation. All rights reserved. MICROSOFT.
Confidence at speed: Visual Studio 2017 and your CI pipeline
Azure PowerShell Aaron Roney Senior Program Manager Cormac McCarthy
Microsoft /12/2018 8:06 AM BRK2103 Deliver more features faster with a modern development and test solution Claude Remillard Group Program Manager.
Continuous Delivery for Microsoft Azure
11/22/2018 1:43 PM THR3005 How to provide business insight from your data using Azure Analysis Services Peter Myers Bitwise Solutions © Microsoft Corporation.
Continuous Delivery with Visual Studio Team Services
Supercharge Microsoft Teams using Teams apps in node.js
11/23/2018 8:30 AM BRK3037 BRK3037: Dive deep on building apps and services with the Office 365 Communications Platform David Newman Senior Program Manager.
Azure Advisor: Optimization in the best way
Bring existing desktop apps to UWP with the Desktop Bridge
Mobile Center and VSTS:​ Better together for your Mobile DevOps
Developing for the cloud with Visual Studio
Microsoft products for non-profits
Introduction to ASP.NET Core 1.0
Learn. Imagine. Build. .NET Conf
Microsoft To-Do Preview
1/2/2019 5:18 PM THR3016 Customer stories: Plan and orchestrate large resource deployments on Azure infrastructure Igal Figlin Principal PM Manager – Azure.
MDM Migration Analysis Tool (MMAT)
1/3/2019 9:40 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS.
Overview: Dynamics 365 for Project Service Automation
2/19/2019 9:06 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Virtual Reality with Azure and Unity
Understand your Azure cloud assets dependencies with BMC Discovery
Surviving identity management in a hybrid world
Breaking Down the Value of A Yammer Post: 20 Things to Do
Cool Microsoft Edge Tips and Tricks
When Bad Things Happen to Good Applications
Getting the most out of Azure resources with Azure Advisor
Manage your App Service resources using Command line tools
“Hey Mom, I’ll Fix Your Computer”
4/21/2019 7:09 AM THR2098 Unlock New Opportunities with Nintex Hawkeye Process Intelligence and Workflow Analytics Sr. Product.
4/28/2019 3:30 AM THR1061 Learn how Dynamics 365, Office 365 and related applications work together to transform the workplace Donna Edwards Solution Architect.
Consolidate, manage, backup, and secure your cloud content
Designing Bots that Fit Your Organization
Ask the Experts: Windows 10 deployment and servicing
Passwordless Service Accounts
Digital Transformation: Putting the Jigsaw Together
WCF and .NET Framework Microservices in Containers
Diagnostics and troubleshooting in Azure App Service Support Center
Optimizing your content for search and discovery
Presentation transcript:

A day in the life of an Azure serverless developer 5/21/2018 10:08 AM BRK3246 A day in the life of an Azure serverless developer Donna Malayeri @lindydonna Chris Anderson @crandycodes © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Prologue: Why serverless? 5/21/2018 10:08 AM Prologue: Why serverless? © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

The evolution of application platforms Microsoft Tech Summit FY17 5/21/2018 10:08 AM The evolution of application platforms On-Premises IaaS PaaS Serverless © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Before cloud What is the right size of servers for my business needs? What happens in case of server hardware failure? How do I deploy new code to my server? Which packages should be on my server? How can I increase server utilization? What media should I use to keep backup? How can I scale my app? What size of servers should I buy? Who monitors my App? How often should I backup my server? Who monitors my Servers? What storage I need to use? Which OS should I use? Who has physical access to my servers? Do I need secondary network connection? Are my server in a secure location? How many servers do I need? Do I need a UPS? What happens if the power goes out? How often should I patch my servers? How can I dynamically configure my app? It takes how long to provision a new server?

Then came IaaS—table stakes for digital business What is the right size of servers for my business needs? How can I increase server utilization? How many servers do I need? How can I scale my app? How often should I patch my servers? How do I deploy new code to my server? How often should I backup my server? Which OS should I use? Which packages should be on my server? Who monitors my App?

Then PaaS, critical for digital transformation What is the right size of “servers” for my business needs? How can I increase “server” utilization? How many “servers” do I need? How can I scale my app?

Serverless, the future platform for next gen apps How do I architect my app to become Serverless?

What is Serverless? Abstraction of servers Event-driven/ instant scale Micro-billing

Benefits of Serverless Manage apps, not servers Reduced DevOps Faster time to market

Serverless application platform components Development Local development Monitoring IDE support Integrated DevOps Visual Debug History Platform Functions Logic apps Event Grid Developer productivity Visual designer Manage all events in one place Triggers and Bindings 100+ connectors Near real-time delivery Flexible deployment options Functions orchestration Broad coverage Analytics Database Storage IoT Security & Access Control Intelligence

Serverless scenarios: anything that responds to events Timer-based processing Clean table Every 15 minutes Find and clean invalid data Real-time stream processing Millions of devices feed into Stream Analytics Store data in SQL DB Transform to structured data Mobile app backends Photo taken and WebHook called Stores in blob storage Produces scaled images Real-time bot messaging ... Chatbot sends response Message sent to Chatbot ? Cortana Analytics answers questions

New Visual Studio 2017 tooling Microsoft Build 2017 5/21/2018 10:08 AM New Visual Studio 2017 tooling Based on class libraries Get the full power of IntelliSense, unit testing, and local debugging Use attributes to define triggers and bindings Learn more at https://aka.ms/2017functiontools © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Visual Studio 2017 Tooling [FunctionName("CreateMosaic")] public static async Task CreateMosaicAsync( [QueueTrigger("generate-mosaic")] MosaicRequest mosaicRequest, [Blob("%input-container%/{InputImage}", FileAccess.Read)] Stream sourceImage, [Blob("%tile-image-container%")] CloudBlobContainer tileContainer, [Blob("%output-container%/{InputImage}", FileAccess.Write)] Stream outputStream)

Act I Our story begins 5/21/2018 10:08 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Photo mosaic 5/21/2018 10:08 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Features we’ll cover Azure Application Insights Local debugging Run locally Publish Continuous Integration Outer loop Inner loop

Architecture SPA Function App storage/index.html /RequestMosaic Blob Storage - images Save image Settings Queue trigger SPA Blob Storage storage/index.html / storage/index.html /RequestMosaic /api/RequestMosaic /Settings /api/Settings Function App

Demo Chris finds and fixes a bug 5/21/2018 10:08 AM Demo Chris finds and fixes a bug © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Deployment process Production Test Chris-Dev Manual sync Push (automatic)

Demo Ship to dev, test, production

Act III Cross-platform tooling 5/21/2018 10:08 AM Act III Cross-platform tooling © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Core Tools is now cross-platform! 5/21/2018 10:08 AM Core Tools is now cross-platform! https://aka.ms/FuncCrossPlatTools Ported to .NET Core Available in Azure in preview with the “beta” runtime Can run Core Tools on Mac/Linux Try it out and provide feedback! © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Photo Mosaic on a Mac © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Act IV Chris is on servicing 5/21/2018 10:08 AM Act IV Chris is on servicing © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Monitoring Monitor Alert Diagnose Learn What is my app doing? 5/21/2018 10:08 AM Monitoring Monitor What is my app doing? Alert Is my app unhealthy? Diagnose Why is it unhealthy? Learn What was my app doing? © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Azure Application Insights 5/21/2018 10:08 AM Azure Application Insights Extensible Application Performance Management (APM) Rich data: Metrics, Traces, Exception tracking, Dependencies, Page Views, User data, custom events Easy to use graph/alerts, powerful analytics portal, integration with PowerBI and other analytics services © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Application Insights 5/21/2018 10:08 AM Demo Application Insights © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Code available on GitHub Photo Mosaic github.com/lindydonna/photo-mosaic Content moderator webpage and functions https://aka.ms/functions-cat-reviews CoderCards – trading card generator https://aka.ms/codercards Single page app using proxies https://aka.ms/functions-spa

Summary Serverless devs need powerful tools Debug locally using Visual Studio and the Azure Functions Core Tools Monitor and troubleshoot using Application Insights Use continuous integration to deploy to production Now cross-platform! https://aka.ms/FuncCrossPlatTools Get the code at github.com/lindydonna/photo-mosaic Make your own mosaic! https://aka.ms/photo-mosaic Follow @AzureFunctions for product news

Please evaluate this session Tech Ready 15 5/21/2018 Please evaluate this session From your Please expand notes window at bottom of slide and read. Then Delete this text box. PC or tablet: visit MyIgnite https://myignite.microsoft.com/evaluations Phone: download and use the Microsoft Ignite mobile app https://aka.ms/ignite.mobileapp Your input is important! © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.