0:14
Time for a session about cloud. And many of you have probably gathered
0:21
from the session description and from the title that it's about command line, and it's about efficiency, in fact
0:30
So I want to first talk about you very briefly. Thank you for coming
0:36
Brilliant to see so many people here. And I suppose you're here to understand this cloud thing better
0:43
You heard a little bit about this in the keynote that there are some struggles. There are some challenges out there that makes it challenging
0:53
hard, really, really difficult really, to use the cloud. And one of those things is related
0:59
to a lot of waste and a lot of the setup you have to spend time setting things up
1:05
in the cloud and making it right. And that is complicated. And I hope that you are ready here
1:11
to learn about this today to figure out, you know, how can we go further, right
1:17
So I was saying that companies are wasting a third of their Azure spend
1:23
of their cloud spend, really, doesn't matter which cloud. And that waste, that's a third
1:29
a lot of money, right? So if you're investing your company is investing 10 million rupee in the cloud
1:35
like 3.3 of those are just like burning money on the lawn, right? That's crazy, right? So what can we
1:42
do about this? You have to do a lot of, you know, testing and development to ensure that the
1:49
resources are running, that they're running in the cloud. And once you have set everything up
1:53
you're afraid to take it away again. Because now it works. Don't touch it. It works. All right
2:00
Don't touch it. It's working. So you keep it there always, right
2:05
And what happens? You go home for Diwali or you go home over the weekend
2:09
or maybe you just go home over the night. And while no one is working
2:14
your Azure resources are still there running, still there costing. No one is using it, but it's still there
2:22
What a waste. And setting things up in such a way that you can
2:28
you know, what would it mean to, a company if they could tear all the development and testing environments down from the costly
2:36
cloud platform over Diwali? What would that mean for them? Or over the weekend again, maybe just overnight, so that a tester can come in in the morning
2:46
and say, okay, hey, I want to start testing now, so please put some things in the cloud for me
2:51
It's right there. That's interesting and a very challenging problem to solve, I might add, something that has taken
2:59
up a lot of my time as a professional and other people as well
3:04
And once enough momentum is built about that this is a big problem, then the cloud vendor
3:11
might start investing in making sure that it actually does work for everyone to be improved
3:17
this optimization, right? Because they might go to their cloud platform vendor and say, hey, I have all this waste
3:24
Why is this? What can I do? And they try to teach their customers
3:29
hey, listen, customer, here's how you do it, I'll show you what to do
3:33
And then the customers go, oh, this is hard. So many errors. It takes time
3:38
We're supposed to build an application, and we're not supposed to be doing all this other stuff
3:43
Right? And then they try and try as they might, as hard as they can, to make it better
3:49
So application developers struggle with setting up infrastructure because that's not what they are supposed to be doing
3:55
They're supposed to be building applications. How do I make them again what I said in the, in the keynote, right
4:00
Secure, compliant, cost-optimized. How do I do that? I need to spend time while I should be building the business
4:08
I should be building the application for our business and I'm spending time setting things up
4:13
Deployment pipelines. Oh my gosh. There's so much there to just like
4:18
how can I do automated builds and automated deployments and automated all the things, right
4:23
That's DevOps. We love it, but it's hard. It's a big challenge as well
4:28
Testers are dependent on other people to do their work. So IT operations must spend time initiating
4:36
their testing environments and setting them up properly. And then application developers have to spend time
4:42
building and deploying applications to that. So we're all spending a bunch of time
4:47
that we should be doing better things with. So the setup in the cloud costs money
4:52
because it's there also wasting money, right, while it's not being used
4:57
And again, time, effort, and therefore money is wasted. The actual money you can measure in the cloud
5:05
is from the consumption bill, but there is another cost as well
5:10
which is human cost, right? As in people working on this that have a salary in a life, right
5:15
So they expect money at the end of the month. So what can we do
5:22
What can we do about this? Well, today I'm going to talk about Microsoft's efforts
5:26
in this space to solve this problem, by packing all the things you need for your application
5:32
into a nice little, neat little box and making it such that you can very easily
5:39
and very powerfully take advantage of the neat little things that are in this box
5:44
So eventually your company as well will be setting up these neat little boxes in just exactly the way you need them to be
5:51
so that things are compliant, secure, optimized, and that you can deploy them, set them up
5:57
and tear them down easily. Right? So you can deploy to Azure, you can tear it down
6:02
Right, brilliant. I am Magnus Martinson. Hello, everyone. Okay, I've been in the cloud for a bit
6:12
since the beginning, since it was called Windows. Windows Azure was the first version of it
6:18
and that means that I have now 11 Azure MVP titles. So I have seen the journey, I've seen the progress
6:24
and I have spent much time of my professional career, building automations, building setups, enabling people to do their job
6:34
enabling and empowering the right person to do the right job at the right time
6:38
with as little effort as possible. It is hard. I'm also a Microsoft Regional
6:46
Director, which is a funky title because I don't work for Microsoft, so please don't think that I do that. I don't work for Microsoft, I don't have a region
6:53
and I don't direct anything, but it means that I'm a close friend of Microsoft
6:58
And I talk to Microsoft at a high level, at a corporate, like, a VP level, I talk to Microsoft, and I get a lot of insights before you do
7:06
And so I'm here to share today one such insight, which is kind of new in the cloud
7:13
Oh, by the way, there's a prize. So be ready with the cameras for later
7:40
All right things you need to know as a modern day developer Oh my gosh How to set up infrastructure How to host applications how to ensure performance and how to scale them up how to scale them out how to scale them in
7:52
how to tear them down, how to build deployment applications. When you see a list like this, here's a clue
7:58
I don't want you to read it. I don't want you to remember it. What I want you to know is that there is a lot and more
8:06
Yeah? We want to get away from this. and your teams should not necessarily
8:12
especially if you have many teams, have to know how to access the cloud
8:16
and set everything up and build a baseline platform in the cloud, how to create, and again
8:22
configurations that are correctly sized and compliant and secure, how to deploy both permanent and temporary infrastructure to the cloud
8:29
All of that stuff, what you need to do is allow people to gain access appropriately
8:36
So some subscriptions for using the cloud, are needed. For those of you who have used the cloud sometimes or the Azure Cloud, sometimes
8:43
those are referred to as a landing zone. Set up properly, someone does this, infrastructure people
8:50
There is someone who made a deal with your cloud platform vendor to give access to your company
8:55
to start using it. And also give access control so that I can get into the environment
9:00
that have an appropriate setup. And honestly, logging, networking, and operations and other
9:06
shared services are very important, none of which we're actually talking about today
9:11
But let's say we have this. This is all done already. We have it
9:17
Set up automated builds and deployments. That's a DevOps department, the whole department of people working
9:22
Yes, absolutely. You are brilliant. You are important. Also, environments. Call them what you like
9:29
You can call them environments. You can call them something else. You can have test and production and development
9:34
You can have pre-production. I don't care what you call them. That's fine
9:38
But that's all stuff that we need to do, none of which has to do with our business, really
9:44
None of it which brings our business forward as such. It doesn't build our application
9:50
And then of course also the waste that we're talking about. How do we clean up when we need to go home for Diwali? Right
10:01
So the rest of this talk will be not in slides, well, a little bit slides at the end
10:06
and I will switch over to Vissure Studio Code. We're gonna talk about AZ a little bit tiny
10:13
AZ is the command line for Azure. There's two actually, there's one in PowerShell
10:18
and one in more like AZ, more like that style, Bash and stuff and stuff
10:23
And we're also going to talk about, which is kind of the most, like the end result of this talk
10:29
We're gonna talk about something called AZD, which is now in preview
10:33
It's a development command line, right? which is going to help develop things in the cloud
10:41
So let's take a look at this. And you're like, oh my God, what is this
10:50
It's nice, let's see if we can make it one larger. Is it okay
10:56
Yeah, you can see enough? I hope so. So this is Visual Studio code
11:02
but you'll be like, okay, this doesn't look like any Visual Studio code I've ever seen. It's because it's in full screen mode
11:08
So if I escape out of that, you now recognize Visual Studio code
11:13
but with this resolution, it starts to look a little bit difficult
11:17
So my first tip of the day is to hit Control K and then Z
11:24
You get the full screen development environment, which is nice. And then you can get your command line area if you need it
11:32
and you can get your left menu if you need that. So that works
11:36
Okay, so I'm gonna be in this mode because it's more like presentation mode
11:44
Yeah, okay. First you will need to go and understand how to install the command line interface
11:50
the AZZLI. And if you are using a modern PC, you will have the Microsoft Package Manager
11:57
There are other ways you can download an installer and run that and do all the things
12:01
That's okay as well. But if you have the Winget command line package
12:06
manager available, you can just do a simple command to install that
12:11
What you get, oh, oh, by the way, again, I mentioned it once, but I will do it again
12:16
There's a PowerShell module. You can use PowerShell if you like PowerShell. There's two, right
12:22
The reason why there are two, the reason why there are two is because people
12:28
who do command line Windows stuff use PowerShell and don't like the Bash style stuff
12:34
and people who come from the other world doing Linux and Bash style stuff, they don't like PowerShell
12:39
So Microsoft had to make two, and both of them are open source. It's brilliant
12:44
I love that. But anyway, here we are, people, right? So, and we're using, we're not using PowerShell much today
12:53
So we're using AZ. It just says a little tiny AZ there
12:56
It's actually very small. I can execute this command. See if I can remember how on this keyboard
13:04
like this. If I execute A-Z, I hope I have internet now, otherwise
13:10
Yeah, there we go. It's just showing that I have it installed and what can I do with it
13:15
So this is a great tool, and you see how many things you can do in here? Oh my goodness, all the things
13:21
You can do so many things. You can start, you know, deploying things and running virtual machines
13:26
and setting things up networks, and there's so many things in here. Logic apps. I like that
13:32
Ooh, so many things. This is hard, okay? And so while you might understand how to do this
13:42
or might learn how to do this, it's powerful, it's command line, it makes you look really cool
13:46
Yeah, yeah? You sit there with your computer writing little taglines and stuff and somebody works by
13:52
ooh, that guy knows a lot, yeah, or that girl knows a lot, that person
13:58
All right, brilliant, we love A-Z. I'm not gonna spend much time here
14:05
You can also, of course, run full deployments from here. You make a what's called
14:10
Infrastructure as Code, right? How many of you have used infrastructure as
14:14
code? Not that many. So Infrastructure's code is when you write like a little recipe
14:20
for your infrastructure. Here's what I'm going to deploy. I want a virtual machine. Yeah
14:26
That has to be in a network and then it needs to be attached. And then I also want to have a
14:30
database, a storage account, and some more things, right? You write down like a little description of what you need
14:35
in a little language, depending on where you're deploying it and how you're deploying it, the language will vary
14:42
but the end goal is the same. Because this is a text file that describes your infrastructure
14:47
You can check that in to get with your code so that it's side by side
14:51
You have the infrastructure setup, and you have your code. And additionally, you can also do the same
15:01
for what's known as your pipelines or wherever you're using them. for your automated deployments and stuff
15:09
So you can write all this down like little descriptions and that's text files, right
15:15
And what's obviously again perfect for text files and versioning? Well, that's Git
15:20
So you can put all your stuff in there and make it run somehow
15:24
If you only knew how, right? All right so we back to that again right So if you only knew how to do it the next step then after AZ is to install AZD right
15:39
The developer command line that we're talking about here. So we're on a journey
15:44
We're installing various things, and again, you will have this after, okay
15:48
So you can go and read up on these things here. I put the links to the things
15:53
One thing to note here now is that this, it says, that it's the Azure Developer CLI, it's the October release
16:01
so a little while ago, not long ago. This is a preview still, so it's a little limited
16:08
but we're on a journey here. We're on a journey to understand how these platform vendors are investing
16:14
in making our time more focused on solving our business needs rather than doing other things that we shouldn't be doing
16:23
So I think it's okay to talk about a preview and to understand how things are hopefully
16:28
slowly but surely getting better and better for us. To install all of this stuff, you need to have Git
16:36
And Git is a whole other world as well. I can of course always execute these things
16:41
You see down below that something is happening. I have Git on my machine, it's all set up
16:46
And again, if you like these command line niceness, beautifulness I have down there in this setup
16:54
that's exactly the setup I'm sharing after the session. So you could have the same
16:58
same if you want, or you could take mine and then you can build your own based on the one that I have
17:04
All right, and after that, when you're talking to, in this case it's GitHub
17:08
It could be Azure DevOps. It could be anything else as well. But in this case, AZ, AZD is working with the GitHub command line
17:17
So now you have to have the GitHub command line as well, which means that you can do, you know
17:22
forks and things and also create pipelines and things. So again, same thing here, right
17:28
If I execute that, you know, same thing here. So many things I can do
17:36
Oh, what's a label? What's a secret in this case? What do I do
17:42
Oh, environments, hmm, lots of things, actions, right? Yes, this is brilliant, and if you are an expert in this
17:50
you're definitely going to be, you know, doing well in your job for sure
17:56
But there are so many things to learn in so little time. So now that we have all these other things
18:02
we install AZD, and because again it's a preview, it's literally download this PowerShell script and run it
18:10
That's going to, in turn, download an installer and do the installation
18:15
So it's not all nicely neatly packaged yet, like you can go like Winget AZD and everything just magically appears
18:22
It's a little bit rough, and slightly limited, okay, that's fine. So once you have all this installed, you can now do
18:31
see if we can do like little drama, drum roll thing. You can do it like this, and I can execute that line
18:41
and you get AZD. So AZD also has a bunch of things
18:45
but there's not a lot you have to learn yet, but it's really cool that you can deploy applications
18:51
you can set up pipelines, you can do various things that are important
18:55
things that are important. I'm not gonna do many running things today
19:02
I'm not gonna do running a lot of things today because we really don't have time for that
19:07
So I'm going to like move it along if you will. And again, you can start playing with this
19:15
by setting up a testing directory. Here's a testing directory. And then you can run again with the limitations
19:23
that we have right now. there's a list of templates that you can start looking at
19:28
how they work. So these are the fixed templates you can do now
19:33
so not production worthy just yet. But eventually you'll be able to do something like this
19:41
This is a to-do app written in C Sharp with a Cosmos DB in Azure
19:47
So if you want to have that template, if you want to have that application in the cloud
19:53
all you do, is write a ZED up and then give the certain template
20:02
That's brilliant. This runs and deploys all the infrastructure to the cloud
20:07
So you need a subscription and you need to tell where to put the things
20:12
Runs and sets up everything in the cloud, builds your application code, and deploys it to the platform
20:19
Right? There's nothing you can't do here. And then of course, if you want to have that
20:23
with continuous build and all the, things you can also deploy the pipelines. So I want to show you what that looks like
20:31
in the repo behind it because I said that it is a repo and these are Azure
20:38
samples just now for the preview but it's a repository. We should make that
20:43
much larger. It is a repository and again it contains all the infrastructure
20:49
assets and things there your pipelines and tests and and all the things, and it's all scripted
20:57
it's all set up for you. So if you want to learn how to do these things
21:02
if you want to learn how to deploy a pipeline to GitHub with infrastructure as code
21:08
if you want to learn how to set up the infrastructure in the cloud using Bicep
21:14
which is a language that describes your infrastructure, yeah? It's arm templates, it's the same thing
21:20
You can go to these repos and look How are Microsoft setting things up in these samples
21:27
And how can I learn from that so that I can deploy the same things myself
21:33
How can I build eventually, hopefully, in the future, something like this myself or for our company
21:38
for our product, with reusable all the things, right? It's absolutely brilliant
21:45
So essentially what Microsoft do here is that AZD up will read this repository and just
21:54
deploy the things that are specified in there. Couldn't be more straightforward if we tried
22:00
However, this has turned out to be quite challenging for the industry at large to learn and understand how to do
22:07
So you can't really do it fast, so you don't do it fast, you do it slowly
22:11
Well, at the end of the day, or here comes Diwali, it's time to go to leave the office, yeah
22:15
So I need to straighten up my desk and clean out all the coffee mugs
22:19
and make sure that everything is nice and clean, because otherwise my boss will come and give me an
22:24
careful, okay, yeah, I get that. So in the cloud should be the same
22:31
The first one was ACD up, this one is ACD down, which is just clean
22:38
Remove the infrastructure from the cloud, remove the spend from the cloud
22:43
Gone, Diwali, party, all the things you do, yeah, and then back to work, ACD up
22:51
Oh, I like this, I love it. Okay, I'm not gonna spend more time here
22:55
I'm actually gonna go back to the slides and start kind of not wrapping up
23:00
but when you do run one of these, you get to put the subscription name
23:05
and where should I be deploying the things, and then it goes and does that
23:11
creates infrastructure, builds your application and deploys it and it just shows you what it doing very magically right Automatic They say that any sufficiently advanced technology is indistinguishable from magic So you guys know that you are in the Harry Potter reference terms
23:30
You are magical folks. You're not the muggles, you know, non-technical people
23:35
those ordinaries that are not technical. Yeah, you're the magical ones. All right
23:43
I have a little bit of a wrap. up after any questions this is getting awkward yes
23:55
ACD down is that a kill switch yeah it kind of is you need to be careful you
24:02
don't want to do that in production the point is that you should be able to
24:09
do that so easily right that it's safe to do it I've been preaching for
24:15
years that if I can come into your company and start looking at your Azure stuff and I
24:19
have a oh I see you have it is what is this oh that's a testing environment can I
24:23
delete it they go like oh no don't touch it remove your hand from the mouse
24:29
immediately then you know they haven't automated enough right if you go in
24:35
there and say can I delete it they go like sure delete oh just deploy it
24:40
it's back ha ha then you know they have automated just enough yeah
24:45
Other questions? Was that the answer to the question? Sort of, yeah
24:51
It's a kill switch. You can remove it all and remove the deployments in Azure
24:55
because when you have resources in the cloud, AWS as well, it doesn't matter which
24:59
when you have resources in the cloud, they cost you money. So you want to be able to tear them down just like that
25:04
And you want a tester, not infrastructure specialist, not developer, a tester
25:10
to be able to set up a test environment themselves. Otherwise, they're going to come and bother you
25:15
if you're the developer or the infrastructure person and say, I need a testing environment
25:19
Hey, I'm writing code here. Yeah, but I need a testing environment. So you get like split vision and everything goes nuts
25:25
Yeah, you want the testers to be able to do that themselves
25:28
You go like, okay, here's a post it. What do you mean post it
25:32
We'll read what it says. Well, it says, A, Z, D, up. Yep, that's all you need to know
25:38
To know, now go away. Right? That's what we need. Okay? All right, I think we're running short of time
25:48
So again, preview, you know in Azure, at least they don't call something a beta
25:54
They call it a preview. And also the opposite. When you're looking in the Azure Cloud, if you ever see something that says classic with
26:01
parentheses, you have to pop the hip when you say it, classic. Whenever you see something that says classic, you know it's old
26:08
You should be somewhere else, right? Because then they are replacing that with something new
26:13
So then you have preview and classic. are the terms you need to know. And yes, this is not production worthy yet. It's not useful for you
26:19
today, but it's a good thing to start learning about because soon, hopefully, right? And again
26:26
the big picture is a couple of things. This is directional. You know where they are going
26:31
They want to make your life as easy and fast as possible, right? That's great. Thank you for that
26:36
Two, the samples are already there. So even if you can't use this in production, you can get
26:40
inspired by all of these samples. It's like 12 samples there. You can say, okay, how did
26:45
you Microsoft deploy using just this repo of text files. How did you deploy all this infrastructure and these pipelines
26:52
and this application code? How did you do it? So I can learn from them and do it myself
26:57
And then in a while, this will become a released product and you can use it
27:02
All right, to recap, here's the summary of this session. ACD up and ACD down
27:14
Summary? Yeah? Make sense? Yeah? Good. Because, ladies and gentlemen, please
27:23
it is about pride, professionalism, and being able to do your job the right way
27:31
And of course, yes, bringing value to your company, yada, yada, but I want money
27:35
I want a race. I want status. I want all the things
27:40
Right? But what that is for proud people, for proud professionals who want to do a good job
27:48
It is about accountability, and that sounds bad, but it is great
27:54
Because when you are able to take responsibility and stand up and say, hey, I can do this, ACD up, right
28:02
I can do it. When you can do that, then you can take responsibility
28:07
and show that you have leadership and style, yeah? That's what we want
28:12
So, I hope that I have shown you now today how make you feel that there is anticipation here
28:25
there's directionality, there is a promise of something which is productive and easy and fast
28:30
and optimized and doesn't cost too much when using the cloud platform
28:37
And now that you have this quote unquote secret knowledge, I hope you pay it forward
28:42
And I hope that you learn from it and become an expert in mastering this as well
28:46
so that you can be the cool and kind and great experts
28:50
that I know you already are. Do you have your cameras? So I wasn't expecting this
29:04
but when you're about to share something like this, you become so self-conscious, right
29:08
It's like, should I really be sharing this? Someone would look at it and think I'm a fool
29:12
or why did you do that, Magnus? This is bad, this is wrong, you should do this instead. This is much better
29:17
There's always opinions, yeah? So many opinions. This is what I have now, and it's kind of rough around the edges
29:25
but you can set your deployment and the working environment up just the way you saw mine
29:32
You can do that, and I will share it. But if you have an opinion about it
29:39
please be constructive, reach out to me, and give me that opinion
29:43
and if I make a change to my setup, based on your opinion, I will put you in the credits
29:52
Yeah, yeah, it's a deal? All right, so, drum roll, please. Here is my setup, right
30:01
And you might be tweeting this in a bit, so I gave you my handle
30:05
This is the one. Oh, wait. And if you want to go to it right now
30:22
you gonna wanna do the QR, can someone try the QR code
30:26
from behind, is it visible or should it be larger? You got it
30:31
It's working, cool, brilliant. So now you have my repo, it's just some files
30:36
it's nothing major, but at least it gives you all the links to the documentation about AZD
30:41
and then how to install and set this up. And it gives you also my development environment PC setup thing
30:49
So send me a pull request or a comment or something on my repo. Boom, you're there in the credits
30:55
That was everything I had for today. Thank you so much for listening. You have been a brilliant audience