 Welcome to the session about Microsoft Handler and using it from Honolulu. Just a quick check, how many of you here have used iPhone services before? Wow. That's nice. Before we get started, I will tell you a bit about what I'm doing today. First, a bit about myself. I'm a program manager with Microsoft, and I just lost this place. You can find me on Twitter if you have any questions. My role in Microsoft for the past seven years has been to try to come together to build relationships with Microsoft technologies and various open-source software platforms, packages, frameworks, and so on. And obviously, Ruby is by the way. For today, I will give you a little bit of an overview of what you need. So what can you do when you build on the Microsoft Cloud? Because obviously, like any cloud, you have huge services. You have storage services. You have other services from our identification with databases, identity services, and so on. So how can you do that? Also, I will tell you a bit about the Azure SDK for Ruby, which allows you to programmatically access these services, the Azure services of your Ruby app. I will tell you a bit about how to generate Ruby SDKs for your API app. Basically, if you create a web API application on Azure, automatically you get a metadata. You get a distribution of that API that allows you to automatically generate SDKs for it, including Ruby SDK. You just run a script and get your client SDK for free that you can use in your Ruby app. And by the way, I will just give you a little bit of information about the upcoming web browser from Microsoft, a project called Python. And how you can test your web applications with this browser without having to actually install the browser on your system or having to run Windows or anything. Feel free to ask questions at any time. I might not be able to answer some of your questions. I will take that for later. I just want to recommend not to Ruby developer, not if I want to give you a lot of stage. So make up your questions and you will find an answer at a later time. So let's say you want to just get up and going pretty quickly with Ruby, Ruby, Rails, on the Microsoft Cloud. The good news is that there are already quite a few pre-configured virtual machine images that you can use to just create a virtual machine and get going. And we use that. Normally, there is an image just from the UI or a common line. Once you have an Azure subscription, you just go and create a VM then connect to it and you're good to go. Probably all of the best images that we have is created by a company called Bitnami. It has a full stack with everything from Ruby, Rails, MySQL, Nginx, and so on. Various packages, various gems, no-but-givey, Brave, and so on, and other, like, open as a cell, open as a current and united. I would share at the end a quick demo of your site, but basically you go to the Azure portal and you get a full list of all the images that are available. If you're going to be selected, you say where you want to deploy one site of a virtual machine you want, and you're pretty much good to go. By the way, for those of you who want to provide Microsoft Azure, you can go and create a talent out, straight from the Microsoft portal. You have a number of output hours or a specific amount that you can use for free. Normally, when you register your trial account, you need to enter your credit card information, so after the trial, you can start to get these normally. I have a few Azure passes available, so if you don't feel comfortable and your credit card is just talking to the client, just be any or shouldn't be any better than that, I can give you an Azure pass that does not require a credit card, but actually it's easier to try and just play with it, even if you try to see how it works for you. How do you basically get your Ruby? It's a work of progress, so we started it a few months ago. Basically it's a package that allows you to access and manage Azure services, storage, service bus, obviously compute services, virtual machines, single service databases and virtual networks. The code is open source. We love to hear from you. Please go by. If you feel like continuity, that's fantastic. If you just have some feedback, we'd love to hear that as well. A quick example on how to use Azure SDK. It's basically a straightforward way to use it in a program the way you would probably expect to use it. Basically you'll create a, for example, for storage, you'll say you want to run on the graph, you'll create a storage service of the next object, you get a container. Azure storage services has a hierarchy with a storage service, containers inside and then blocks, which are, let's say, single files that you put in containers. You'll create a container and then you just open your file and then open it. It's as simple as that. Then, along with SDK, we have also a gem for FAR. What is some of your argument? Far is basically the cloud of cache library, which has the main code to allow you to make your applications cloud-pointable blind. The part here would be that you write your app once and then you create on any cloud. You create on AWS, you create on Azure, you create on Google or wherever you want, you don't have to change the code. This doesn't really happen. However, the form allows you to minimize the amount of changes that you have to make when switching from one cloud to another. So based on the Ruby SDK, we created an Azure logic for FAR so that if you are using the FAR library in your app, Mary can also private an Azure cloud. It's very simple, again, it's open source, and it's a working promise. So, again, send us your feedback. You want to play with it. We'd love to hear from you. And also, if you want to know, you can do it with me. You generate the Ruby SDKs. This is a feature that many of you will absolutely love. Basically, the idea is that once you have a race API, if you have enough metadata about the race API, about what goes in, what goes out, then in theory you should be able to create a client SDK that serializes everything that goes over the wire so that basically you don't have to worry about all the plumbing and how to serialize the objects and so on from your Ruby app or service. And this is currently possible on Azure. Using a tool called AutoRest. So if you have a description of your web API in a standard format, this is a popular format for describing, this is a JSON-based format for describing web APIs. The AutoRest tool allows you to automatically generate client libraries in various languages. You can generate C-Shark. You can generate Ruby, JavaScript, Node.js, and it might be more common. There are two ways to take advantage of this tool and this procedure. You can create your own Azure API application, and once you've created it, even if created in a different language, for example, let's say you create a .NET app, when you create it, if you say that it's an API application, then you get enough metadata that once you deploy it to the Azure cloud, you are able to download the description, the JSON file, the Spotify, the C-Shark API app, and then use the past at AutoRest and just get a Ruby client SDK that you can then use and you are good to go. Also for various established services, Azure has API app connectors. So for things like Facebook, Twidio, even Salesforce, and many others, Azure has connectors that allows you to download Spotify for those services and quickly generate a client SDK, a Ruby SDK, for example, for those services. If we have time at the end, I will show you how to use Twidio in this context, just to jab it on the fly, the Ruby SDK for it, and then a small program that allows you to send a message or at least the text messages that you get with it. And we are also working on using AutoRest to auto-generate the actual Azure Ruby SDK. The advantage here will be that once this is done, then our Ruby SDK will be always up-to-date. So if there is a change in the cloud REST API, Azure REST API, and services, then we just regenerate our Ruby SDK and it's up-to-date. There is basically usually no delay in making a new feature available and offering it in the SDK. Because this is many types of an issue with new services or generally online services that offer client SDKs. So if you have a service with service changes, the SDK type is a very good one for a service and you've been in that cloud, so you know what happens. With these couple features, you are always up-to-date. Finally, I don't know, some of you probably have heard Microsoft's work on a new cloud server. The code name is Sparkime. It's lightweight, and it will replace Internet Store as a default browser for Windows 10 on PCs, on phones, on tablets. In order to allow everybody to test their web applications with a browser, Microsoft allows you to run an instance of this browser in the cloud using a technology which is called the Azure Remote App. Basically, you connect to the Azure cloud and you get an instance of the browser running in the cloud on which then you can use your own URL to test your web application. Of course, since everything is running remotely, the performance will be different and some of the features will be different, but it's also generally to see how your app behaves in a different browser without having to get a Windows box or installing a VM or anything. To test it, just go to remote.org and you will do that. These are my slides. First, I'll take some questions and then depending on how much time you have, I will give you some demos. Questions so far? Okay, how much time? Yes? I'm going to try to implement an integration with the Insights API. We are replacing some legal platforms and we're going to do that. And I'm going to talk about the software. There's no one right in public, so... Should we... I will dispatch you to the right team. Oh, that's it. Does this offer any support for deployment things like Docker or any other, you know, as employment? I think that's the perfect support for Docker. So, it has been announced that there have been several projects with some final groups with Docker and you can even do things like Docker client-binding with Windows and definitely you can deploy Docker containers on them. Yes? I'm not sure if it's available now, but I will demo it now. It's not available in the other version. I believe it's available in the other version. It might be, if it's not available in the other version. Okay. This is the new Azure working. It's a place where you can explore other Azure services, where you can create various services in your account. And speaking of... I mentioned... job changes. Just go, say, I want a new, I want a compute service and go to the Azure Marketplace, where there are lots of reconfigured virtual machine images to say you want something between them. You've got the various reconfigured virtual machine images that you can use. One of them is, I'll say, created. And then, basically, you get a form where you can use it to all the available regions, where you can deploy that machine. You can select the size of the machine and how many cores, how many CPUs you want for it. You can go to your house, you specify if you want to run it to be using SSH or use a name and password. You get a name for your cloud service and then you will be able to go. So, in this case, let's say... okay. And these are my passwords, common size, configurations, and let's say I want to choose the south-central application because it's a closed source. And I say created. And I say created. It starts with created, and I will get a notification once the virtual machine is selected. Basically, you will say it's created by a virtual machine. Let me show you how to test your Spider browser. This is a remote application running in the cloud. Basically, you see a window. Here I'm on my back client, and what you see here is a window run in the entire cloud which contains the new Spider browser, the browser that you can get very well in those days. So, here I can just add your... Let's say, please come and watch your website because it's running in the only point of the browser. It's a simple free way for you to test your website, your whatever website you're building to test how it behaves, to really see it working in the Internet browser from your Mac audience. By the way, this works from pretty much any client, from Mac, from Linux, from iOS, from your Android client. You just open the remote app and you get a notification. You can test it. Questions for Mike? Do you have full support? Full support. That's a no-go for me because it's evolving all the time. If we actually apply for a client then there is a big list of features, what's in it, and so on. I can say it's wonderful. DevTools in the US? DevTools in the F12? Yeah. How do you find support? I think I'm going to just run the best thing for me with actually the browser team to really test. You can... You can actually look at the code and the performance profiling. If you're looking for more details I can... Any other questions? First, it's sort of what in API I am? Can you say, kind of generally it sounds like a description? Yes, let me go with that. Which is great. My need goes again. So, here's the thing in order for the swaggering demo. In order for me to show the swagger demo, basically I... I'm going to hit my windows here. For some reason I don't think it's going to be here. Okay, let me show you the generally the squagger files. Also the services and also the resources. I have API apps. And here's a list of API apps that I... So, a couple of them are... For example, the content-based API. So, that's the API app that I created. And once deployed, you'll have the definition which is showing. Basically it has... It's a small sample API app that gets a list of contacts. And here, which says download the swagger file. Basically, this is how the JSON file is created. This is the engine of the... So, first of all, you have to add on the way to go down the slides. And then it just tends to what's where you want it. For example, my contact is my ID, my domain to then automatically generate the WP SDK. I will try... So, let me get down to this. Then I will text if I don't have the time. Basically, the autoress tool is done in that case. So, you need to run it at this point. So, I'm going to read those parts. And I run here, but for some reason I'm not able to project from my windows. So, I will try to project that right away. Before that, actually I'm interested since we are here at the API apps. Basically, I can do the same thing for one of the 20-year productors, for example. Again, the 20-year productors creates an API app based on the 2-year service. And we have the same available for 2-year and so on. We choose the description of all the The different kind of model I tend to connect to my windows. So, how do we build that API app? It looks like there won't be a comment. Basically, I just find a small method that it's a yet and once it returns it's not connected. Now, once I think publish on this, publishes the API app gradually. Where it also generates So, now, what I can do is, once I haven't certified a disk plan, I can just generate this. I can tell you how far I've just generated to use this one of five to use it as a game. And in this folder, a new folder which we contain the So, it's right on the end. There's a spell. It's a game. So, I'm going to use the I want to generate it. I want to generate it. And if I want to use it as a game of the API app, it's very simple. I include all the generated files and then I just use it. I say, ok, from that, initiate some game objects and then list them. It's just as simple as that. So, if I want to run this, it's connecting to the web service, to the web API app. It's reasonable to contact and it's reasonable to care. Similar. If I want to do the same thing with a computer, first thing I need to generate is a game. And now, if I could generate an SDK folder which looks pretty similar. So, now if I first of this, how do I make the loop app look like? Let's say I want to send a message or I want to list a message. I just paint objects and I coordinate it. And the generator takes care of all the serialization and deserialization of what goes for the wire. I'm connected to the basic API. So, now the phone number that you use is over there. So, the one five or three texts, if you want to have one right now, for example, if you send a text message to them, number will just automatically appear here once I will list this app. So, that right now, it's connected to the video service and it lists the messages that are the first couple of messages that are first couple. This is the list tool here. I said, okay, thank you, gentlemen, first tool. So, once I have a new message, I can send it to you. Right now, I'm sending myself a message. Okay. So, I'm sending it. Of course, mobile doesn't want to send it, but this even though the new message, basically, is already the top message right now, it's based on that word before you write it. So, again, that means we don't need just a few lines of code you get to use online services for which you have had to work quite easily to put everything together. So, as far as the the outdoor school, it's available. It's available. It's on your phone. Okay. Thank you for your time. Again, if you want to have a class, you can try it out. And, thank you for your time.