144

AiA 144 Azure and Angular with Shayne Boyer


On today’s episode of Adventures of Angular we’ve got panelists Ward Bell, Joe Eames, Alicia Michael, John Papa, Charles Max Wood, and our special guest Shayne Boyer. Shayne is a Senior Developer Advocate at Microsoft and on the Azure team. The last time he was on the show was Episode 082 of Adventures in Angular and we talked about getting started with Angular 2. Today we are going to talk a bit about Angular and Azure. Stay tuned.

[3:12] Talk about offerings with Azure.
  • There is a connotation that if you want to use Azure you have to use .NET
  • That is not the case.
  • Large part of Azure runs linux.
  • There are over 170 type products that Azure offers.
  • noSQL databases, postgres, mongolDB, Azure Cosmos, Azure functions
  • It’s more than .NET and VMs.
  • Things you can do this type application are things like – Deployment to web front end, putting apps in Docker container and pushing to container service, scaling those apps etc etc.
[5:23] Put your app in Docker container?
  • Talking about just front end. Just the web application.
  • Putting it into a container and deploying the container into a linux instance or web app on Azure.
[6:13] Why is it a good thing to use Docker for this kind of thing?
  • Example. NGX for front end services, you can’t NGbuild using ClI do an NGBuild get the disc folder and throw that to a web application service like IAS or Node and have that application just service. Deep linking wouldn’t work.
  • Instead you would want to package something like an express server that requires NodeJS. Then something to handle deep linking. You can easily package that in a container and push it to the cloud and be able to control it without worrying about infrastructure.
  • Essentially it’s the app that has been written as well as the server that serves that app.
  • You can choose the base it runs on. I.e. Node 6 instead of 8. Etc etc.
  • Control those in the container so any time you pull it down it has those same settings.
  • Often developers assume versions of services are the same between the developer and the services used like a cloud service and when it’s not, things break.
  • The concept of “works on my machine” is actually true now. How it works for you, will be exactly how it works where ever you push it.
  • You can set up the version of Node you want, the settings how you’d like, test it on your own machine and when you push it to providers like Azure, Heroku, AWS, etc, it will run the same on all those providers.
  • Takes away complexities when testing.
[9:39] Outside of Docker, what other things does cloud bring to the table?
  • Serverless offerings.
  • Takes away issues with – worry about building a node server to serve my app. Building API to serve the data. Building Infrastructure behind the server and deploying it.
  • Building and deploying pains reduced as well.
[10:57] “Wait wait, serverless?”
  • It’s the new buzzword.
  • There are servers underneath.
  • Don’t have to worry about infrastructures or the servers themselves.
  • Just write the function.
  • Function will return the data to controller service built in Angular. Just have to build the Javascript (or python, and C#, java is coming) in the portal or in Github, and it’s just the code to run the function.
  • No need to worry about the types of servers, VMs, operating systems, patching or scaling.
  • It will scale based on what the capacity demand it needs.
  • Event driven – event queues, message queues, etc.
[13:20] Simple endpoints
  • Scalability at endpoint level.
  • Previously when writing APIs on the backend, typically you’re concerned with scaling that API application.
  • Endpoints typically scale at the same level.
  • Serverless functions scale at that typical API level.
  • Paying only for usage.
[15:30] How do you orchestrate between the services?
  • Just because you spread things around doesn’t mean it’s better.
  • It’s important to realize that breaking assembly or dll files down into smaller dll files don’t change things much.
  • Minimizing what it takes to think about when it comes to handle and configure a server running the services.
  • It’s easy as “Here it is, go run it for me Azure!”
[20:12] How does this relate to angular developers?
  • Be careful about over complicating the ‘concept count’ Having too many systems, front end, back end, VMs, Docker, etc. To many things to learn or to know to get it done.
  • Easier to write API and serverless. So then it’s just Javascript on the front end. Much easier.
[21:58] Someone brand new to Azure, what should they try out?
  • Azure functions is a great place for Javascript or Angular.
  • Typescript is coming as well.
  • Understanding it’s just a backend.
  • Learning to connect to a database, or have a static file.
  • Routing, proxies, etc are all built in Azure.
[23:13] What JavaScript engine does it support?
  • Chakra Engine.
  • ES 5
  • ES 6
  • Support for TypeScript recently announced. Coming up.
  • Node 8 is now available on Azure service platform.
[25:04] More on the portal.
  • The portal is one of the largest typescript platforms available right now.
  • The portal is not the only option.
  • Strong CLI experience.
  • Making VMs and web applications and all products can be done with CLI.
  • If you like CLI then start there.
[26:54] Creating a quick web app
  • If you want to create a new web application.
  • Simple as AZ web create
  • Pass the name of application
  • pass the location
  • in a few commands you can create an app
  • Set it up to deploy from the GitHub Repo
  • From there it’s just checking in code and it’s getting the deployment from the CLI pipeline.
  • Write it, check it in, deploy.
[27:32] Do you have articles or videos that people can jump to?
  • Did a course in deploying an angular app using GitHub git Azure
  • Talks about how to hook up Azure web app instance to a GitHub repo.
  • It’s easy as checking in code, no worries about the concept count and complicated setup.
[28:45] Integrates with Docker and Visual Studio Code
  • There is an Azure extension for VS Code that allows you to push all of your code.
  • Demos available to learn
  • Has great extensions for Angular too.
[29:28] Simplifies or eliminates complications on the back end, does it also help on the front end.
  • Don’t have to worry about scaling my static site. Data is what makes it scalable.
  • Serverless experience – hitting databases, doing computations, working on triggers or WebHook from other parts of your business.
  • Azure function can listen to WebHooks
  • Azure can aggregate backend in serverless functions.
  • Has database offerings to store data.
  • Infrastructure for hosting Node applications and Node APIs
  • Azure does not = .NET
[31:19] How does someone get involved and try it out?
  • Go to Azure.com and try it free.
  • Try the Azure functions portal free as well.
  • Plenty of free experiences from the platform.
  • The tuts and walk-throughs for almost any of the platforms or languages for Azure.

Picks

Joe

John Papa’s course on Angular CLI course.
NG Doc.

Ward

Troy Hunt used Azure functions to fight DDOS attacks article.
Alexa

Charles

Serverless framework. NPM serverless.
Angular Dev Summit (Now free)

Shayne

Keyvo Smartlock
Angular 2 app to Azure using Git play by play course.
Docs.microsoft.com


Links

Azure


This episode is sponsored by

comments powered by Disqus

TRANSCRIPT

AiA 144: Azure and Angular with Shayne Boyer

SHAYNE:

My full leg is tattoed Star Wars stuff so that makes you sad. I’m sorry.

JOHN:

Cut it off!

WARD:

It’s just a flesh wound.

[Music]

[This episode is sponsored by hired.com. Are you searching for a new job? That could be stressful, scary and time consuming. Plus your recruiters try to sell you on roles you don’t actually want. And the job feels like you’re throwing your resume into a blackhole, never to be seen again. And sometimes, you go all the way through the interview process just to find out at the very end, that the salary offer or the company culture doesn’t match what you’re looking for. Hired is the world’s most intelligent, talent-matching platform for full time and contract opportunities in engineering, development, design, product management, data science, sales and marketing. We make your job search faster, focused and stress free. Instead of endlessly applying to companies and hoping for the best. Hired puts you in control on when and how you connect would compelling new opportunities. After completing one simple application, we help employers apply to hire you. And when hiring you, you receive personal interview request and up front salary information so you could make informed decisions about what opportunities to pursue over a condensed timeline. Hired offers access to more than 4000 innovative employers including big brand names like Facebook and smaller emerging startups. The size and type of company you want to connect with is totally up to you. And we help you find new opportunities in 17 major cities in North America, Europe, Asia and Australia. Hoping for a relocation? Let them know!  Your privacy and autonomy in your job search is of utmost importance and if you go check them out at the show’s link. That’s hired.com/adventuresinangular. You can get double their normal hiring bonus that they offer. So instead of $300, you get $600 for signing up on their link. So go check them out at hired.com/adventuresinangular.]

CHARLES:

Hey, everybody and welcome to another Adventures in Angular. This week on our panel we have Ward Bell.

WARD:

Hello.

CHARLES:

Joe Eames.

JOE:

Hey, everybody.

CHARLES:

Alicia Michael.

ALICIA:

Hey, hey.

CHARLES:

John Papa.

JOHN:

Good afternoon.

CHARLES:

I’m Charles Max Wood from Devchat.tv and this week we have a special guest – Shayne Boyer.

SHAYNE:

Hey, guys.

CHARLES:

Shayne, do you want to introduce yourself?

SHAYNE:

Yeah. Shayne, I work at Microsoft. I’m a Senior Developer Advocate on the Azure team. Second time on the show here so it’s good to be back and talk with you, guys.

CHARLES:

Nice. Any kind of somebody else who’s a Senior Developer Advocate at Microsoft?

SHAYNE:

I don’t know anybody like that. I know a Junior. The only advocate that junior developers, got it.

JOE:

So Shayne, where were you on the last time for?

SHAYNE:

I don’t know. We talked about Knockout. No, it was…

JOHN:

JQuery!

SHAYNE:

No, I think it was Cobol, actually. It was DB3. So we’re talking about TypeScript and making it kind of makes it little easier for .NET community to get handle on Angular.

JOE:

Well, you must have done a good job if we brought you back.

SHAYNE:

Well, I would hope so.

CHARLES:

So the topic for today is Angular with Azure or Angular and Azure. We’ll name it one of those things. I’m kind of curious because Azure to me is kind of a back end. I guess you probably have some kind of data store thing kind of like Firebase but maybe not. I’m not that familiar with Azure. Do you want to talk about some of the offerings there? Why are listeners going to be like, “Oh great!”

SHAYNE:

If anybody’s been kind of looking at Azure as a whole, I think it’s kind of a… I think there’s been about a connotation or relationship that in order for you to use Azure, you have to use .NET. And that’s really not the case. The very large amount of Azure that’s running Linux… there’s over 170 or so different types of products right now that Azure offers. It’s not just web. It’s not just databases.

So how does that relate to kind of the Angular community? There’s no SQL databases. You can run PostGRE’s. You can run MongoDB. We have a… there’s new offering called Cosmos – a highly scalable NoSQL database that has some great interfaces for Firebase-like capability for Angular. There’s Azure functions. There was the whole new serverless offerings that’s comparable to Lambda and Google Cloud functions-type offerings too. That’s very useful for web front-ends. So it’s more than just .NET. It’s more than just VM’s and infrastructure-type of offerings when it comes to the cloud service.

JOE:

Did you say Firebase light?

SHAYNE:

Like. L-I-K-E.

JOE:

Oh, L-I-K-E.

SHAYNE:

There’s a whole lot of things that we can do on using applications from the Docker, you know, you’re pooling them to web front-end. There’s putting your apps and pushing it to the Azure container service. And scaling those apps, and then also using the back-ends, you know, from devops to building those applications and pushing them into the Azure infrastructure. It’s also using the backend database capabilities and offerings that the platform offers you.

WARD:

So one of the things you just tripped over there was the whole, put your app in Docker. This is new for our audience and it’s certainly… I’ll just say that because it’s relatively new for me. The idea of putting my app in a Docker container… we’re not talking about back-end only right?

SHAYNE:

Oh yeah, the front-end itself, just to let applications. It is putting them into a Docker container and deploying that to container itself. Let image to a Linux instance or Linux web app instance on Azure.

WARD:

Well because what I think of my Angular app is largely static except of course when it reaches out – static assets reach across for some data API, which might not be in that container. Well, tell me why it’s a good thing to use Docker for this?

SHAYNE:

Well if, say, you’d like to run, I don’t know, NGINX for your front-end services or your front-end applications to serve that actual Angular, you can’t just throw NG abilities into CLI doing NG build. Get into this folder and then throw that up to a web application service like IAAS or Node. And then, have that application just serve because you don’t have your deep linking. And things like that are actually going to work for SCL, right? So I’m going to be able to package and something that will help me out like maybe an Express requires NodeJS. I need to put in some routing to handle that deep linking.

I can package all that up into a nice container and be able to push that up into the cloud and control all of the aspects that happen within that particular application and help that scale. I don’t have to worry about the underlying infrastructure like, what servers do I run? What package I run and so on? Is it Ubuntu 16.04? Or is it IAAS?

WARD:

Okay, it’s the app that I wrote plus the server that serves that app.

JOHN:

Yes, the static web content.

SHAYNE:

And you can choose the base that it runs on. Docker has those images on Docker hub. So I can say, I know I want to run on you know, Node 6.0x or whatever it is because 8 just came out and not that tested on 8. I control those capabilities inside of that container. Every time I rebuild it or every time I pull it down, it’s always going to have those same settings.

WARD:

Nice.

JOHN:

What does really help, Shayne, right? A lot of times I’ve had this problem where I deploy an Angular application or I need Javascript application. I wrote my Angular stack release and I wrote an Express server somewhere. And I made assumptions.  I made assumptions that when I send my Node server to some cloud provider or even to just some web local server that I have, the version of Node I’m using is the same on that server. It’s the same version of other products. It’s kind of really set up the way my machine is set up. That’s probably an assumption to make most of the time, right? And then, Docker, I can actually ensure that everything I have locally here is the same thing as going to happen over where I pushed it. Is that what you’re saying?

SHAYNE:

Yeah, it’s basically. It takes that concept in… has many Docker presentations. “It works on my machine” is actually true now. Right? So I can set up the entire environment on my machine, saying, I want the Node server the way I run it with the settings in the version of Node I want.

I’ve built it. I tested it all out myself on my machine. Then, I take that and I pushed it to… if it’s Azure, Heroku, AWS, or whatever it is, it’s going to run exactly the same in all of those providers. And I don’t have to worry about it breaking as we’ve all experienced, like, “Hey, it works on my machine.” But when I push it to production or to QA, it does it because now we have 12 servers instead of 2, instead of the one MAC OS X that I’ve built in on. It takes away those complexities when it comes to testing something locally versus in production.

JOHN:

So Shayne besides Docker, besides pulling an app like that, let’s say I don’t care about dock, you know, maybe we have one… And you haven’t tried it and you’re not just as interested on it yet. Putting words name on that…

CHARLES:

I heard some hope that you’ll see the light.

JOHN:

There’s going to be other things too, right? I know we know this answer but what other things does Azure or does the cloud bring to the table for Angular developers beside Docker?

SHAYNE:

So one of the other thing that we dove into recently is the whole serverless offerings that are out there. This is kind of a good comparison to what we just spoke up. I have to worry about building a Node server to serve my app. I have to worry about… and I say my app, maybe as a back-end so I’ve got an API I have to build to serve the data. I have to worry about it, hitting the back-ends and etc. So we have a simple API, import it in Node, and it’s just got maybe some static data and we just call it lookup values. I don’t have to worry about building all the infrastructure behind it. And also going to the pain, if you will, of building and deploying that to the servers. Serverless takes a lot of that away and if not, all of that away.

WARD:

You know, Buzzword Bingo, “serverless?”

CHARLES:

I was going to say, all the people who didn’t roll their eyes that Docker just rolled their eyes at “serverless.”

WARD:

Oh yeah, right! I wish that it were so, bam, kazaam. What do you mean by “serverless?”

SHAYNE:

We should name this particular episode, Buzzword Angular or Buzzwords for Angular. So yeah, the new term that’s out there is “serverless.” Well, you know, there are servers underneath. That’s not the silly here. But I don’t have to worry about managing the infrastructure or managing the types of servers.

But the idea is I can just write the actual function and that function is maybe have API endpoint. Say, get my customers, right? My function will actually return the data… to control my service that are built on Angular. And what that means is, I just have to write the Javascript or for Azure, Python or C#, a number of other languages, Java is coming in, as well. I can just write the code in the portal, or deploy to Github and push it to the portal. But it’s just a code that is responsible for that one particular endpoint. It runs just that one function to return the data.

But I don’t have to worry about – do I need VM? What OS do I need on there? Don’t worry about patching or scaling even. If you have an endpoint that is getting hammered because it’s Black Friday and you’re running an e-commerce store, it will scale. And this is true of any of the cloud providers that in serverless. It will scale based on the capacity that it needs. So it’s nice to be able to just code and have a return the data.

It’s also event-driven from a capability’s perspective where we can handle image queues and message queues, things like that. But primarily, what I’ve been using it for is like an HDBM point of return data to my front-end applications. I don’t have to worry about anything as far as what type of server or OS I’m working underneath.

CHARLES:

Can I give an example?

SHAYNE:

Yeah, sure go,

CHARLES:

Because I’m using serverless setups for basically adding people to Slack channels. Somebody hits the endpoint or you can call through the… there are few other ways you can hit API’s. I’m using AWS Lambda but Azure functions is a similar idea. So you hit the end point and then it looks up the couple of values I gave it.

For example, the Slack chat, whatever you call it, a team, and then, the API key and then that’s all stored securely on the server. And then, it just does its thing. And then, I’ve also seen that you can reach back into database systems and stuff like that within Azure. And actually pull the data out, and so, essentially, what you’re doing is you’re having a small, isolated, simple endpoint you’re providing to your Angular app. It can either gets stuff done or to get data back.

SHAYNE:

Right. And the important piece too is the scalability of those endpoints. Serverless is… I call it, scalability at the endpoint level. Previously, when you’re writing API’s on the backend, you’re typically concerned about scaling the entire API application. All of the endpoints that are built within that API scale at the same level. So when you’re writing a serverless function or your Azure functions, they will scale at just a particular API level.

CHARLES:

Yeah, that’s nice because you just wind up paying a penny or two, or whatever the price is, every time somebody hits that endpoint.

SHAYNE:

Yeah, you’re strictly paying based on the usage, the consumption of it, which is a really nice effect instead of just… you’re not doing anything but you’re still paying for it just to be there.

WARD:

Just so we know, they’ll fall into… it is part of the buzzword bingo again – “microservices” trend. And the challenge in the trend is you can easily end up the giant basket of uncoordinated services. How do you orchestrate? It’s great if it’s something completely autonomous but so many of the things that we do depend upon a particular dance with some other services or some other business processes. And so, where to draw those boundaries and how to coordinate them all? It becomes the new challenges that you take on by virtue of spending all these different things running all over the place.

SHAYNE:

You know, it was funny because I was at a conference this weekend. Somebody was talking about microservices. They kind of use the famous poo emoji, right? So they had your Monolith, which was represented by a large poo emoji. And breaking that up into a bunch of little poo emojis, doesn’t make it any different, right?

CHARLES:

I love that you mentioned it.

SHAYNE:

It’s lik e whether you take one big one or you take a lot of little ones and leave them all over the floor.

CHARLES:

The big one’s easy to walk around and not step in.

JOHN:

You’re going to have to retitle this episode, Life According to Shayne Boyer.

SHAYNE:

Well, it’s true that just because you spread out your crap doesn’t make it any better. Be careful on how you get sucked in to this buzzwords, this kind of buzzword architectures. You know, instead of having all of my services themselves… the previous buzzword of SOA, right? We could all write an API that was one big assembly or DLL that all of our little calls in it. And then, we could write another one that has a bunch of little calls, we package them all and deploy as one big Monolith thing.

Now, the idea is what if I just break all of those out into separate little things and deploy all those individually? But you aren’t doing anything different. You have to change the whole mind set as to how you’re doing this. It doesn’t make any better or making any better if you’re not really teaching how you orchestrate these things and putting them into the cloud. It’s not just a lift and shift, which is very important to point out. You have to be careful how you approach these microservices. And I think serverless is now being described as “nanoservices.”

CHARLES:

I want picoservices.

SHAYNE:

I think that’s next. That thing does go with codeless.

JOHN:

Anybody who knows me well, most of you do, know that I absolutely hate all buzzwords. I just feel like a lot of times we use them as a mask to talk about topics, which could be so much easily explained. If I just said what the heck they saw, right? And I think Shayne explained what serverless is for, it’s like SOA before – the whole SOA thing. Microservices, another term we’ve talked about, we could say, “Hey what, let’s have a lot of tiny services.” Okay. We don’t really need these.

SHAYNE:

But John, is “tiny” bigger than “micro”?

WARD:

That’s part A and part B of the attraction, at least what has been described to me. It was early in your talk, Shayne… is that I absolutely minimized my thinking about, my worrying about what it takes to configure a server that’s going to run whatever my server is. I used to focus my energies on what the service is supposed to do.

I wrap it in a little envelope and scribble on the envelope just what’s necessary to tell the Azure functions world how to run this darn thing and how to secure it. But I’m really… most of my work focus on what the thing does. That alone is very powerful because so often we get… we lose our way, trying to figure how to create the environment to run it. It’s just like, “Here it is. Go run it for me, Azure.” That should to be part of the selling point.

[This episode is sponsored by Ruby Remote Conf. Ruby Remote Conf is a 2-day completely virtual conference hosted by, none other than, Charles Max Wood. If travel expenses are an issue where you just can’t afford to be away from home for 2 days.Then, join us! It’s virtual. This conference is focused on people who are new to programming who want to learn what the pros know, or just get a leg up, and getting a job, and getting into the programming community. We will have speakers from all over the programming community to help you stay current in a Slack room where you can connect with speakers and other attendees in real-time. We’ll also have a live round table video chat for attendees and speakers. Plus, we’ll provide the top recordings to you within days from the conference.

WARD:

Am I wrong about that?

SHAYNE:

I think you’re exactly right. I think the point of how does this all relate to kind of Angular developers of front-end Javascript developers, in general, is John and I, typically, we sit down and talk about let’s do a demo. We’ll put together API’s of front-end Angular apps, things like that. And we have to be very careful about the concept count of how many different types of things we’re going to introduce.

When you’re teaching a group a work job, or giving a talk at a conference, or even just a group of people at work, if you say, “Hey, we’re going to do Angular in the front-end, we’re going to do a web API in the back-end, and maybe MongoDB in the backend for the data store.” Well, there are three things. Oh, we got to set up a VM, a Docker, and all of these things too. There’s 4, 5, 6, 7, 8. That is friction and too many things to learn and you’re going to do is everybody, right?

So if we’re saying, “We’re just going to write an API in a serverless. Here’s what serverless is. We’ll introduce it. And then, it’s just Javascript. Right? Because that’s what we’re running on the front-end.” Great. Those are two things we want to learn. I think that the barrier to entry is gone for the front-end Javascript community.

ALICIA:

I’m glad you mentioned that because every time I open the Azure portal, I was a little overwhelmed by all the options and things you can do.

JOHN:

Was that an Azure portal dory you were just opening there, Alicia?

ALICIA:

But I want to ask you if, I mean, is that what you would suggest for somebody brand new to Azure and they want to do something? If they’re on the site right now, what is your number one thing that you suggest they go and try out just to get comfortable with it?

SHAYNE:

I think Azure functions is a very good starting point for the Angular community, for Javascript front-end developers. I think that’s the language that they know. It’s very easy for them to jump in into that area because they can choose Javascript. There is TypeScript support coming, as well, so even better for the Angular 2.4.25. I’m not sure the version right now. There’s that.

And I think that just getting into those two things like, “This is just a back-end. I understand. I can connect it to a database that I want. I can just have a static file.” It has a lot of different concepts that you’re used to as far as routing, proxies, and things like that are all built in Azure functions. These are very small concepts but very relatable and understandable. Those are the things that we’re already doing in Angular.

ALICIA:

Okay, very cool.

CHARLES:

On Azure functions, I’m a little bit curious because I know that Lambda only supports version 4.3 of Node. And so if you go look up Node stuff sometimes, it’s not quite right. What version of Javascript or what Javascript engine are you going to use it? Chakra or is it a certain version?

SHAYNE:

I know that we are supporting I believe the Chakra engine but I know that we’re running ES5 and ES6, and 4 is also there.

CHARLES:

Okay.

JOHN:

There’s also hidden support for TypeScript. Although, it’s not widely-known or publicized. Although, I still want to cross it.

ALICIA:

The super secret TypeScript support.

WARD:

Thank you, Junior Evangelist.

SHAYNE:

So the TypeScript support was announced at Serverless Conf, which I believe is in Texas about a month ago. Yeah, so did they show that…

JOHN:

It’s like super secret preview.

SHAYNE:

That’s going to be coming with obviously, some of the good stuff from the Docs team. We’ll be producing documents, templates, and great tool will come forth for the TypeScript-related stuff.

JOHN:

And I don’t think you can use Node 8 or not. But I was using it today, you can use Node 6.9. That’s for sure. That’s what I’m using with it.

SHAYNE:

I know Node 8 is now available on Azure Service platform. That was just pushed out last week. So if you run Node in your web applications…

CHARLES:

Yeah and I just interviewed Chris Adamson from the Azure functions team. He was talking about that too.

SHAYNE:

Yeah. Chris is the PM on the Functions team.

CHARLES:

His episode will come out on my Angular Story.

SHAYNE:

Yeah, Chris is great. Beyond that, there was a comment related to, at least what you said, when you jumped into the portal, you’re like, “Holy cow, what are these things I need to…”

ALICIA:

I didn’t expect it to be that. As you were saying, so many things you can do.

SHAYNE:

So interestingly enough, check in if you have anybody talking about… you’ve had Steve Sanderson on before, I’m sure, in one of your podcast. That portal itself is actually, I believe, we can claim this. It’s one of the largest TypeScript applications on the planet right now. It’s like 2-3 million apps of TypeScript. So we’re talking about scalable, maintainable web apps. That’s all on TypeScript.

But anyways, as far as being kind of overwhelming, it’s not your only option when it comes to developing on the Azure platform and creating things. We have a very strong CLI experience. I know that John is very bullish on the Angular CLI when it comes to developing applications. And the Azure CLI is all-crossed platform. You’re able to create web applications, VM’s and all of the products that are available on Azure using just the CLI experience and not have to go to the portal.

ALICIA:

Okay, so would you suggest that, like, for people to get started and dive in with the CLI made easier. Is that your advice for that for people?

SHAYNE:

If your foo is strong when it comes to the CLI and it’s the experience you enjoy, then, certainly go for it and do that.

ALICIA:

The CLI foo is strong. I love that.

SHAYNE:

I mean, you know, for me, there are things where it makes perfect sense. If I want to create new web application in a web infrastructure, it’s as simple as you know, az web app create. That’s the location path and name of my application. It creates that infrastructure for me. And in a few commands, I can create a web app, set it to my Github repo, and then from there, I’m just checking in code and doing the deployment CLI pipeline. For me, as a developer, regardless of what my language of choice is, I think that that’s really what I want to do. So I just want to write the code. I want to check it in and have it deployed.

ALICIA:

Do you have any articles or like, recordings of you and John doing demos that people can jump to?

SHAYNE:

Yeah, John and I did a       course. It was deploying an Angular app using Github and Azure.

ALICIA:

Nice.

SHAYNE:

I can give you guys the link to that for the show notes. And it shows exactly not using the CLI but it does talk about how to kind of hook up an Azure or web app instance to your Github repo for your Angular apps. It’s funny because I’ve talked to other prominent Angular developers and they go, “I didn’t know you guys have that for Azure.” I think, again, it’s the barrier to entry experience where all I need is to check in my code and I can deploy something to Azure. I think that’s a big benefit. It takes away the concept count and that comfort of, “Oh, I don’t have to worry about managing my server and doing all these other things they come with it and I’m having just to deploy.” That’s a good experience.

ALICIA:

Very cool. Well, I really appreciate you coming on the show and answering all our questions because I do think that people are going to be able to more easily jump on to it and be less intimidated by all of the power of Azure after this.

SHAYNE:

Yeah, sure.

CHARLES:

One other thing that I think is worth mentioning too is that a lot of this stuff integrates nicely with Visual Studio Code. And I know a lot of Angular developers are using that. The Docker integration is there, you know, some of these other stuff fits nicely in there.

SHAYNE:

Yeah, there’s actually Angular… I’m sorry. There’s Azure extension for VS code that allows you to push all the stuff and Chris Dias from the VS code team has done a couple of great videos and demos as a part of build and some other Microsoft events and shows how that happens. And there’s obviously great extensions from Angular to Angular also to have the experience along with the Azure stuff.

CHARLES:

Now, one thing that I’m wondering about with this is that most of what we talked about either simplifies or eliminates a lot of complications around the back-end. Are there things that directly impact the way we write Angular on the front-end? Or is that mostly what Azure is about? Is this, you know, these back-end solutions that just make life easier on those ways?

SHAYNE:

Yeah, I think a lot of what kind of… What Ward was saying before is that, you know, I really don’t have to worry about scaling my statics site, right? Angular for the most part is… Yeah, it is all front-end Javascript. Once it is downloaded, it runs on my client and I don’t really have to worry about scaling per se. But unless you are writing static websites, you got to have some data getting it from somewhere, right? So, yeah, having things like the serverless experience where you might be hiding databases, doing computations, working on, you know, triggers or web hooks from other parts of your business. So something like Azure functions can listen for web hooks so if you are working with something like Salesforce or some other backend system you have. Being able to aggregate this type of things inside of a serverless function, that’s a big benefit to have that. Obviously, there is a database offering that are there to store your data. The web application platform just for hosting node applications or node API’s. Building that back-end infrastructure for you is also a big benefit just understanding how to take advantage on what’s there from a scalability perspective and the offerings. And a lot of developers don’t realize the other things that are there as I’ve said at the beginning of the show. There is this misnomer of, you know, Azure equals .Net. And it is really not the case when it comes to all the things that are out there.

WARD:

So, Shayne, if I don’t know this whole world. Is it free, how easy is it to get involved, I don’t like free but I mean how, you know, I’m trying as a developer to figure out whether this stuff is right for me? What’s the right way to find out what are the stuff that are right for me?

SHAYNE:

You could just go to… You go to azure.com and there’s a Try For Free button. And you can do it with a free account and get started if you have, as most enterprise developers probably already have, an MSDN account. It’s from some perspective. And they get a free number of credits and that’s anywhere from $50 to $150 a month to try out things but Azure functions has a Try app. If it is Google Try Azure functions, I’ll provide a link to the actual site but we allow you to try the Azure functions portal for free, without an account as well to see what that experience is alike. You can sign up for a free account on Azure and look at the offering in there. We got a number of free experiences from the web platform as well if you want to deploy sites to app service. And check that up too. And then also, if you’re… the tutorials and a walkthrough if you look at docs.microsoft.com which is a fantastic experience when it comes to documentation if you spend any time on the docs site. That team has been putting a ton of energy into providing tutorials and walkthroughs for almost any of the platforms as well as languages that are supported there so definitely check that out as a resource.

CHARLES:

Alright. Well, I think we’re kind of to the point where we need to start wrapping up so let’s go ahead and get some picks.

[Are you ready to master Angular? Oasis Digital offers Angular boot camp, a 3-day intense workshop class for individuals or teams. They cover Angular 4 and 2. And focus on the skills and knowledge you need for complex, data-rich applications. They also still offer AngularJS for teams supporting older projects. Bring them to your site or send developers to them in St. Louis, San Francisco, New York, DC, and other cities, and online at angularbootcamp.com]

CHARLES:

Joe, do you want to start this off with picks?

JOE:

That’s a great question. I want to pick today John Papa. John’s a great guy. He’s a really nice guy. I like John. He’s a handsome guy. Mostly I want to pick John because he produces a lot of really good content on Pluralsight. Recently, watching his course on the CLI for Angular and it’s a fantastic course. I’ve always been a fan of the content that he has produced. So I’m going to pick John and his Angular CLI course. I think it is a great course. And that’s my pick today. Oh, I think I should also mention and pick ngDoc, the unofficial documentation source for Angular. Lot of good articles going on there so I’ll pick that as well. ngDoc.io.

CHARLES:

Alright. Ward, do you have some picks for us?

WARD:

Well, I have one that’s related to what Shayne is talking about. You know, I had seen some sort of demos of functions… Azure functions and they all seem…  You know, I could sort of visualize how I might use it but one of the most compelling things I have seen and read, it really gave me an insight on how useful this could be was Troy Hunt’s Azure Functions and Practice. Now, you might not know Troy Hunt but he’s one of the world’s best explicators and implementers of security practices for servers and the web and stuff. And so… And one of the things he has done is he has a site that really got under the skin of all the black hat hackers out there. So they try and knock that site down with DNS attacks – denial of service attacks. And he used Azure functions to guard that and just to slaughter all of these attacks which is a very compelling story – a real world story. And he described so well what he did, how he did it, and the effect it had in these Azure functions and practice. Article and I have the link in our show notes. So, run, don’t walk, to read that article.

SHAYNE:

Yeah, that was a really cool article that he wrote. It was really really fantastic. He was doing stuff that I didn’t realize that we could do with functions as well.

CHARLES:

My pick this week is going to be the Serverless Framework. You just npm install serverlist. I think you have to make it global but anyway, it makes it really easy to deploy stuff to Azure Functions or AWS Lambda or Bluemix. I can’t remember what their functions equivalent is. You know, they’re all a little bit different but anyway, it makes it really easy to get that stuff out there. And so, yeah! I’m going to pick that. If you’re curious, go check it out because it’s awesome. Oh I do have one other thing. I decided to extend Remote Conf into Angular Dev Summit. I’m going to make it a week long. We’re going to have a few talks everyday. Then talk in to the Angular core team about this. So I’m hoping we’re going to have a few of those folk there. But, anyway, the other thing that I did with it is that I made it free so if you want to come, you can come. I’m going to be reaching out the speakers this week. We’re going to do it in the middle of September. Yeah. Hopefully, we can have some awesome talks and an online experience. There is going to be a paid option and it will probably include things like the downloading the videos and stuff like that. But if you want to come and attend, it will be free online so go check it out at angulardevsummit.com. Shayne, what are your picks?

SHAYNE:

So, my first pick is something I just got in the mail today which is called a Kevo which is a touch to open smart lock. So I’m slowly… just moved in to the new house and I’m slowly automating things in my house and this works with your iPhone or I guess maybe Android as well. But yeah, it gives an electronic lock that uses easy… just touch the deadbolt. It also has a physical key as well. Touch the deadbolt and it unlocks it and has all the fun features of knowing when your door is unlocked and it gives me notifications when the door is unlocked and I need to lock it. Works with Alexa and all this fun jive things so that’s one of the things that I will pick. And the other thing was a… So I mentioned earlier was the deploying Angular 2 app to Azure using Get. John … play by play thorough side course as well. We had a lot of fun doing that one. Looking at it was Angular 2 so we’re very relevant in this kind of discussion that we use today. And then finally, I would just make a quick call out again to doc.microsoft.com which is where you can look for all the resources relayed to a separate talk about today.

WARD:

So I have one more bonus point because you brought up Alexa. I want to bring up Alexa Silver for people who are moving into my… one of the greatest products ever invented and one of the things I just noticed is, as I was putting it in here, is it answers to Alissa’s name as well. So if she were still able to stay with us on the call, she could find that product for herself.

SHAYNE:

That is funny. Thanks for that, Ward.

CHARLES:

Oh that’s funny. I actually have talked to somebody who’s building an Amazon Echo-like thing for older folks so… It’s funny, you know. Anyway…

JOE:

My mom totally needs that. I was thinking about getting that for my mom just because, you know, she’s old and she’s losing her eyesight and be able to like get her books and just to have Alexa read books to her through the … and stuff like that, get information but she’s so… I mean my mom’s like almost 80 so just interfacing even with Alexa as much as voice as better would still be a challenge for us so something detailed specifically to older people would actually be great.

WARD:

I don’t know about that. I don’t know about that.

SHAYNE:

John told me a funny story that earlier today he’s got his Alexa closed to, I got us talk while because I’m close to mine, but he got his closed to his TV and he was watching a TV show that one of the person’s name was Alexa and everytime, obviously, the name was said, she would say, “I don’t know what you’re talking about.” He’s already getting a frustrated and it just like, “I have to turn it off”.

CHARLES:

Yep. Well, before we wrap up, one more thing that I think I’m going to add to your shout out about docs.microsoft.com at Connect last year in November in New York City, we interviewed Dan Fernandez who works on the Microsoft Docs. And if you want, kind of, the backend story of how that all goes together and just the cool stuff that they are doing beyond basically a write-up, there’s a lot of interesting stuff going on there. So, I highly recommend you go check out that interview as well.

SHAYNE:

Yeah, that was a great one too.

CHARLES:

Alright. We will go ahead and wrap this one up. Thanks for coming, Shayne.

SHAYNE:

Pretty good, I guess.

CHARLES:

Alright. We will catch everyone next week.

JOE:

Peace out!

SHAYNE:

Bye, all!

[Bandwidth for this segment is provided by Cachefly, the world’s fastest CDN. To view your content fast with Cachefly, visit cachefly.com to learn more.]

x