Microsoft Azure User Group – Houston 5/14/2018 Microsoft Azure User Group – Houston "Serverless Compute" on Azure - what, why and how? August 2016 Key Points: Establish Your Credibility – Get the Audience on Your Side Set Expectations of What you will cover Talk Track: Introduce yourself and MOST importantly, establish your credibility to talk to your customer/audience. They want to know you understand their world, you have been in their shoes, you have expertise and experience that gives them some assurance you know what you are talking about. Set the Context – vision/strategy -> What is Azure -> How to Start Adam Hems Cloud Solution Architect © 2014 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.
Adam Hems History Who am I? Cloud Solution Architect @ MSFT – adamhems@microsoft.com History Consulting Cloud Strategy in Oil & Gas 100% Cloud Replace this slide if you’re not Christopher Anderson
Hyper scale Infrastructure is the enabler 100+ Datacenters across 30 Regions (22 Generally Available) Worldwide North Central US Illinois United Kingdom Regions United Kingdom Regions West Europe Netherlands Canada Central Toronto Central US Iowa Canada East Quebec City Germany North East ** Magdeburg China North * Beijing US Gov Iowa US DoD West TBD North Europe Ireland Germany Central ** Frankfurt Japan East Tokyo, Saitama China South * Shanghai East US Virginia West US California Japan West Osaka India Central Pune East US 2 Virginia US Gov Virginia India West Mumbai India South Chennai South Central US Texas US DoD East TBD East Asia Hong Kong SE Asia Singapore Australia East New South Wales Brazil South Sao Paulo State Australia South East Victoria Top 3 networks in the world 2.5x AWS, 7x Google DC Regions G Series – Largest VM in World, 32 cores, 448GB Ram, SSD… Operational Announced/Not Operational * Operated by 21Vianet ** Data Stewardship by Deutsche Telekom
Azure Compliance The largest compliance portfolio in the industry TechReady 18 5/14/2018 2:19 AM Azure Compliance The largest compliance portfolio in the industry HIPAA / HITECH FedRAMP JAB P-ATO FIPS 140-2 FERPA DISA Level 2 ITAR-ready CJIS 21 CFR Part 11 IRS 1075 Section 508 VPAT ISO 27001 PCI DSS Level 1 SOC 1 Type 2 SOC 2 Type 2 ISO 27018 Cloud Controls Matrix Content Delivery and Security Association Shared Assessments European Union Model Clauses United Kingdom G-Cloud Singapore MTCS Level 3 Australian Signals Directorate Japan Financial Services China Multi Layer Protection Scheme China CCCPPF New Zealand GCIO GB 18030 EU Safe Harbor ENISA IAF Why this Slide: Now you have finished the what is Azure section you want to do a few things – you want them to explain the trust model and give them some comfort they are not the first here – it’s a safe bet. Key Points: Azure Compliance makes it easier for first parties and end customers to fulfill their own compliance obligations across globally regulatory and industry standards. Explain the FUNDAMENTAL TRUST model. These organizations (above) we let into our data centers and they attest that we do all the things on their list of controls. You (the customer) have to trust these organizations. You still OWN much of the work to make your systems compliant – we have the platform and the capabilities – but you have to decide to use them (example you have to decide to encrypt virtual disks for your VM’s – or NOT). Transition to NEXT Slide: Are you the first to do this… Of course not… © 2014 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.
Azure is an open cloud DevOps Management Applications App Frameworks Clients DevOps Management PaaS & DevOps Applications App Frameworks & Tools P2 Databases & Middleware Infrastructure
Why this Slide: It shows we have a very broad platform. It about BOTH IaaS and PaaS, that these work together. It shows that we continue to lead in world class IT capabilities and that there’s really nothing missing. Key Points: We have already seen how the Azure Platform is IaaS + Pass – but I want you to understand that this is a huge number of capabilities – IT building blocks if you will. Every one of these blocks you provision anytime, self-service anywhere in the world 24x7. You pay for what you use, you can get more or less anytime and you can fully automate everything… DON’T spent too much time on this slide – you are going to DEMO (aren’t you!!!)… DON’T go through each block… Transition to NEXT Slide: Make the build go backwards to show JUST IaaS and then you will go to the demo to show it.
“PaaS that developers love and businesses can trust” Azure App Service “PaaS that developers love and businesses can trust”
Digital Global Presence Custom Apps eCommerce Digital Global Presence LOB API / Services / ISV Apps APIM Logic Apps Mobile Apps Notification Hubs Azure Functions API Apps Web Apps Services App Service Developer Experience Languages and Frameworks Superior DevOps Self service supportability Fully Managed Platform Auto scale OS and Framework patching Load balancing Enterprise Grade Enterprise grade SLA Security and Compliance On-Premise Connectivity Platform
App Service Apps Services Platform APIM Logic Apps Mobile Apps eCommerce Digital Global Presence Custom Apps LOB API / Services / ISV Digital Global Presence Apps APIM Logic Apps Mobile Apps Notification Hubs Azure Functions API Apps Web Apps Services App Service Developer Experience Languages and Frameworks Superior DevOps Self service supportability Fully Managed Platform Auto scale OS and Framework patching Load balancing Enterprise Grade Enterprise grade SLA Security and Compliance On-Premise Connectivity Platform
App Service Apps Services Platform APIM Mobile Apps Logic Apps eCommerce Digital Global Presence Custom Apps LOB API / Services / ISV Digital Global Presence Apps APIM Mobile Apps Logic Apps Notification Hubs Web Apps Azure Functions API Apps Services App Service Developer Experience Languages and Frameworks Superior DevOps Self service supportability Fully Managed Platform Auto scale OS and Framework patching Load balancing Enterprise Grade Enterprise grade SLA Security and Compliance On-Premise Connectivity Platform
Web Apps Web Apps Create and deploy mission-critical web apps that scale with your business. Supports .NET, Java, PHP, Node.js, and Python Built-in auto-scale and load balancing High availability with auto-patching Continuous deployment with Git, TFS, GitHub, and Visual Studio Team Services Supports WordPress, Umbraco, Joomla, and Drupal
Web Apps 2) Code Repository 1) Develop 4) Deploy to stage 5) Validate 7) Deploy to Cloud 8) Monitor and Improve 3) Build 6) Publish This is the whole (top level) Dev Ops story where Dev build wounderful apps, using CI they mange their code, builds, and releases. Connecting to a repository, they can deploy to Azure Websites, build in the cloud, deploy to a slot to test and validate, swap into production, deployed across the globe as needed, monitor and get feedback, on which devs can make updates. Rinse and repeat
Notification Hubs Mobile Apps Xamarin Test Cloud TFS Xamarin Your App 1) Develop 2) Build 3) Test Xamarin Test Cloud Xamarin TFS Your App Data Sync Notifications Auth 4) Deploy 5) Extend 6) Measure Azure Mobile Engagement
API Apps & API Management Quickly build APIs in the cloud using the language of your choice. Publish, manage, secure, and analyze your APIs in minutes. Secure APIs with Active Directory, single sign-on, and OAuth Generate client proxies or APIs in your language of choice Mashup existing enterprise APIs Integrate with API Management and Logic Apps API Apps
APIM API Apps Swagger 1) API design 2) Generate clients 3) Implement Logic Swagger 5) Publish 6) Share 8) Measure Azure Mobile Engagement 7) Control 4) Compose Developer Portal
Logic Apps Logic Apps Develop and deliver powerful integration solutions with ease Create business processes and workflows visually Deliver integration capabilities in web, mobile, and API apps Integrate with your SaaS and enterprise applications Automate EAI, B2B, and business processes Connect to on-premises data
Logic Apps The grow-up story for Microsoft Flow visual designer based on declarative language stock library of SaaS and format connectors leverage Azure Functions as custom steps invoke with a timer and Web hooks scalable runtime.
BAM!!! Azure Functions Process events with Serverless code. Azure Make composing Cloud Apps insanely easy Develop Functions in C#, Node.js, Python, PHP, Batch and more Easily schedule event-driven tasks across services Expose Functions as HTTP API endpoints Scale Functions based on customer demand Easily integrate with Logic Apps BAM!!! Azure Functions Code Events + data
Azure Functions architecture Azure Functions is built around the WebJobs SDK runtime. The WebJobs SDK makes it easy to react to events and work with data in a consistent abstracted fashion. App Service Dynamic Runtime WebJobs Core SDK WebJobs Extensions WebJobs Script Runtime Triggers Inputs/ Outputs Language Abstraction Code Config
Dual abstraction Serverless compute abstracts away the compute Bindings abstract away the services you interact with Other Services Business Logic Serverless PaaS
Platform and scaling App Service offers dedicated and dynamic tiers. Dedicated is the existing App Service plan tiers Basic, Standard, Premium Pay based on # of reserved VMs You’re responsible for scale Dynamic Pay on number of executions Platform responsible for scale
Dynamic tier pricing Pay per execution model - two meters, three units Number of executions Duration of execution x reserved memory
Functions programming concepts Trigger Input Output Code
Azure Functions 1) Trigger 7) Develop Locally 3) Develop 4) Execute 6) Monitor and Improve 2) Input Binding 5) Output Binding Web Hooks Azure Services App Services Hosting Plans This is the whole (top level) Dev Ops story where Dev build wounderful apps, using CI they mange their code, builds, and releases. Connecting to a repository, they can deploy to Azure Websites, build in the cloud, deploy to a slot to test and validate, swap into production, deployed across the globe as needed, monitor and get feedback, on which devs can make updates. Rinse and repeat
Async background processing Example: Thumbnail resizing Yochay This is a great opportunity to show Functions and talk/explain the differences Bindings If we have time this can be a coding demo Talk to the scenario – show Contoso Moments? Create from template and show the end2end demo? talk about bindings and integration this
Fetch & Store Azure Feature List Integration Functions Example: Voting Store Vote Message Text Decode to JSON Process Vote Logic Apps Twillio Fetch & Store Azure Feature List Chris Swagger API App
(000) 000-0000 Demo Text a greeting to this number: Reply to Vote for your favorite Azure Feature!
Benefits of “serverless” “Pinnacle of PaaS compute” Not just hardware “servers”, but software servers are also managed for you Focus on business logic, not solving technical problems not core to business Lower effort to get started makes it easier to experiment (bots, etc.)
Signs that a serverless pattern might be useful for a given scenario Stateless Scale Too complicated to deploy a traditional backend Workload is sporadic (very low & high scale) (Human) Operational costs need to stay low Lots of different services involved
Suggestions for getting started For existing services, start small. Replace 1 API or background processing item. Integration is a great place to introduce serverless, because it is often a new layer on top of old layers. For new services, establish a pattern early and stick with it. Lack of tooling/established patterns mean you pay an early adopter tax. Build automation asap.
Get started and reach out! Try Azure - https://azure.microsoft.com/en-us/free/ Try Functions – https://functions.azure.com Try App Service – https://tryappservice.azure.com
Questions?
Thanks!