Day 2 - Sept 14 Part 2 : Stratis presents Cloud Summit 2021

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] [Music] do [Applause] [Music] be [Music] so so [Music] so do [Music] [Music] [Music] hey [Applause] so [Applause] [Music] [Applause] [Music] so [Music] [Music] [Music] [Music] [Music] hi i'm anna hoffman hey friends i'm nicola hi i am hi i'm tanya jenka hello and i'm excited to be the speaker at azure summit 2021 it's a fantastic event that will be 11 days live streaming where more than 100 speakers from all over the world i'm excited to speak at actual summit about power bi and synopsis analytics and i'm gonna talk about security and also a microsoft mvp for azure i'm speaking at cloud summit about automated release of dotnet application and the best part is that this is a free event come join me live tv come join me live on learn tv on september 14th come join me on learn tv on the 14th of september this year a bunch of other microsoft and community speakers so if you want to learn how to secure azure come to my talk join us it will be a lot of fun see you there see you there see you there see you there [Music] [Music] [Music] [Music] [Music] all right everyone welcome back to day two day two part two of cloud summit 2021 i'm your host stephen simon and this second half of the day we have power packed sessions about azure static apps then we have sessions on azure sql we have sessions on devops and then we also have a session on mental health as well as an id so uh welcome back everyone to the part two of day two the first have ha have been absolutely amazing where we had somewhere around eight to seven sessions and i'm really excited for the next session because it's gonna be about static uh web apps and uh these are pretty cool i think they came uh microsoft released them i believe last year almost like an year and a half and uh it's it's a cool uh product so yeah to talk about that we have a rick who is a microsoft azure mep and principal cloud advocate he'll be joining us to talk about azure static web apps hit the ground running and without any further ado let's invite rick to the cloud summit 2021 [Music] [Music] [Music] hi rick welcome to the cloud summit 2021 thank you very much and thank you for that awesome introduction i think that's the best one i've had yet uh you're very kind rick thank you so much for accepting the invitation i really appreciate it i know uh it it's tuesday it's a weekday and people have to work and it's almost like afternoon and at your place what time what place you're joining us actually well i'm in my uh living in my home in the netherlands in veldhoven you can even see that we're still remodeling because there's still some tape left here so i'm remodeling the my own studio but it's well this is the first sneak peek for you guys um it's six people over here so it's the end of the world okay yeah okay okay thank you so much rick i know we are already couple of minutes in your session so i won't take much of a time i see her sharing a screen i've added to the stream everybody can see it and next 35 to 40 minutes is all yours thank you very much okay so again welcome to my session static web apps hit the ground running um as i said i'm live from the netherlands it's 6 p.m over here and we actually have some rain at the end of the day so that's a bummer but i'm warm and inside so everything's fine um first up let's do a short introduction my name is rick as in the awesome introduction has already stated i am a microsoft azure mvp for the third year now and i work for bad bit which is a company that helps other companies build awesome software so one of the things that we do is help people define their cloud migration and their migration into becoming cloud native companies and one of the things that kept jumping in was the ability to relatively easily host static applications in azure um that's actually one of the reasons why i'm doing this session right here today so without further ado let's have a look at the calendar or the agenda uh we'll do a short introduction uh we'll have something um of the basics part one and part two because there's a lot of basics to cover we have some additional features on azure static web apps we'll do a short talk on the hosting plans and then i'll share some resources with you um it's actually awesome to see some of the comments coming in and see people from all over the world joining in for this great event so thanks again for being here um but let's start with an introduction right because we need to start by getting to know one another or at least the product that we're talking about so a long time ago microsoft started introducing static website hosting in azure storage which actually enabled you to search static content from the dollar web container in a storage account that was automatically created for you as soon as you enabled static website hosting it was a feature on azure storage without any additional cost and it did need or still needs as explicit enabling which means that you need to explicitly and willingly flip a switch to enable static website hosting in a storage account and then it's there and there's actually a few things that are less optimal for using steady website hosting um one of the things might be that there's case sensitive file names all of the requests will always be anonymous and it's a read-only solution because you can have a true static web app so true static website with html some javascript and some images that hosts just fine but that's it and then they thought well people might need just a little bit more than just static websites so let's see if we can add another great tool that we have under our belt and see if we can make a product out of that one so the second thing that they introduced was azure functions now azure functions of course is already there for quite some time but they actually bundled this with a static web app to enable you to create dynamic applications but host them statically and i'll come back to that later azure functions enable you to accelerate your development with an event-driven serverless compute experience you can scale on demand and pay only for the resources you consume i'm going to dive a little bit deeper into what azure functions are for those of you who don't already know one cool thing to know is that the logo or the icon for azure static sorry for azure functions is actually a combination of the default icon for code which is the two brackets with the slash and then the maybe a little bit dated events logo which is a lightning bolt because those of you who have done windows forms development in visual studio know that if you select that button and you go to properties then to the events those events were lightning bolts so the combination of the two so events with data and code that runs for it are azure functions now let's dive a little bit deeper into how azure functions work because i want to show you the power of azure functions as well uh as well as the power of static web apps because there's a lot of awesome stuff in there to uh to have a look at what we're going to start off with is triggers and bindings so again azure functions are primarily meant to be run serverless so you don't specify anything about the type of machine your code runs on you just say hey here's my code run it now when to run it is actually defined by the trigger so there is an event that is happening that makes your code run now that event or that trigger can be anything or virtually anything so it might be a new message on eq or it might be a blob that was created in a specific container in a storage account in azure but it can also be an http call into the endpoint that is hosted in the azure function and last but not least you can also have timer triggers so you can have a cron expression like we used to have with cron jobs a long long time ago where we could actually say run this every minute that is divisible by five or run this every day at 12 or we can have those schedules in there as well now those triggers are actually what caused a function to run when the trigger happens the function runs if the trigger doesn't happen nothing runs and then the cool thing with functions is if nothing runs you don't pay for anything so a function always has exactly one trigger and that has associated data with it which is often provided provided as the payload of the function or as a parameter into the call of the function now next to triggers that actually make a function do its work we also have bindings and bindings are a way of declaratively connecting resources to your function so you could say i would like to bind into my storage account and read from this container that file whenever this function runs and that enables you to really focus on getting to uh do your have your function do what it needs to do so focus on the business logic and not focusing on okay so i'm going to make a connection to a storage account and i'm going to pull in that container name i'm going to creative not exist because hey maybe it doesn't but all of those parts of information and parts of functionality are automatically abstracted away for you by the platform when you use bindings so a binding can be either input or output so it can be something you feed into your function or it can be the result of your function or it can even be both and then they provide their data to the function as parameters that go into the function and we'll i'll show you a little bit how that works later on but for now this is the ide about triggers and bindings when you go and run azure functions so if you look at it that way azure functions actually has a dual abstraction so on the one hand you have azure functions themselves which are an abstraction of your infrastructure since when you run it in a true serverless fashion you don't specify the amount of cpus you need or the amount of memory you need or even the amount of disk space or io you need or ielts you just say dear azure this is my function this is what triggers it run it if you need to and then again if you don't run it you don't pay for anything and if you run it a million times you'll start paying a small amount of money so that's actually the true service id right you can scale zero but it can also scale into massive amounts of um [Music] of instances but then next to azure functions that abstracts away the infrastructure of your solution you have these triggers and bindings that actually abstract away the resources you interact with so an http trigger is it it's available you get the http request and if you want to even a custom model as the body which is automatically deserialized for you if you want to and any bindings that you might need to for instance read table storage in azure in a storage account everything is provided for you as parameters if you configure your function right and that means that you no longer have to think about everything that you need to do when you want to read a table in storage for instance but you can just say hey i'm going to configure this parameter to be bound to that type of resource that i want to use and let's just go now that's actually the power of azure functions right and then that's only part of what azure static web apps is now if you go back just a little bit to where i talked about static website hosting so that's the static website hosting in an azure storage account they actually have a few things that are sub-optimal if you want to run this in a production environment for a company for instance so one of the things is that core's support for azure storage is not supported you can't set that up using simply just static website hosting but also there's no http https support for custom domains and last but not least there's no support for headers so put it mildly it's really really simple static website hosting right and then there's also maybe some issues with infrastructure as soon as you start running a static website in static website hosting for a storage account and an azure function on the other end because you're going to have to manage multiple azure resources you're going to do multiple deployments for both the api and the front-end that talks with you have to set up dns and some cores so it's kind of a hassle to get static website hosting again in a storage account to work with an azure function instance so that's when microsoft thought this is the moment where we need to start introducing static web apps azure static web apps the payoff is you can develop servers web apps fast with global reach and scale so it's really meant for a global distributed fast solution and the way it's doing this is that there's cdn in place which makes the static files go into the points of presence all the way at the ends of close to our end customer which means it runs fast but let's first have a look at the basics from azure static web apps so static web apps automatically builds and deploys web apps from a repository and that's actually already a big step so as soon as you start creating a static website or static web app sorry as soon as you start creating a static web app in the azure portal it asks you to log into github because that's the default if you don't want to do it based on github you can also use azure devops and then you'll just say i have a different type of solution i'm going to want to use azure devops and you can go from there but then it automatically and especially when you use the github enabled one which is which was also the first one by the way that was actually provided by microsoft you get a tailored workflow that enables you to have your static website and its api be built and deployed right off the bat automatically it's all created for you and it works if you configure it correctly and if you don't you can always solve the issues by going into your github but i will show that later it separates out static assets from the traditional web server and it's served from points geographically distributed around the world so as i said it's automatically distributed globally which makes performance awesome with static web apps now if we're going to look at what that looks like it's something like we have some code changes and then it goes into either get up actions or azure devops pipeline or something that you build yourself and then there's this magic process with the two cogs or the two wheels and then you get static content on the one hand and the api on the other hand now as far as that static web app goes or that static content goes it actually supports a lot of frameworks by default so for instance it supports angular it supports blazer it supports vue but also static site generators like gatsby and hugo or custom stuff that you roll yourself is all supported as long as they can build it inside of a github pipeline so next to this default basics right where we say we get a repo and we get a workflow then we get a site with some content and some functions underneath with that api we can have a look at the different type of options that we have and i would like to come back to one thing that simon said earlier where he said that they were introduced like a year and a half ago they were introduced not the last not the previous build but the build before that was the first introduction of azure func azure static web apps and the first introduction was actually really really really basic they said you can do github you can do just a couple of frameworks and let's run it from there and then there was a whole period of nothingness around uh static web apps and then just before i think it was ignite there was another big release and then they said hey we now we now have c-sharp functions because the first version of static web apps didn't even support c-sharp functions it only supported javascript functions and i think together with the c-sharp functions if i'm not mistaking there was also an introduction of blazer as a front-end being able to run blizzard in your static web app um so they were actively building and then again there was this whole time where nothing happened and then last year bill did this year's bill sorry this year's build again this big announcement and they had i think then already ga static web apps with the basic functionality that was available so they introduced devops as an option for your pipeline as well because we started off with only github and then devops was added and we started out with only javascript front-ends and javascript functions as a back-end but then also c-sharp was introduced and as was blazer and now we are ga and the the cool thing about the fact that we are j now is that in the first scenario we had nothing to say about our functions we the only thing you could do was go to the portal and then click functions under your static web app and it would show your functions and they weren't clickable or yeah they were clickable but they didn't do anything and you didn't see anything there was no logging available there and they you can see that they're gradually building out the entire experience around static web apps but you can also see that primarily it was really targeted at a different a different crowd than the initial azure resources we're talking about this was targeted at full stack devs primarily javascript apps because that was the first thing they released javascript stuff to get out their application fast and running as a static web app in an azure environment for not so much money because it's relatively relatively i think it's very cheap so with the introduction of the ga the general availability of static web apps there were some extra additions to the way we could run our azure functions behind it so we could now have the managed functions that we already had as part of azure static web apps but you can now also bring your own functions app so you can have your functions app that you completely manage and develop and configure on your own and then have that be the api behind your static web app and features that were integrated or were added were integrated security and c was routing that's actually automatically helps you have the apis under the same domain name as your static web app and then slash api as the route which means no course issues it's just runs and that's also nice for your certificates that are organized for you that they are run on that same custom domain so by default the api of static web app is an azure function that is managed by azure and it's deployed by azure static web apps associated with some restrictions that that function app is and then if you provide your existing azure functions application of any type which is accompanied by all the features of azure functions with that configuration you're responsible to handle a set handle sorry a separate deployment of that functions app so in that case you should do that for yourself now direct access to user authentication and role-based authorization data makes the api route available to the web app securely without requiring custom cores rules which is nice because less configuration the better right [Music] so when we look at our managed functions so the functions that are provided for you by using static web apps and not providing your own functions app are http triggers only and this is important because if you build a back office api that runs in your static web app and you need a timer trigger to do so the managed functions option will not run right around the timer trigger will not work so as long as you run managed functions no other triggers than http triggers you could use either nodejs or net core or python as a runtime it automatically runs in a consumption plan and then there's actually like six different types of ways of running azure functions so six different types of hosting plans but the default for a normal azure function app and the default for static web apps are to run on a consumption plan which means that you're running truly serverless because you don't specify anything for the infrastructure you just say run then we have integrated security available and we have routing integration which means mycustomdomain.com will be the location where you can go to the api for your static web app that runs on mycustomdomain.com now as soon as you start bringing your own functions you can use all types of triggers since you're running it in your own function app which you specify to run on your own way which might be either consumption or dedicated or premium plan which enables you to run anything that you want to run within that azure function hand it also means that you get the the possibility of using durable functions you get the possibility of using managed entity you can even have app service authentication authorization token management and the api functions are available outside of azure static web apps since it's let's say just another function app it's just another location that you can talk to your api to but please be advised that in this case you will get the same let's say downside as we had earlier when we talked about static website hosting from storage and a separate functions app the fact being that then you will have two resources within azure that you're working with and that you're responsible for deploying both of them now the supported backends for azure functions are as said nodejs.net core 3.1 and python 3.8 um let's see if we can start off with a little demo of a static web app so i'm going to switch looking over here because it's on my second screen that's the screen that i've shared with all of you and let me really quick see if there's some questions interested in here static web apps will support.net 5 yes but as far as i know not yet so bruce lane again together with jess jason karen asked if it will support net5 i expect them to do so because azure functions already supports dot net f5 and they use the um the isolated process model to do so and the isolate the process model means that we no longer leverage the power of running our application on asp.net so that we have a platform that can dynamically load our assemblies and then point towards the endpoints of our functions or the entry points of our functions to be able to run them we now have isolated pros process which means we build an executable which is our function app and then the executable is uploaded and that's actually activated within.net 5. as far as i know currently static web apps does not support net 5 yet but yes it will um [Music] and then let's see yeah we have for azure static web apps what tips for someone who works on a mix of roles is there something simple or basic to set up for testing learning well andrew that's an awesome question and let me show you right now how horribly hard or easy it is to get started with um static web apps and i hope that in the end your answer will be well that was easy so let's see if we can go there i'll minimize my presentation which means you can now see my visual studio i know it's kind of small i will start a tool right now because this is already in presentation mode but it's still i'm running 4k so that might be a little bit smaller so let me do this and then i think if i that's the wrong screen this will it work this is a little bit differently so really you know if we look at what we have in this solution right now and actually um this solution is um oh let's see andrew let's see what you think after i share with you how this works so uh first of all let's see that this um project or this solution better holds three projects and then it's actually not that complex because models is just one model and model holds video and then in video i think all the thing we have is a name and a title or a description a url already so there's a few things in there and the only reason i did this is so that i could have the models in my api api on the one hand and then use those models in my front end on the other end and then only define them once so that was the reason for me to to do that and then in our api i'm going to zoom out a little bit because i'm going to show you the entire screen and i'll just zoom scroll into this one let's see go a little bit bigger i think this might be readable um now let me show you a little bit what the power is of azure functions right and then of course because we use it in our static web app now too it's also the power of static web apps now first of all let's look at the fact that we have this http trigger thing in here so this http trigger thing that's in here actually enables it okay great thanks andrew the http trigger thing actually enables us to specify a little bit about when this function is going to run so first of all we have an authorization level which is only to do with a specific type of key that you can give that you can use to somewhat secure your function but i would never use that as the default security since well the key has to be used in either header or the url so it will be visible to anybody who uses the front end and what i do here is i specify so this http trigger is going to be triggered by get actions so only get and if i want to add post i could do well i would like to have posts in there as well but for now i only want get actions and then i specify route and it actually says so next to the my custom domain slash api slash it's going to be videos slash partition key and then the first thing you see here is why is that partition key between brackets and then the cool thing about that partition key being in brackets is the fact that whatever you put behind the slash of the behind videos slash is going to be the partition key of the table that i'm going to talk to in this function so right here we can see the partition key be part of the parameter list of this function that's running as soon as this function is executed by the runtime and i get that as a string out of the url without thinking about it well the only thing i need to think about is the fact that i can put it here between curly braces and then it will automatically be available as a parameter on my run method for my function now the second thing that's cool that we see here is the binding that i have used and the binding that i use is right here is a table binding and this table binding actually tells me the following so i want to bind a cloud table and you can see that it's automatically bound to this cloudtable instance in the parameter list again of my function that's running as soon as i have a function to go and then i have the storage connection string which is the name of the setting where my connection stream can be found and i would like to talk to the videos table now in the end this completely abstracts away me talking to table storage within a azure storage account the only thing i need to know is this is my storage connection string and as you can see right here i get this cloud table uh where did i have it available there there is it i have this cloud table instance that's automatically populated to talk to the videos table of the storage account with the storage connection stream that get that it gets from settings and i can talk to my um to my storage account easy as that now the reason we do it the while here is the fact that if a query takes too long or has too many responses you might need to go back with a continuation token because it can auto can run for max five seconds if you do a query to table search and then in the end it returns the videos now the other thing that i have in here and i'm not going to dive into that one too much is the fact that i have a web application that actually gets the videos it's a razer application so we have this page that says our videos and this is actually built for a video series that i do together with my colleague which are called beta talks and we do like videos on static web apps but also net five and all all kinds of azure stuff and then uh in sort of a angular-esque way or view-esque way we have if videos equals null then we'll do loading otherwise i'll render a table and then i'll do a for each where i for each uh to generate a table row for each of the items in the videos that i just called from the api and then how do i get that well i do a http get from json async on api's videos battle talks and as you might have noticed we had the partition key in the curly braces behind videos so i'm going to talk towards the table that's called videos i'm going to get the partition that's that is better talks so diving into the azure portal if we go into i think it might be this one i hope it's this one if i had dive into my tables and then into videos just a little bit bigger this is our storage account which has a table that's called videos and the content is not that important but what is important is that this these two items have the partition key battle talks and then this one also has a partition key which is called podcast so i'm going to expect roki 35 and 34 to be there and the other ones to not be there so i showed you this really simple visual studio solution which with three projects a blazer and a api and then we're going to run this one into an azure static web app to go to that static web app i'm going to go back to this one right here and this is our static web app as it runs at this point but just to make sure i'm going to create a new static web app to show you the uh the process of doing so so if i go to static web app i'm going to get it right here to create create one and then as soon as you create one you let me just see if i can make that that might be better let me see if i can do the other subscription so this one i'll have the osmo one i will call this one whatever because i'm gonna care too much for the name and then i'll run it in west europe and then as you can see here the source is either github or other again if you do other you go into azure downloads but if i do github i'll do sign in with github i will authorize azure static web apps i think i can get away with this one by using my fingerprints i don't have to use the code from my machine so that's cool and then if i do an organization here i pick my own organization from github let's say that i can use otherwise example02 as the repository and then i can even specify which branch to monitor and i'll show you why that's important in just a minute and then i'll do this main branch we can have some build details on what i'm going to actually run so will i be doing angular while i'm doing blazer i be doing hugo well in this case zero two if i'm not mistaking is blazer so i'll select that one and then the last thing you need to do before you're done configuring your static web app is to tell it where is the app location where is the api location and at what location are you outputting the www of your client application that you would like to publish and in this case it might be something like project name slash dub dub dub root slash dist or something like that so those are the only three technically interesting things that you need to configure and then you can review and create and then you'll get a um you'll you'll get a static web app and you can run from there so i will show you how that went on when i actually created a static web app earlier so i have this battle talks swa right here i'll hide the essentials and it's it's not too busy on my static web app as you can see but then you get this nice little resource where you can have a couple of things so configuration is actually the same as the configuration for any azure functions you can just put settings in there that you would like to use in the azure functions and then you can see uh what functions are there within your in this case production environments and it says no results now but it will show you some results eventually so get videos that was a function that we just built right so that's available right there and i'm going to skip environments for now and then we have role management and a hosting plan now just so you know i'm going to go into the overview i'm going to browse the application because it's an awesome application and i need the whole world to see it because this is the application batterydocs.swa.web i'm going to click on videos right here on the left hand side and then you can see it's relatively quick i can see bad talks number 34. so this is from table storage right and then the way to to prove that is by i'm going to do this on my screen because this is going to be which is too small for anybody to see but then in the end this is an error because i don't have part two of my call yet and here we can have i might be able to zoom this in a bit as well here you can see that we have this bad talks call going in the back end that actually calls api slash video slash bat talks so if we open up if we copy this value and we open it up and instead of better talks i'm going to do podcast because as you might have remembered we also had one entry in there that was broadcast right so if i swipe out the partition key to talk to a completely different one then you can see that we can still get the uh loose carter imposter syndrome episode of the podcast available so this actually talks to the api in the background we've had the application here now up and running and because of time i'm going to do the next demo straight away so this is my github repo where the code for this application is actually at and it's open on github so you can go there and start using rik vidi bosch and then battle talks swa but the cool thing here is let's have a github repo where more than one people are working right they get pull requests you get all that kind of stuff now what's really cool of azure static web apps and the way they implemented this is let's say that i have created a branch and that branch is a styling update and as you can see i created that some time ago it for comments ahead of main so let's see i'm going to do it on this screen because i might probably be faster i'm going to go to pull requests a new pull request and i would like to have styling to go into main and then it will show that i updated some new get packages which is not relevant at all but also from welcome to our battletalks app i switched to welcome to our new azure static web app i changed the background of the sidebar gradient to be hot pink and of course comic sans as the default font for the website with a smart slightly larger font just to see what happens right now let me create this pull request and feature styling i think that's a good one and let's just have this pull request do its magic for a little while while i address a couple of questions because andrew asked why are you picking videos is this something that azure static web apps can cover well to be honest i pick videos i'm sorry i pick videos because this was a talk that i also did when we were just starting with our beta talks videos and it was actually a nice combination of doing a battle talks video on static web apps and then using our videos in the steady web app so that was actually crap cross contamination and then another question from andrew anyways i'm more from an infrastructure desktop background though i look after devs help support people in my roles okay sedash asks when should i use static web app compared to app service you should use static web app when you don't need server side compute for the hosting of your web application so if you have an hp net front and back end or an hp net front end and an asp.net api that you talk to you should use an app service because you need that server side compute to actually build your web application and then put it push it over the line if you use a spa or a static web application that talks to a for instance a functions back-end so an api then you can use static web apps since the costs will be much lower and this is going to be one of the things in the um in one of the slides next but there's a free solution to run your static web app for free and then the paid solution is if i'm not mistaking 7 euros 59 cents so that's peanuts compared to a basic app service plan where you pay 50 euros a month so if you don't need server side compute for your web application run static web apps if you're using hp net nvc if you're using server side blazer use an app service um with static web apps we can create websites that run on azure and have it automatically scale yes it does automatically scale thank you so the static files are sent out really really fast since they're static they can be caching in there so and they are distributed globally so the files themselves are really fast and as soon as load builds on your api you get the power of azure functions that actually scales it automatically for you so yes we can can you use front door for static robots i'm all yeah i would think so because front door is just a way of having something in front of something that's wet facing so it could be in front of web apps staggered as well um let's see so probably for a facebook like app static web apps and functions is not recommended i'm not really sure if i get that one because if your content is logging in dynamically and it comes from an api you can do that as well and as soon as you want your static web application to do for instance token validation to your back end you can roll your own function out and still implement it for instance using um what's called amsoil so microsoft authentication library i'm glancing over to my screen and we're going back there now because i want to show you something that's as far as i'm concerned one of the awesome features that we have available for static web apps because this is still the pull request that we had available right and then now you can see that there's this green check mark and here there's this comment from github actions that actually says azure static web apps your stage site is ready and what this actually built for me and i didn't have to do anything extra for this to have it available what this did for me is the cicd pipeline or workflow that was [Music] that was created for me automatically listens for pull requests and then as soon as i pull request is available it goes into azure static web apps and then under environments it creates this extra environment for me so next to my production which is based off of the main branch i get this staging environment that's built on top of the feature styling branch and this is not only clickable and will automatically redirect me to the github branch that this was actually built for so i'm on that branch here if i click it but the cool thing is it says that the status is ready and then just for you to see if i click browse here i go to that application that i just showed you and let's close that down now if i click browse on my power on my pull request staging environment it automatically shows me the new environment that was created based off of my pull request and it shows me the result of the web application after the pull request is available for me even the apis just still work since it's still the domain where this is hosted api videos but now i can see what happens when i run comic songs and hope pink as one of the gradients background colors so this is actually pretty powerful and where stephen says stephen simon says let's rap i'm going to go really quick into this last part and then i'll promise you i'll wrap it up um next to all of this awesome stuff there's also staticweb app.config.json and with the first versions of azure static web apps we have route.config which actually enables us to define some routes and have some users and authentication authorization in place we now have all of this as a ways of configuring our azure static static web app even more so we can have http response overrides we can have wait you're not seeing the screen right oh that's a that's a google let me do that again so you can have authorization authentication in place you can define routes you can have custom mime types you can even add networking and working and i think that's one of the questions that i saw coming in yes you can configure networking in your static web app so you can have for instance a navigation fallback that always rewrites into index.html which is actually the reason why you didn't see a result when i refreshed on slash videos because by default azure static web app says hey i don't know that slash videos route but with a fallback navigation you can say if you don't know where to go go to my index.html and my single page application will fix this for you as you can see you can have all types of global headers and stuff available that's really awesome now there's this cli available that you can use to run everything that you want to run for static web apps locally which also means that you can have your application um you can have your application run locally for instance from visual studio code and run your api from visual studio and then tell the cli to mash all of them together to run them as it would in a static web app in azure so that's the cli that's available for you as well and then i'm going to skip on to hosting plans where it actually says what we have for free plan and standard plan and then you don't have an sla for standard so that for free plan so that's a thing but for the rest you have a lot of stuff available and as it said it was zero euros for the free plan and 759 assumed 730 hours of use per month for the standard plan um i kinda had to rush in the end but if there's any questions please contact me you can go to rickvilleballs outlook.com or rigvebosh at twitter you can find me over there if you scan this qr code or if you go to the urlist.com aswa azure study web apps i have a list of urls that will point you to blog posts from other people blog posts that i've written documentation on static web apps anything that you might want to know about static web apps you should be able to find there if you can't contact me and i will help you find it um if my method takes more than 30 minutes which type of function i've used i have to use you could use durable but you might also want to split some things to make it not run too long and again i haven't said this yet but on a consumption plan five minutes is the max for run time you can stretch that up to 10 but that's the absolute max can we migrate stag web apps to web apps well in the end it's relatively simple because it's static applications and an api and that api if it's not net you can just run it on an app service as well so yeah you could migrate over as soon as you need to i think i overshot by a couple of minutes um thank you thank you i was uh very welcome to do so thanks for having me again if there's any questions don't hesitate to find me if you google red video bosch you can probably find my website and my linkedin and my twitter and everything and anything that are that are there um so cool thanks for having me all right frick that was absolutely amazing session and i see uh you were going through all the comments and i think you have answered all the questions so i think i don't need to take any one of them looks like people really enjoyed your session uh yeah uh thank you thank you so much thanks alex thanks everyone who has joined i think uh there was a good interaction from your end for this session so break any file thing you want to plug in before we move to next session um well first of all thanks again for having me because i think it's really awesome that there's so many great sessions on the cloud summit this year um yes you can use app inside sorry that's the question that yeah again so let that be my final answer for questions today yes you can use that insights with static web apps um so that's there available as well anything that i would like to add yes go and start playing with it because you can run an azure static web app without even needing an api so what you can do is you can just have a repo that has an index.html file that says hello world create an azure static web app and within two minutes you'll be up and running and then it's it's really awesome to start working with it and then you'll add the api and then before you before you know it you'll have this big system all running on a state web app and you won't be paying a lot of money to just be able to host it from anywhere all right make sense rick thank you so much once again we would love to have you back whenever you're available uh and yeah have a nice day ahead i think evening you guys yeah and enjoy the rest of cloud summit everybody thank you bye all right with that absolutely amazing session by rick on azure static web apps we now move to the next session that's by nico he is a senior program manager at microsoft and he's going to talk about uh great reasons to run your cloud app on azure sql mi i i hope i say it right so we're already five minutes in in session so without any further ado let's have a nico at cloud summit 2021 [Music] [Music] hi welcome to the cloud summit 2021 hey thanks for having me i'm not scared how are things going on at your place nico pretty cool and here actually i'm not in my place completely i'm in my team's office in the wonderful country of serbia so enjoying life working scary all right so i know you're going to talk about your sequel am i i won't take much of a time you know we're only five minutes in your session so i see you're sharing your screen once you move outside stream here i'm gonna add it just confirm your last thing how much time do i really have right now you have you have 40 minutes you have 40 minutes 40 minutes oh that's my favorite number already all right i see your presentation i'm gonna add it to the stream everybody can see it and next 40 minutes is all yours all right so let's start the clock ladies and gentlemen welcome to the probably one of the best if not one of the only session on asia sequel managed instance here at the beautiful cloud summit 2021 um today on our menu together virtually with you i will deliver the session on great reasons to run your cloud application on azure sqlmi my name is nico uh don't try to pronounce my last name unless you can speak german um i'm been already introduced um there is nothing else to add besides that i'm just another data professional who loves the microsoft data platform very much and actually i work but i loved it before so i'll give you the whole 40 minute presentation just right away in one slide a lot of times it's easier it's cheaper and it's definitely safer to run your application on azure sql managed instance and you might you know just like for a second you read it you look at my slide and you think like what the hell it's like really like yeah really and we'll see this right um so what is asia sql managed instance for you asus sql managed instance is a platform as a service i mean if you are in the cloud summit you should know what paas platform as a service is and it's like ikigai this concept i'm sure you heard about it on social media or somewhere it's you know the management the security evolution the great price we deliver you an amazing service for your relational database amazing management amazing security amazing automated evolution and a great price all in one just you know i should be sales not a technical program manager i think but i mean if you do not like sales uh don't judge the presentation i will be talking about the technical content so azure sql managed instance is a product which is exists um just for a couple of years on on the global scale and it's nearly 100 percent like a regular sql server that you might run on premises or on your virtualized environment or on what is called yas integration uh integration uh what is the word now i'm really stuck um infrastructure as a service so we have these wonderful features that are listed and you know much more so before we go into the great reasons that i will list i promise let's take a look at the service tiers currently we offer you two distinct service tier one of them the first one is a general purpose we believe that you know most business workloads can be pretty much empowered with this service there we offer you to host as the spare solution up to 16 terabytes currently in preview already since you know the end of the june so um it's one particular part of it it's it has not a locally attached storage but a remote storage the high availability story for the general purpose is that you in a way it's not exactly the same i know but you can compare with failover cluster you have one instance that you are using to run the workload and you have a spare instance which you do not see for which you do not pay but it's in the mode of standby if something happens like we are patching we are upgrading maybe you know maybe you execute what is called user initiated failover for whatever reasons it takes place the standby the hot instance will instantly attaches itself to the remote storage and your business will carry on that's the general purpose tier the service tier which we call business critical it's you know it's an amazing offer it's workloads that require low latency very fast re recovery and i want to stress this really really important thing you do not get one replica you can see and actually today i published on our tech blog a a query script that you can use to you know to query and prove that we deliver you four instances it's a fully blown availability group that we will run manage upgrade for you and besides the primary replica when you can write and read will give you additionally uh another replica the last the fourth replica will be readable you can connect with um with the application intent equals read only can on the connection stream and you can read the data from it like you would do from a regular availability group it has a local storage because you know availability groups has the shared nothing concept and it supports you know all the business critical things you wish a availability group would support in such scenarios including the in-memory databases which is you know an important part yes we throw to you because you know nothing is totally unlimited but we have a pretty elastic cloud with you know with good memory nice log size and yes throughput and so on and so forth i'm sure you can read what is on my slide so this is the final little slide you have been waiting for this is the agenda of reason these are the reasons that i am listing as great reasons to run um around your application on azure sql managed instance or as we call it sqlmi it's a pass offering right so i already kind of explained it to you then we have the security part then we have the also mentioned the surface compatibility which is near 100 and yeah when we get there i'll tell you more about it we do lease and we do support a number of important trade flags so you can ask your dba to change some of the non-easily programmable area of the sql server and activate if your workload really requires this this functionality then we do support hosting the catalogues for integration services reporting services mds we support the cor we support the service broker sql agent i mean there is so much great stuff i mean why why talking on this slide let's go let's simply go and see the reasons so platform is a service offering it's basically the same code of the sql server you know and love we run it for you guaranteeing four nines sla it's really fantastic we give you as much control and configuration opportunity as it's possible and we improve it constantly your data is sacred uh for us uh i think it's one of the key things nobody but you are in control of your data we're doing a business we are enabling you to run your application safely that's one of the absolute paramounts the everest for us and on the security front we i mean one of the reasons the deployment currently takes so much time is because we create a whole infrastructure a whole v-net with the subnet and with all the security things we add in order to guarantee that there is like unless you open the door no door is open okay we allow you the threat protection access management information protection and all the juiciest stuff that you have in the latest and greatest plus beyond sql server version it will be there it will be available for you so these are i mean besides what i didn't mention it's of course tls always encrypted dynamic data masking row level security um you can do the auditing um these are the offer you can get out of the box on your sql managed instant if you ever consider a different offer just you know take this right compare see what you get see what you are you know what you're paying for right and all talking about the surface of this sql server it's almost 100 there are some noticeable um exceptions i i listed some of them some of them might change in the future some of them might not be changed in the future but i want to stress a different point of view sql mi is not the latest release of the sql server it's not sql server 2019 no it's not it includes the functionality that was developed before sorry after the release of the sql server 2019 including for example like on azure sql db we have huge enhancements for the query store where you can use the hinting for example so all those juicy features if you look for them they are most of them are already on the sql mi and you don't need to wait for the another release of the sql server you can already have them so it's you know maybe 90 something plus all the new features it's maybe even 105 of the sql server surface but you know don't take my word uh most of the time i am wrong so trace facts right who doesn't love a good trace flag which goes and solves your problem those people who use traffic and do not know how to use them ask your competent application manager or dba for them but you know talking to the data people i'll just highlight two of my favorite one is 7471 which allows you the parallel statistic sampling on the same um table so you can update statistics in parallel on the same table or my favorite one 9389 which allows you a dynamic memory grant for the board batch mode operations if you are using the column store indexes so kind of like really really nice stuff which you can tune and there is no t sql for for this functionalities currently so um let's talk about the ssis integration services of course is a pretty you know definite data movement service which started with uh sql server 2005. i'm not talking the dts which was before so integration services can be deployed as a matter of fact their catalog can be deployed on asia sql managed instance i strongly recommend you to do deployment through the portal don't do even though it's possible to do it in the um in the management studio so-called ssms um there are some quirks but you you can do this on both ways i personally prefer portal much more and of course you will need to have the azure data factory integration here because we're just managing the catalog we do not host the integration service itself for that you will need a runtime okay um just a reminder that because some people would you know question this that you can have the ssis jobs on sql agent just like on the regular sql server and besides uh the ssis catalog don't forget and we must have been promoting this better you can actually host if you need it if you are upgrading a legacy application you can put your um your packages uh also besides the network share which will not work but on azure file storage and it's a nice property and of course there is a support steal for the package store if you choose to do that way reporting services another amazing service but once again this is a non-relational database sql server service and we are supporting the sql server 2019 and future potential future version we support hosting the the uh the databases the catalogs on uh our platform as a service on our sql mi service just a suggestion use this specific configuration for that we have added to sqlmi to suppress recovery model server configuration errors um this is the link and i will send to the organizers all the slides right after the presentation master data services the same took place like for the reporting services starting with 2019 mds master data services you are able to place the master data services catalog databases if you have multiple of them multiple catalogs on um on hsqlmi the configuration process is well documented and i actually i noticed that there is no link in my slide but i will add another link for you to consider and be aware of how to do this so even though you cannot host the mds themselves you can host the catalog for hosting mds you will need to run a virtual machine because that's not a platform as a service service right now cor a cor a lot of people are using cor a lot of people love cor some people hate them but well i mean i'm one who sometimes when i was a customer i would run the regular expression for example calculation or search operation and curr is absolutely brilliant you can create assembly from a binary you have to specify it directly so your automated scripts uh which are using the syntax create assembly from file are not supported and um but you can do this and um this is also a recurring question are we restricted to the safe mode no you're not okay um we do recommend you to use the safe uh streaked mode but it's it's a default one but it's nothing that we are blocking or preventing you from uh from uh not using or using for your legacy application i mean if you can upgrade we want you to stay safe and we want our platform to serve you well service broker it's enabled by default you do not have to enable it and it cannot be disabled uh here are a couple of comments that are not supported but you can use and run the service broker operations and we are supporting it that's what i can say sql agent uh who doesn't love a good sql agent you don't have to adapt your old scripts to some random databases um [Music] if you want to use the agent with your old script they should be principally fine with some of the you know smaller limitations of course cmt exec will won't allow you to run on within the infrastructure that we are providing you because we're not guaranteeing you uh the underlying infrastructure we guarantee you the service we guarantee you the uptime through the soa but we guarantee you the exact operating system or exact operating system version and your code might be based on that so alerts are not yet supported even lock is not supported smaller limitation but largely you're free to run your favorite scheduler um and to schedule workloads as you need them dbmail amazing you know um it's still uh you can set it up you need to be aware that you need to set it up uh with one particular profile name we should be on the no it's not it's in my notes i'll update the name and when i finish the operation if you have a question i will take a look at my notes actually i can do this now and no i didn't copy it sorry for that so you need to set up um and you can use the db mail you can send the um the real email messages don't forget to open the network security group the outbound security rules or ns nsgs network security groups and you can use the you know the sql agent jobs as alert notification if the job has been executed successfully or fail all this stuff just an important warning face it as a customer we not allow you on sqlmi to use the attachments currently it makes sense because you um you cannot use uh the external shares would present a security potential security threat and local file system of course it's as i mentioned for cmd exec it's it will not be ex accessible at least we do not expect it to become you can take a copy only backup it's sometimes mentioned some people would say yeah you you take the backups and actually you know um you you can have the proof of the backups if you run the good extended events for that or you can actually see them in the error logs but we if you will change to your own tde um um managed key uh customer managed uh key you can take a copy only backup um that's your option uh just don't forget that currently we allow you to restore your backup only on azure sql mi okay um [Music] cross database queries this has been you know pretty hot topic on asia sqldb and azure sql db with elastic queries allows you to query but on hfc column i we do not have this kind of a definition because we give you the whole instance and there you can run your query uh without any any additional setups needed just like you know like you used to do right so let's talk about my favorite topic linked servers and then before becoming a man program manager at microsoft i probably would say well linked servers but now i'm saying like you know linked servers you can do so much interesting things i can't say crazy because it will not be correct maybe some people do crazy things but it's amazing in any way so what you can do on linked servers will be you know a topic for a different conversation but you can connect to a other asia sql databases you can connect to other azure sql managed instances and as my good friend and incredibly important program manager in the history of sqlmi and program manager for synapse analytics javan popovic has already blocked publicly amazing idea you can actually set up a link server to synapse analytics and through this setup you can query the adfs you know it's just you know one of those ideas i would call in a very positive way crazy idea but it's absolutely amazing so within the sql managed instance you can query the azure synapse analytics server with databases i just you know it might blow your mind really um that's the blog post i have mentioned and i will add another note for me to add here a link but if you just like look for the title you will definitely find it it's um it's an amazing idea and javan has really invented a lot of great stuff for both products distributed transactions you know they're already available in preview on azure sql mi and you can run them not only between the um hsc commi but you can also include the sql database uh for them so it's kind of important and lately um when i blocked a block not i posted just a link and i started the threads on on social media and these a lot of people were actually surprised that we allow it and you can run across multiple servers and this is an important feature you will find it in a blade for the sql trust groups that you need to set up between the different managed instance in order to use your t sql or your dotnet with your favorite flavorof.net to implement your application or maybe you are migrating a legacy app we see a lot of really default path of for the legacy applications to to go to azure sql managed instance one things the customers are choosing to migrate to the pass platform as a service um offering okay so some slide where for you but also information just look for it there are blogs uh documentation available on it replication so we still uh have it in preview for quite some time we do support it uh sql server 2012 as the source as a publisher as a as a distributor and you can also have the besides the transaction of the snapshot and bidirectional uplike replications are currently uh available in preview so another one this is really amazing one uh offer we had just a little bit over three months ago we had just eight terabytes as a maximum amount of space for the general purpose instances and in the late june of 2021 we scaled it and right now available in all the major regions you can have the 16 terabytes of data which as a requirement just you know you will need to have at least 16 v cores to go that high on the storage according to my memory and according to this this slide that i prepared so just check it uh don't take it just my word i want to be correct with you and um don't forget there is it's documented there is an important current limitation that one data file cannot go over eight terabytes so if you want to go to 16 terabytes you will need in in just one database you will need to have at least data files okay and don't forget the tip of using more storage of course you will you know you pay for the reserved storage but still uh the more storage the bigger the data or log file is the more potential throughput we will give to you okay so might be really really an important idea for tuning your workload so you might ask like and what about the money right you would like to probably check out yourself how good the price is you can use the azure portal or pricing calculator for that purpose um i did something i think so oh no uh i did not um so i can tell you from the data from the previous months from august that if you go and explore you might be quite shocked by the offers that we do and i want to stress here something something that is really important when you are using azure and azure sql mic specifically don't forget that you can have a discount on on the offerings if you are doing a reservation we are currently offering you the reservation for one for three years we also support the asia hybrid benefit which is a pretty impressive uh thing to say at least and for um you might find that in some regions um the price between the standard edition and the general purpose surface tiers are extremely similar currently and you might even find that in some cases and i will list the east us-2 the region i researched that if you do a three-year reservation for certain if you compare certain vms with certain managed instances offering similar capabilities you will find that it's actually sqlmi is cheaper so yes a general purpose is might be even cheaper than the standard edition on virtual machine providing you all the service the patching all the capabilities beyond the latest and the greatest sql server version and all the management and all the guarantees with this away and it can be actually cheaper and if you do the same with the business critical and enterprise edition if you do the calculation just do me a little favor just a little favor do not compare the price of a single virtual machine writing enterprise edition and a azure sql managed instance because asia sql managed instance is running not running one but running four replicas and you might say you know what nico that's a cool idea but we are using the benefit which allows us to to use the disaster recovery for the replicas for the secondary replica and i would say yes you are totally right and you got one of the three secondaries covered but if you want to have a secondary readable replica you will need to pay the license for it and in this case this means virtually that you double the price so just you know when you calculate all those nice things you know compare apples to apples and i mean yes i am a kind of a marketing guy in this presentation i don't dive really deep into the technology i hope to get your juicy questions on that and you know all your excitement and you know bewilderment but um compare apples to apples to virtual machines with sql mi together compare you know in my books a reasonable comparison with that surprisingly just after 31 minutes i say thank you but i can say thank you at any time i want to say i just have a one bonus reason just one i i rushed it up i admitted but one bonus reason and maybe we'll spend like two minutes on that so besides all that i think we have a great migration story and besides my reason which was already prepared i want to stress another one just a couple of weeks ago we have announced another migration story with asia data studio if you download the plugin explore the opportunity of migrating your workloads with just a couple of clicks from for example your azure sql vm to asia sequel mi and stay tuned for more great migration stories but let's take a look at something that we have already post and published into public preview since march of this year and i still most of the people are not aware which is you know shocking for me quite honestly so you can use all these different tools right but people are always asking one thing one thing only how can we get as close as possible to online migration and you can use a transactional replication but you can say yeah great idea nikon now i need to put the primary keys on all my tables in order to replicate the table and it's an old good technology but i would love to do something more juicier you know something more like an artificial intelligence i mean or machine learning or you know what is most popular right now something devops like and i would say well that's a great idea let's see what we've got in you know in the books and i want to stress this one log replay service if you are just thinking about migrating to asia sql am i look at this just put log replace service managed instance you definitely find it uh my colleague danny is driving this feature it's an amazing feature since march of 2021 in public preview it gives you more control for your database migration project um it requires still a little tolerance for downtime on the migration cut over but it is almost i mean unless there is absolutely exceptional situation it you will not be able to compare it with something else and you do not need to install any executables anywhere i migrated a couple of databases for a friend who asked like three four weeks ago live on my computer without any additional installations okay you have a very secure environment by design when you will be giving the permissions even to read the data the backups um for the log request service it will require you to give the minimum permission if you will give more permission that it is required like and you write permission into this um container it will say sorry i need just the minimum permission i mean isn't it nice sorry when somebody is careful enough to give you the things just what is required so you forget all the privileges blah blah blah um these are all like you are um um you you might switch from other techniques if there are some some limitations for transactional replication for example and so let me just um show this slide let me see yeah so what it does how it works you take a backup to url you can do it directly um so you take a backup of your database of relational database from sql server into azure blob storage you copy the full database you might take the differential you might keep on running every 10 minutes five minutes two minutes transaction log backups and then you start the work replay service giving it the permission to read the data within this container and you will be able to monitor its progress you can stop the operation if needed you can also execute even the automated cut over so basically you can take all the backups to the drop storage and then say to the log replay service you know what go to this container to this pop story to this folder just take everything that is there reward it this way and find the last backup and do the cut over and just tell me when you're ready and it will do it for you or you can run the workload copying the after the full and differential the log backups and then eventually doing the cut over you know it's kind of the thing in the old time was called log shipping so it is this way one important thing i want to stress you don't have to do the backup to url you can even do on your sql server a regular backup to your local storage or to your nas to your any storage you are already using and using any you know you can upload manually you can use the powershell you can use az copy whatever suits you best and copy it to the blob storage and start the lrs so mrs walk replay service does not need the direct access to your instance which is a great great story as far as i'm concerned but i am biased as you know so requirements we support from 2008 all the sql servers um you need a full backup you can have the differential the key requirement here is we will not uh allow you to advance if you are not using the checksum okay and here i you can use ac sql with the current version and might change in the future as we progress towards the general availability exactly you know and share x's signature token you just need to read and list permissions you know if you add something like write or append any other permission it will basically get goals like bye bye no we want to play safe with you just you know give us the sas token uh ferret access signature security token in the right way as we want it to be correct so i already told you uh these stories and um there are some limitations i mean if you want 1 000 of them probably you should have you know expected it will not take place even so as the asia sequel managed instance i'm very happy somebody migrating 1000 databases um so 100 simultaneous restore processes at max and here are the roles that you have to have in order to run the lrs and here are some you know the limitations once again and on that with 40 seconds i mean 35 that's all folks i'm i'm done i'm finished i'm dropping not my mic i don't have any i'm not dropping my headset i'm dropping my phone and i'm ready for the questions and and positive reactions please all right so all right nico that was a great session i mean i'm 100 sure you have not checked the comments but there are at least 20 25 or 30 questions for you all right okay okay let's start from the beginning um let's see let's see people say are you a dj uh yes sorry okay let's start let's start um says hey nico are you a dj i love your presentation style okay let's take first one let's let's start it first what are all these go ahead what are the all system databases that can be accessed as part of the sqlmi so um you can access the master master is totally replicated msdb is totally replicated unless and just public you know cut for you are using failover groups into different regions and you're out of luck you need to sync the system object by yourself if you're just just using one single instance even with four replicas we do it all for you uh sql agent is great we we listed some limitations but they're minor most of your workload will just work um manual backups mentioned as well you just you know use your own um td encryption key and you can take the manual backups i would suggest monitoring them you know okay all right so this is the next one uh other yeah go ahead okay okay are there any cost of performance difference between asia sqlmi and seiko db for comparable v oh god that's a good question how do i answer any cost or performance differences you know what um it's different offerings we are um they are i've seen the prices to be comparable but i cannot guarantee who knows the future there are different offerings they have their own advantages some of the new features they shine on one before the other so you know just research look at the origin you know use the price calculator man all right let's move to the next one we have many so we got to do quickly yeah okay which features are only when comparatively take a look at the documentation easy stuff okay perfect can we upgrade sql my instance while running yes you can absolutely it might take some time as we will reprovision the whole virtual cluster for you but it will take place and you can scale it up and down is there any way to increase the number of database limit in managed instance on demand no there is currently no we are we're aware and of these requests we're really really considering that this is we're understanding that this is important for the customers okay let's see let's see let's see um the one the one question that is almost like 500 words [Laughter] let me open the book mike okay okay let's take this one this should be give me give me one give one point on this okay differences um a3 sql and pause crest sql right so um highlight the differences one one is our own microsoft developed a relational database service the other one is the open source amazing service as well but you know you might find as the higher uh demands of your workloads the more complex they are the more hd sql you will laugh i'm very sure of that that makes sense so let's see we don't have any more questions we have but we cannot take it people andrew says great session financial thank you station everyone says great session so thank you everyone uh come on they are nice people i hope you have a great morning afternoon evening good night whatsoever thank you for having simon thank you so much for accepting this session hope you have an amazing cloud summit and i hope to see you next year yeah i definitely see you next year nico i thank you for accepting the invitation it's 11 days event we are only down to two days and yeah and this is our guinness book record here ladies and gentlemen uh we are streaming on learn tv and other platforms and we have already crossed over 40 000 unique viewers in just two days and yeah so thank you nico we would love to host you back we do other live shows and conferences throughout the year and would love to host you over there too we had the sql virtual conference in the first quarter of this year where we had almost entire team of sequel i don't know why i missed you but never mind because i was not on the team i was joined five months ago okay that makes sense that makes sense all right thank you so much i'll catch you some other time and thank you and yeah have a nice day tada bye bye bye all right with that we moved to the final session of the day it was not the finance session of the day but the the the the final speak of the day cannot make it so we now move to the fast track it's it's a it's a session by duo uh we move to our next session that's by bradley and josh on fast track tales from the field azure devops database projects for azure snaps analytics devops has been the most demanded session uh for this conference as a peek-a-boo uh the instance of some insights and i think let's invite our speakers uh right now hi everyone welcome to the cloud summit 2021 hello thank you for having us it's fantastic to be here hey simon thanks for having us thanks josh you gotta update your t-shirt right that the new logo has got oh yeah you're going to ask mike to give you a new t-shirt so how by the way where you both joining us from starting from bradley so we're actually both in florida i'm uh a little bit closer to the left side of universal studios and just north of disney and josh is over on the east side yep so i'm on the college side over by the university of central florida um closer to daytona beach and all that yeah and you know and you know when we when we saw your session those like all right the team was like all right go ahead let's accept it because it's an absolutely amazing session and people are really looking forward for your session so everyone who's watching uh please feel free to drop your question in the comments i will take all of them towards the end of the session uh bradley josh whosoever is going to share the screen please feel free to do it i see bradley session already up there so i'm gonna add it to the stream uh bradley if you could just click on that height pop up on the screen of stream yeah oh you got it thank you so much yeah next 40 45 minutes is all yours perfect uh well thank you for joining us everyone uh you're here to hear about oracle oh no i'm just kidding sorry you're here for uh tales from the field uh this is a story about azure devops and database projects uh back in december back in 2020 when all of this became very very new and uh workspaces were just becoming ga we worked with some of our friends over at github and some of our friends who are devops experts to be able to put some content together that we were delivering to customers and helping with customers so the goal of this is for us actually to run through as much demo as possible as a matter of fact i have very few slides the first slide i've got is introducing my good friend josh ludeman josh has a very very fancy title principal engineering manager at azure fast track cxp here you can see he's got a lot of amazing skills right there he's a fantastic dancer uh particularly flamingo so if you ever see him on the dance floor uh i encourage you to uh just let that roll but he's a technical expert i've worked with josh for a very very long time uh uh two previous jobs now and uh i just keep following him and he can't get rid of me uh so so that's josh and then i'll let him do me oh so this is bradley ball now you want to talk about dancer i actually learned um all of my moves from him and i still have only dipped into 25 of the library um so this this man's moves i mean he picked up stuff working in the office of the president yeah he picked them up from both uh you know the younger bush and obama um as well uh picked up some of obama's moves um none of his basketball moves though he's terrible he's terrible i am um yeah uh but as brad said this is our uh second company together third role together and i've been working together a long time across the microsoft stack um and as you can see with brad's experience as well he's well skilled across the uh microsoft data platform thank you okay so uh the agenda of what we're going to try and do today i'm going to take a pre-existing azure snaps analytics workspace because uh in my mind a lot of people who are especially data folk will have been excited already provisioned and we're going to have to kind of work backwards into how they get into devops we're going to create an arm template and create our qa environment if you go forward the proper way you should create your dev environment from an arm template as well that you have in your devops repo but this way you'll get to see a little bit of how to do both of these what we're going to do is we're going to do an artifact build and release going from dev to qa we're going to do show how to be able to make a new code branch how to be able to merge those to a pull request if we have time and i don't know that we do i'm going to try and get through this as much as possible i've also got a database project that will try and show you how we would migrate onto a blank database template so you could use that to be able to move forward as well and that is it for the slides uh why the iceberg because demos are cool and just so you know at the end of this there's a link to the different blog series that we've done on this uh more blogs we'll be following but with that i'm just gonna dive straight into the demos so here's my workspace that i already have set up i provisioned an azure snaps analytics workspace in a resource group called cloud ai summit this is my azure synapse workspace this is the storage account that comes with it so i'm going to open this up and then there's a link to the workspace url right here i'm i'm going to immediately go into here and what we're going to do is very simply we're going to take and we're going to link to a devops project it's a blank project you can see there's nothing in my repo yet for cloud and ai summit and i'm going to link my workspace to this um so that we can begin to see if i already have an existing workspace and theoretically this is just dev you're not going to link qa and you're not going to link prod i've worked with some customers who did that and that was a bit of a spaghetti code mess where we needed to unlink it because what we want to do is we just want to link dev and then we're going to use pipelines to be able to migrate the metadata code that we have for per environment from one environment to another and it figures i'm running slow there we go okay i'm up and i'm loaded so i'm not going to go through the typical tour i'm going to go straight over to our developer region you can see that i have absolutely nothing no now it's loading there we go um do i still have something here i guess i do let me this was a test i did earlier so i'm just going to delete this and you can see even without linking to devops there is a meta type data repository where all these changes go um and it's going to publish this behind the scenes right now i'm going to come back right down here to this manage portion to the very bottom source control git configuration and i'm going to configure my get i'm going to do an azure devops repo but you can see we could also do a github repo but uh my demos are based on the azure devops so we're just going to keep going there but we fully support either and if you uh wanted to use github you could and then you just select that repository from here and then in the pipelines we would select a github repo instead of using the built-in um azure repo so pretty easy to be able to do that i'm going to connect to microsoft and now my name is b-r-a-b-a-l-l uh you would specify the project name associated with yours i don't think i'm in the right oh there we go there's my organization name sorry all right and then here i'm going to go to cloud ai summit my repository name is cloud9ai summit collaboration branch i could create a new one i'm going to leave this link to begin with though my publish branch is going to go to workspace publish my root folder is going directly to main i could if i again if you've already got an existing dev you're going to want to make sure you import anything and everything i don't have anything created in here yet uh so you can see i've got this import registry uh checked um and then there's no branch and so that should actually put it to maine i don't know why it's making me create this normally it just goes directly to maine all right now the workspace published the reason i want this is there's going to be a template and a template for json that are produced that is the metadata for everything we have within this workspace and what i want is i want workspace publish to be a barrier i want maine to be where i go when i'm actually going to publish to be able to generate a build package that we're going to move from one environment to another until then i want this going to another branch that i'll eventually merge workspace publish down to me i'm going to apply this and what this is doing is this is communicating with that devops repo i'm going to see this configuration information right here use existing and now if i come back over here and i refresh my files i immediately have a credentials folder an integration runtime folder linked service uh managed virtual network but that's just that initial metadata that um that creates these folders so let's go ahead and let's create a new branch and we'll just call this first demo and i'm going to go into my development pane i'm going to do a new sql script we'll just do it something easy select star um objects this is going against the built-in connection which is also the serverless sql pool i'm going to run this i get some results i can see it's good to go i'm going to commit this and any metadata that i create right now if i created a notebook and i don't have a smart cluster so i'm not going to make its way through me putting up a spark cluster um what i'll do is i'll just get this together and we'll just call this notebook one and we'll leave it we'll commit i could come down here i could create a pipeline real quick throw a wait in here commit now one of the things you'll start to notice is again from just the workspace perspective i've got all these different objects open oh and for some reason it had me on the main branch not the branch i thought we created well in that particular case um i think i've been pushing all these directly to the git repository so let me come back here real quick i'll cancel that because i did want to show you creating a new branch so let me come up here real quick now we'll make another notebook so while while brad's um going through and recreating that script real quick one of the things um kind of this is a this is actually a good opportunity to to talk about is um when you're developing we don't necessarily want to um you know commit changes to maine um just because it's the same thing as the you know the joke memes we see of i don't test my code but when i do i do it in production your main branch of your repository is pretty much your production branch absolutely and as this is committing there we go if i come over to my repo files i should see oh i do have these uh for some reason i didn't pick it up i have my first demo and i have demo one and as you can see there's additional items there notebooks sql scripts all that let me see if i can pick this up okay so now i'm back here and what i'm going to do is create a pull request now you would typically want to tag this to a work item have our viewers i'm kind of in god mode here just so that we can fly through these demos so you know have the proper uh configuration in place i'm gonna complete this and let this merge and now if i come back over to my repo and my files i can see that i have a notebook folder i have a pipeline i have a sql script and if i look at this this is the json containing exactly what i had done now let's see let me come back up here real quick because what i want to do is i want to go over to demo branch let's do a pull request for this as well it's that way we can get it back down to main all right now i'm going to use the main branch and what i should see at this point in time is that i've got my different scripts here and when i click the publish button this is where in the scope of having done um one of our our builds and we've gone for our two-week sprint and now we're at the point in time that we go hey we want to build and we want to push this up to qa we've got our different objects we're going to click ok this is going to publish but then i'm going to see another alert about it pushing the git configuration as well this is important because you'll see this finishes publishing and then it's going to give us a successful commit to the git repository as well and that's where we're going generating the templates so for this publishing brad is this publishing to the repo right now or are we publishing to the service in azure we are publishing to the repo but specifically we're publishing to the workspace publish you'll notice there's only one folder under here dev cloud summit and where did that name come from it came from specifically the namespace this information right here is that json information there's a template and also parameters but everything is actually contained in here so for example if i type sql i can see a demo hold on there we go i can see here's my demo two here's my sql script my select star from sys objects it's all right here this is actually what we're going to use to be able to push that metadata from our dev branch our dev to our qa instance so i'm going to want to merge my uh my workspace publish on the epsilon interrupt can you quickly zoom a little bit oh yeah absolutely sorry let me make this a little bit larger is that better yeah that's better thank you no problem now i don't have any pipelines yet i don't have any ci cd set up but this is all getting us ready to be able to do there because now we actually have everything we need within our repository except for one thing we're missing our qa environment right i told you we were going to build that so let me assume a little bit more and what i'm going to do is i'm going to take you to azure snaps analytics and i'm going to show you how we get a baseline arm template there's a lot of different repos there's some githubs where you could get it but if if you're going how do i get this an easy way to do it is we can actually run through and fill out everything we need to within azure and then generate an arm template at the end um so i'm just going to fill this out real quick uh uh my ai summit for my resource group now this manage resource group this is actually uh where some managed items with synapse actually go especially if we have a managed vnet um so i'm going to name this cloud ai summit um let's see mrg2 because i already have an mrg1 that my dev is in uh my worksport space name uh just so we know exactly what it is qa cloud summit this is for my azure data lake gen 2 account i'm going to go ahead and create that we'll keep it the same i like to be pretty consistent in this naming i'm going to head over to security real quick and i have my super super secret password on the other screen so here we go um and then i've got i'm going to allow the pipelines this actually doesn't check just yet um i'm not going to do the double customer encryption at this point networking i'm going to enable a managed virtual network uh i'm going to allow cr create private manage endpoints to primary storage allow outbound traffic to approve targets that's only if i'm only keeping data specifically to an aad tenant i'm not going to do that at this point uh no tags i'm going to hit review and create and remember at this point time instead of letting the portal do this i'm going to click this button download a template for automation it's going to take all those parameters and items that we've already created and the rm resources as well and if i want to i can just download this it's going to download this as a zip file to uh my zip folder i've already taken this and i've exploded this out in a directory so that what we can do is come over here to our repo and i'm going to do a new file i'm going to say arm then i have to have oh not file sorry i'm gonna do a new folder [Music] you have to create an initial file and i'm going to say stuff comment and then under here i'm going to make another new folder let me call this my qa cloud summit because that's what we're making you got me great all right stuff and then up here i'm going to now upload my files and over here let me just show you real quick um this is the zip folder uh and inside of there is a parameters and a template for json i'm going to take both of those files drag them right up here and commit them and if you want to at this point time you can get rid of that readme here's the parameters everything that we did our ecus qa cloud summit um and now that i've got this i'm going to go and i'm going to create my first build pipeline and i'm going to use the classic editor and start with an empty job and and brad for those folks that are watching that maybe have done deployment pipelines and stuff like that i see you're using the classic editor um is it possible to do yaml in in azure devops as well it's absolutely possible to uh to use azure dev ops as a matter of fact there's a really great docs article that we have ci cd within azure snaps analytics and watch um there's an option for using github actions there's an option for using yaml there's multiple different ways that we could do this oh well let me get rid of that for my windows update uh and as i was saying there's multiple different ways that we could do this uh really depends on on where you're most comfortable i have some customers that are using yaml i have some young customers that are using github action so um absolutely we could do either r in this situation i'm just going to run through the classics because i feel like anybody who um is trying to figure out how to do this this is going to be the easiest way to figure this out and then from here you can add a lot of these actions into a yaml file oh i agree and it's a lot better too for the demo inc here for you know people to follow along and walk through than just seeing a bunch of yammel steps right so i'm going to name this first off exactly what it's titled to be able to keep this straight this is a build um pipeline and we're doing this to deploy rm for an environment all right so first thing i'm going to do pretty simple stuff copy files um and i'm going to copy these files to we're going to use a little variable here build.artifact staging directory now i don't have to have this but this creates a folder everything we're going to do theoretically you could deal within one belt build package if you wanted to combine things but i'm going to keep everything in separate pipelines just so that way it makes it a little bit easier to understand what we're doing i'm going to come down here you can see here's that arm template folder that we created cloud summit um i'm going to get my template folder or oh sorry i'm getting ahead of myself i'm actually just going to go up to the folder so i can get everything all the contents within here because i'm in my build package um i'm going to get anything that has a json extension to it and then my target folder is going to be my build artifact staging directory and also that arm folder next up i'm going to do a publish to pipeline i'm sorry publish pipeline artifacts there we go and we're going to that build staging directory uh and then for this i'm going to call this an arm drop i had it explained to me that drop is always the name of the artifact file um and i just like to put what it's actually doing in front of so i i hope i'm not making any developer screen over there i'm going to save and cue this and i'm just going to run it this this is a build pipeline pretty easy it's getting stuff it's packaging it up so that way we're going to be able to use it and release pipeline so this should just run pretty smoothly once we actually go from cube to running this may take a minute or two just depends on where we are in the queue line any questions so far josh i didn't know if you saw if there's any new questions i was just actually flipping over now um to look um but i'm not looks like is there a variable used i did not use a variable on this initial one um on this build pipeline itself it has a couple uh variables that are built in there i just left the default ones i will use some variables when we get to the release pipelines depending on what we're doing there's a verbose one a debug one that i set to true when we're in a release pipeline that's just because if anything goes wrong on a release i i want as much information as possible so i can figure it out great great question though okay and so this is run you can see we've got one published one consumed still finishing up just now i open this up i see there's my arm drop folder arm is the folder remember because i had this the slash in there for the parameter name and then my parameters in my template json and brad there actually was another good question dropped in just as just as you started to go back and i like this if we could answer it yeah um can you explain how you get the agent running so the agent the build engine that you're using i think is what the the question they're referring to is you know for the build agent you use how did you get that running and actually that one i can take real quick too is is part of the features of azure devops is there is the availability of what we call pooled and uh pooled agents so you it'll actually spin it up and my understanding is it's like a container basically um that will spin up and do the activities that you lay out in your build pipeline anything you want to i'm going to get the release pipeline going but this is going to run for a little while so um okay that'll be i'm just going to get to a quick place so i went to release new pipeline because there's nothing there um empty job and let's see i'm good to go there i'm going to go to my artifact the project we're using cloud ai summit um the build package we have again we labeled this so we know what it was build deploy arm for environment um it's automatically going to pull the latest build then i'm going to go over to my jobs and i'm going to have two tasks that i create the first it's going to be an arm template for deployment i'm gonna add that see and i'm going to authenticate to my subscription and then i have to authorize it and as soon as this finishes off authorizing i'll grab the exact same thing if you have questions though get ready to queue them up because when uh we get this to run this will run for a little while uh i'm i'm reviewing right now oh perfect awesome all right and so uh the action we're gonna create or update a resource group in our case we're updating it the resource group of ai summit our location we're doing east too uh the template now is where we go directly down to the file remember linked artifact there's our build to play arm environment uh arm drop and then we're going to get the template j for json uh and then the template parameters there's that one and then for our override parameter within this let me come back over here real quick uh where's down even cloud ai summit and my template for json let's see let me find sql right here okay so let's see workspace cloud connection string um there is a value we need for a sql login administrator and forgive me i should have looked for this beforehand in practice there we go um secure string so this is for that's for the workspace default um there's also a works sql administrator somewhere in here so what we're going to do is it's a type a secure string so i'm going to come up to a variable right here and i like to be able to keep this named the exact same thing that it is within the json file so i'm going to name it the sql administrator password um and then the value and here's where everybody gets to see my super secret password i made up just for this event um there we go super azure o2 uh i'm also going to click this little lock sign right here because this makes it a secure string um and then what i'm going to do is i'm going to come back over to my tasks and right down here my override parameter i'm going to do dash sql administrator login password and then i'm going to use this dollar assignment within the params and this is going to call the variable we created for that password and so that will give the sql administrator that automatic login that we're going to create with this template deployment that will supply that secure password for it um now with that we're almost done here this will deploy the environment however one more thing i need to do hold on i'm double checking something ah yes okay before i do this i need to so this uh project has a managed identity it's going to be um for me the project name b-r-a-b-a-l-cloud summit iii and then a guide associated with it if i try and deploy this and i haven't added the right security in place i'm going to go to my resource groups and i'm going to go to my cloud ai summit oh no that's mrg there we go and then i'm going to go to this little field right here access control group and what this is is this is the permissions and i need to give the owner right or the user right administrator i'm gonna go with the owner right um for this resource group uh to the manage identity associated um with that so i'm gonna find that by going bra there we go how'd i ai summit oh i had created both i had created more than one earlier so i'm just going to grab them both and then i'm going to give them the role owner i should have allowed for a longer cleanup before deleting that or created a different one okay that one failed that one succeeded um ignore the failed one because what we wanted is we wanted to be able to see that this went into the owner group because when i attempt to be able to deploy this one of the things synapse does synapse is going to add some permissions and it doesn't have the right if it's a contributor um it needs a user right administrator or it needs owner because it needs to be able to add these roles uh contributor and user rate as administrator will get it but then you're essentially an owner anyway so i'm just gonna i'm gonna chalk it up to owner um so now this will succeed but there's one other thing that managed identity that's gonna deploy that when you deploy synapse it automatically becomes the synapse administrator well that doesn't let me get in there um it pretty much would leave it to where i wouldn't have access to this so i'm going to do an inline powershell script and then azure subscription let me authenticate here i'm going to do an inline script what i'm going to do is i'm going to install module az synapse i'm setting the required version to 7. the latest version i want to say is uh 15 there's a version 16 however i've noticed that the agents within azure devops don't always keep up and it starts to give you some errors if you try and go 14 or 15. i need to increment this and and just get to a point where it starts failing i know it fails at 15 16 uh and 14. uh at seven it continues to run just fine and what i'm doing is i'm doing this specifically so i can do a new easy uh synapse roll assignment workspace ad and i'm going to qa cloud summit again that's the the name of the workspace that we're creating um then the role definition is the workspace admin role and then i'm adding an object id and that object id is an azure active directory group of which i'm a member and josh is a member so let's see it says we need some attention let's see and the latest version is 3.1.0 that this supports i believe all right i'm going to go ahead and save that and then i just realized i did not name this something nice that actually indicates what it's going to do so i'm going to change this to say release deployment there we go we'll save that again and then we're going to kick off this release this one will run for about seven or eight minutes um so definitely a good time for questions and if if you've got them if the questions stop and this is still running what we'll do is we'll probably try and tackle another task just to make sure that we can get as far as possible in time oh brad the questions don't stop you know this this is devops with data they just keep flowing man i don't know so rajesh had a good one actually that was why do you need two branches what is the difference between them and i think that's a good base devops question i kind of wanted us to attack that absolutely so um think of branching as a way of making sure that um i'm not trampling over the work you're doing like let's let's pretend uh so i live in florida right um it doesn't snow here but let's say we go to amazing place let's say we go to colorado colorado has snow and we want to go out and we want to build snowmen maybe we even want to have a competition who builds the best snowmen i can build a snowman but if we have a branch it's almost like taking and making a virtual snow filled for you a virtual snow filled for me i'm allowed to build my snowman without interfering with you you're allowed to build your snowman without interfering for me we shouldn't be building the the same thing at the same time because that might have some issues when we merge but those branches allow us to be able to build separately without getting in one another's way and then be able to merge them together so from a data perspective a good example of that would be is if i'm working with a customer and specifically we're doing something where let's say it's a college and we want to figure out uh what the average grades were for last year well let's say josh is working for the same college and what he wants to do is he wants to figure out who graduated because they're now alumni and as a college we want to hit them up for money and say support us um and so i would have one development branch where i'm looking at grades and i'm building stuff josh would have another development branch where he's looking at alumni so we can figure out who should we reach out to and that allows us to be able to build things stored procedures and things of that nature using a very specific naming convention that can eventually be merged together but my stuff and his stuff does not interfere with one another and it allows it to stay clean um and if we do need to roll back some of the code it'll makes it a lot easier for us to identify what code do we need to roll back it allows us to be able to merge perhaps like a workspace publish branch but then when we get down to main when we publish domain when something publishes specifically to maine i want that to kick off an automated build that could then potentially go directly to qa so we could have people in qa our quality testers our analysts we could have them beginning to work on it i hope that makes sense if that long rambling explanation did not then please feel free to come and get in the comments no no i think that's good and you actually touched on another question um you know uh that someone else had is how do you configure the pipeline in the cases of deployments that have to be reverted or retracted and i think part of what you got into there with the branches that actually helped partially address that as well i think that's a good thing to have absolutely now one thing i do want to definitely kind of warn everybody i'm a data guy um i started out my life as a developer i became more and more a data guy as data guy i got more and more removed from devops but as of late i've gotten more and more involved in devops again so there are definitely some really great folks out there especially folks that work with microsoft if you're working with microsoft if you have access to a csa or somebody like that feel free to hit up those folks because we try to make sure that we've got folks available to be able to cover all those different disciplines uh when i work with customers i've got a good friend named nicholas mccullough me and josh and nick are going to live 360 later this year and um nick i'll bring nick in because when people start waxing philosophy with devops how do i roll this out to the company how do i do this i'll hang on and i'll listen to educate myself but i i pay tons of attention to synapse and what they're doing to change that and that's where my focus really is his is on devops and so i wouldn't want to guide somebody down the wrong direction so there's never a bad idea to be able to look at the expertise that you have on hand and make sure to reach out to those resources uh i have plenty of devops people that i will defer to when we get in the big weeds of devops projects because you start to talk about process and you get a little bit philos philosophical about how does the company work what do you need to achieve and you can tune devops to be able to work for you there's a lot of flexibility within devops but you want to make sure that you've got some good standards and practices established um yeah and and i'm glad you hit on that too we're not by any means devops experts we're here trying to bridge that gap that i think really exists with a lot of our customers and throughout the data community as a whole is connecting devops now to data um you know data as a as a field has kind of been a late arrival um to the the devops you know drive um one of the other things uh that has come up regularly and and i kind of wanted to address it quickly as a question is um test automating test pipelines and so one of the things that we do not touch in this is how to um is how to put those tests in you can absolutely create test cases within azure devops and then add them as steps in your pipeline and um one of the things uh you know the i'm actually working now to get a document out there in the chat to respond to folks um is how to add test cases um through test studio and add them to the release pipelines so that when that one's actually i need to get a different link the one i had was for um specifically for powerapps but i'm getting a link together to put out there just how you add those test steps to the release pipeline so that obviously if a test fails um you can you can fail on that or you can stop that release pipeline because the test fails we obviously don't want to publish um further so but i am getting that together for us absolutely and i'm going to come back to our resource group because one of the things you can see at this point in time um your shared your share dropped off brad we may need you oh we did oh sorry there you go so even though we're still running over here um you can see we're starting to get some resources provisioned uh the qa cloud summit storage account the synapse workspaces right there if i click in this i should have a little bar right here yep says resources is being provisioned um so we're not quite done yet as a matter of fact if i come back over to just my resource groups and i do a refresh i'll see that there's my cloud ai summit mrg2 for the manage resource group um so where we can see we're meeting with some level of success things are happening no never a bad thing um this probably has a couple more minutes in it and then what will happen is the powershell will run so um in the intro how are we doing uh on time check real quick josh um so it's 2 26 right now okay and we go till 2 30. um i believe so okay so what what i'm going to do is i'm going to then come over here and make a new build pipeline um we're going to let the other uh um release pipeline continue to run because i want to make sure we at least get through this um what i'm going to do now is i'm going to do a build pipeline that is essentially allowing us to merge the changes to be able to go to uh to a new environment um but again this is going to be very similar in the beginning we're building um just that pipeline where we get the files uh so let me make this something we can find uh we'll again con and confirm brad we are 2 30 so there's like two minutes okay let's see so we're going to change this to the new environment this is going to be our build we're going to do a copy files while you're typing in some stuff there too we also had another question rajesh currently synapse have uh is in preview when can we um expect ga um i i wanted you to address that i don't know yeah so so actually synapse analytics workspaces are in public or ga um the gen 2 pools that are in there right now are ga uh the spark uh two point uh something is ga uh spark 3.1 um is still a public preview but i expect that to change by the time i i we've got a big conference coming up ignite i'd expect some announcements that's what's there um we do have some items that we've announced before in public pre i'm sorry in private preview uh but we don't have any timelines to share on on when those are gonna uh go to public preview or or ga or anything like that um so that i i would have to leave that to uh the snaps product group um and those those bits of knowledge you just added was exactly why i was stalling for you to jump in and talk about it because yeah there are some active pieces in preview some ga um and thank you no problem and you can see i'm going to the dev cloud summit i'm going to get everything that's json and then my target folder for this i'm going to do the build artifact staging again but i'm making a new folder for this workspace deployment again if we combined everything that would allow us to be able to do that and not have these files all sitting in one directory i'm going to publish the pipeline artifact taking that to the build staging directory i'm going to make this uh drop sw for azure snaps workspace save and cue this that's going to make this automatically run um and it's queued up now one thing i should have done and i apologize let me edit this real quick because i'm going to show you this if i wanted to i could add triggers enable continuous integration on the branch main and i could add a path filter to be able to uh save my rebook folder which was real quick i believe uh oh summit and if i save this whenever i save anything i merge it to that main folder specifically in the dev cloud summit that contains all that arm whenever i merge to there that will automatically pass that through as a built package um that could then be utilized as the latest version in a release package so let me come back over here this is still running again i expect this one's going to go pretty yeah it's already saying that it's successful so let's come over here and do the release and and as we do the release brad it looks like we've hit time yes um i so real quick let me click empty job here so i will just try and fly through this as fast as i can so we've got this on the recording um so we're going to remember this deploy arm merge changes for the new environment we got our latest build i'm going to come over to my tasks and over here i'm going to get the apps deployment workspace when i click on this there's a little uh let's see learn more and this will kick out the information you can see the different updates we've had on this there's feedback for forums on this if you have any feedback on it and then this documentation synapse workspace for continuous deployment this is where i was talking about where it goes through everything even points over to my blog at some point set up the release and azure devops uh and then it comes down and you can see that we're going to um look at the arm templates um the artifacts for deployment using github actions workflows then there's the yaml right there so custom parameters so this goes through quite a bit really really great resource there so i'm going to add this task the template is the template for json within here and then brad too while you're going through this everything the blogs the document or the blogs are all linked in the slide deck and then we'll figure out a way to get that out to folks because i know there was um you know there was some a lot of comments there in the from the group is how can i get my hands on all this information and documentation and stuff so yeah we will work to get this um out um actually um if you watch uh my twitter so my name here on the stream yard at josh ludemann is also my twitter handle brad is at sql balls we'll be tweeting out that link later this afternoon so that people can get a hold of those slides with those links and a really important thing is i used to have override parameters here um that was on task 0 task 1 that's where all our latest updates and our bug fixes have gone so you shouldn't need to specify some of the override parameters that um that i had to in the past and so with this let me just validate that this ran because if this ran successfully i should be able to get in here within an error sometimes that powershell script needs to run more than once looks like i'm in here okay so you can see this is up and just to show that this worked on the access control i should see there's my cloud summit ai because again it created it so it's going to get that administrative and then there's my bball asw workspace admins group that we had in the powershell script right now you can see there's nothing over here though so let me save this go ahead and create that release and when this finishes um i should actually be able to refresh this and what we'll see is the content that we put in here the different scripts the notebook uh the pipeline they should actually uh end up over there sorry i know we're a little bit out over so if if we need to get kicked out at any point time please let us know josh any more questions we want to hit while this runs no actually there's just been a bunch of thank yous this is an awesome session so thank you to you guys for appreciating it um yeah but at this point yeah the test cases and and i'll address that in in a link a little bit later too no and and thank all of you i mean uh we were trying to hurry so i didn't get to say this but uh this is your heart and kind and uh it really matters where you decide to spend it and we we can't thank you enough for descending to spend that time with us and we're hoping that this works out nicely and it helps assist you as you're continuing to learn and grow your organizations with snaps all right so this says that it completed successfully so let me refresh this real quick oh did it did it yeah there we go okay so we're in our qa we've got our sql scripts we've got our notebook i come over here and here's our pipeline so again to kind of walk through what we did and i know it was very very rushed we took an azure snaps analytics workspace we connected it to devops repo in azure in azure devops we then created a couple objects and we committed those and they were published and we did pull requests to make sure everything was committed to main we did a build package for that we then added some arm to be able to deploy a qa we did a build package for that we deployed the qa environment and then we deployed our build package to push that metadata information we had in dev over to our qa environment there's there's a lot more there's going to be more blogs coming uh we've got some additional stuff database projects work with this there's a different type of database project you can't use a dac pack but you can use sql scripts for serverless databases and then one little gotcha i would give you is if you deploy a pipeline i'm sorry if you deploy a notebook make sure your spark cluster is named the exact same thing in dev and also in qa and also in prod it actually gives you an error right now that says it's a pipeline error but it's not a pipeline error trust me i found this out this was a lot of hard work one day it was just that the notebook that we had associated uh was pointing to a cluster and that cluster did not exist in the qa environment um without with that i think that's everything i've got yep and then i uh went ahead and got back with simon to get the link out for uh test tasks in azure devops so that'll be coming out in a comment in um in well actually it just landed too and the youtube link and facebook and everywhere else um so anyone who had questions about how to add tasks to those pipelines it's right up there um and then like i said uh watch for brad and i on twitter we'll be tweeting out the deck so that you can get the links to all the blogs um and uh the the three slides uh five slides sorry i forgot about the bio slides yeah five slides in the deck we gotta hand those out uh they have the actual valuable links which are more important than any bio slide yeah and we'll we'll send those out very very shortly because again that's really only the important stuff in there and uh they're very detailed they step through everything step by step just remember uh part four is kind of old um when you get to that part four and you're doing that deployment pipeline let me edit this real quick so i can show you just make sure that when you're in this task right here you're on one dot star because that's where all of those great bug fixes that have occurred and as you can see there's been quite a bit from uh the 25th of uh november last year all the way up until early august um so they're doing a great job of getting things fixed and patched and making sure everything works and it's self-contained within the devops project all right well thank you to simon uh for having us we really appreciate it um and to the team at cloud summit um really appreciate being here thanks guys yeah thank you so much for having us all right gentlemen what an uh what an amazing session it was i think you both deserve an entire day and i'll just leave you with that audience in the chats right it won't stop for six hours if you stay here if you keep continuing your session i believe the comments will still keep on flowing and you know at this moment we have around 700 people watching across the platform uh imagine if they were like the other day they were like around 8 000 people watching uh i i don't think we could have handled this this session uh in that situation because uh we have more of the developer audience and you know people really like when people go ahead and share more about the tips and um the the real world scenario uh you know when people share it so i think people really connected with your session uh i have taken all the questions i and i just can't even count how many questions were there and so many thank you and amazing sessions that people have said it uh any final thing uh josh and bradley you would like to plug in before we move to the next uh part of the summit um i on behalf of me i'd like to say thank you um as well just to let you know a little bit about what we do we work um in engineering um for fast track for azure so we help customers all the time accelerate their workloads to azure so if you have any questions um reach out to your account team and uh um ask them to you know for help from fast track would be glad to um see how we can help um there's also were some other questions simon that we didn't get to yeah they were somewhat outside of the scope i'm still gonna um go over those with brad and we'll be tweeting out some answers to those and we'll hashtag them cloud summit too um so that folks can get answers because there's there was some good questions in there like differences of azure sql versus azure postcards yeah i saw that yeah and again thank you guys so much for having us uh it's a delight to be here and again i really love the user base i love how passionate everybody is um and it makes it very easy to participate about this i mean because let's face it there's something not quite right about all of us we love technology to the point that we get excited you know uh sometimes we do something like we get the devops project to run successfully and we go yes and you think that we just scored a winning touchdown uh in something or soccer but you know we went we explained to somebody else what we did they look at us like we've just grown a third eyeball in the middle of our head because they they don't understand it and so uh it's wonderful when we can all kind of get together those of us that have that passion for technology and um and really get to contribute to one another so thank you so much for having us no i think i think it was an absolutely amazing session bradley and josh and we do events like this across the year in the year 2021 we are committed to 21 events like this and past year we did 20 events like this 20 20 20 events and engineering 21 events and we do almost the daily live shows of on learn tv microsoft channel line that's how we do it and would love to host you both in other events and live shows and also i'll stay in touch both of you and yeah thank you so much it was absolutely amazing to have both of you the absolutely amazing duo from the fast track and yeah i will see you some other time have a great day ahead and yeah have a nice week you too take care and take care of this bye all right with that absolutely amazing session to end the day i believe the uh the end of the day could have been any better than the bradley and josh session uh we're gonna take a couple of minutes break and then we're going to come back to announce the winner of the day we've had many contests going on for the live comment contest twitter contest and linkedin contest so let's take let's say thanks to our sponsors in about two or three minutes then i'll be back life in operations it's a mix of planned and unplanned work operators frequently find themselves getting interrupted with an endless stream of tickets often for doing the same things over and over again and those tickets are often escalations to yet another team resolving these tickets leads ops teams to searching documentation and run books looking for steps to complete routine procedures hopefully the docs are up to date and the operator has access and they don't make a mistake and of course that the business can afford to wait wouldn't it be great if there was a better way what the operators really need is their run books to be automated here's where rundeck can help rundeck by pagerduty is a leading solution for runbook automation customers use rundeck to delegate automation to the right people in the organization now users get self-service access to operations that previously only subject matter experts could perform rundeck automates it workflows and processes replacing the previously manual procedures found in documentation rundeck doesn't replace existing automation it makes existing automation scripts and commands more secure auditable and safe to run rundeck is a central hub for automation connecting key tools and infrastructure and operations workflows rundeck helps teams resolve incidents quicker avoid interruptions and get more done all while ensuring things are locked down and remain compliant first responders are empowered to resolve incidents themselves instead of escalating minimizing disruptions and reducing outage time operators become more productive developers stay focused it users can solve problems for themselves with the click of a button run debt customers regularly see 60 shorter incidents escalations cut in half and 15 to 20 increase in productivity sign up for a demo today script runner the number one for powershell management we get it you were hoping that powershell would save your day but you figured out that it is not user friendly for non-experienced colleagues managing the increased demand on it is a growing challenge and running scripts manually is still very time consuming and complex welcome to script runner the number one for powershell management script runner runs on powershell scripts it combines everything you need to efficiently manage and automate your complex it infrastructure with script runner you'll be able to make it easy for your team to perform administrative tasks without any knowledge of powershell have a transparent overview on all powershell activities and most importantly free up your it resources for more relevant tasks such as innovation and development download your free trial now and unlock the power of powershell [Music] [Music] [Music] [Music] all right welcome back i'm just looking at somewhere else uh welcome back and it's time we announce the winners for the day and before i do that let's let's have a peekaboo on what's on day three of cloud summit 2021 so to start with okay let me go and actually zoom it maybe i think yeah that makes sense so uh the event starts at 6 30 a.m eastern time zones all the time that you see on the website it is mentioned in the eastern time so it start at 6 30 am so probably i don't think so there would be many americans joining in or people from the us it's usually oceanic and asians and europeans uh it starts with the custom azure custom vision then we move into bot just to start with ai and board then we move to introduction to azure sql uh if you are someone who have not yet started it's a good session to attend uh then the sessions by full gang who is a microsoft mep is going to talk about a session related to data i believe he's going to talk about how you can use data from sap power bi and other and data links followed by we have a session by marco who's gonna talk about dot net and azure then again azure sql the azure devops serverless then a cloud in journal then i mean there's a lot of sessions this one is by pagerduty the the the ad that you just saw by one of our partners then we take a break of 30 minutes as always and then we have the keynote keynote is by kyle cinema if you know carla cinnamon is a program manager at microsoft and was one of the featured speakers at microsoft build so yeah thanks kyla and then we have christopher harrison christopher harrison is again a senior program manager at microsoft uh if you remember before microsoft learned that it used to be microsoft virtual academy and he's he's the actual rock star of that era i mean i don't see his old but and then we have integrating my carrier stories into the head in the cloud by holy layman who's actually the product marketing team product marketing manager teams at microsoft so those are the sessions for tomorrow just after this live show ends we can update the embed chat and the video over here so if you just refresh the page in about a couple of hours after we end this summit you will find the day three videos having said then let's go ahead and do a giveaway we have already done the giveaway for the live chat in the first half but maybe i believe we should be doing it too because we have two every day uh two such two halves every day so the way this works is that you have to use cloud summit hashtag in the chats while you ask any questions to the speaker and then we pick any one person randomly with this tool so are you ready let's see are you ready guys and girls okay let's see in the count of three two one let's do it i definitely need to add some music over here or drum rolls let's see who wins uh let's see let's see uh when did chaga chaga just use you win the uh cloud summit swag kid take a screenshot of this go to azure summit website do a contact us or just drop us an email and we will make sure that we ship you the cloud summit swag kit uh after the summit ends uh the next winner that we have from linkedin is uh amit amit kumar uh has taken a screenshot and he is shared that he's attending the cloud summit 2021 so thanks constellations uh amit you are the winner of linkedin uh contest for the today and just drop us an email with a screenshot and we'll make sure that we give you the goodies and the winner from the twitter is ganesh ganesh has been really really active throughout the summit uh he's been tying speakers he's been taking screenshot so thank you ganesh for all your efforts and uh you are the winner for the twitter contest and please shoot us an email with the screenshot and make sure that we ship you degrees having said that uh that's it that's it for day two of azure cloud summit 2021 i wanna thank you to everyone who has joined literally everyone who has joined even for a minute to every single speaker people behind the stage and to every single person who is asking the questions your questions make speakers feel good and that's how they feel a lot more confident so thank you everyone who has been dropping comments in the in the chats and asking questions telling how they feel about the session today we're gonna wrap this uh day two over here and we will be back tomorrow at 6 30 a.m indian at 6 30 a.m eastern time zone which is about 4 00 p.m indian so if you're joining from india it would be around 4 00 p.m actually you can actually see it if i'm not wrong let me give you the exact there and time so tomorrow we start at tomorrow we start yet tomorrow we start at 6 30 a.m eastern time zone 12 30 p.m central european time zone and 4 p.m indian time zone that's where we start thank you everyone for joining us today it has been an absolutely amazing day too and i'll see you tomorrow until then until then take good care of yourself keep posting on twitter keep posting on linkedin you never know we'll find someone who has been really creative and will give go ahead and give away some some of these swag kits thank you everyone my name is stephen simon signing off for today and we'll see you tomorrow day three of cloud summit 2021 one of the not one of the the largest cloud event focused on azure [Music] [Music] [Music] you
Info
Channel: Cloud Summit
Views: 1,206
Rating: 5 out of 5
Keywords:
Id: W0Qdtb_g1ds
Channel Id: undefined
Length: 181min 14sec (10874 seconds)
Published: Tue Sep 14 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.