We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Leveraging Microsoft Azure from Ruby

00:00

Formal Metadata

Title
Leveraging Microsoft Azure from Ruby
Title of Series
Part Number
43
Number of Parts
94
Author
License
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Through practical examples and demos, learn how to utilize the various aspects of Microsoft Azure through Ruby. Dive into the Ruby SDK for Azure as well as the Azure gem for fog. Explore cloud storage, virtual machines, and networks among others. Also, learn about the upcoming Spartan browser, and remotely test your site on it from any platform at http://remote.modern.IE
Multiplication signData managementState of matterQuicksortMereologyMathematicsDecision theoryView (database)Different (Kate Ryan album)Diallyl disulfideVarianceMetropolitan area networkIntegrated development environmentOpen sourceElectronic mailing listMassRule of inferenceAlgorithmGoodness of fitProcess (computing)Endliche ModelltheorieForcing (mathematics)Form (programming)CASE <Informatik>Sound effectExecution unitService (economics)CodeWeb browserPhysical systemWindowHypermediaMultilaterationBuildingLevel (video gaming)Software development kitMedical imagingWeb applicationData storage devicePoint cloudSoftwareGraph (mathematics)Virtual machineNumberFreewareMobile appComputer programBitInformationProjective planePlastikkarteTwitterSingle-precision floating-point formatElectric generatorCrash (computing)Library (computing)Web 2.0Cartesian coordinate systemDistribution (mathematics)Client (computing)VirtualizationOpen setSharewareAuthenticationHierarchyIdentity managementBlock (periodic table)Computer fileComputer animation
Insertion lossMultiplication signMereologyElectronic mailing listMassQuicksortMathematicsForm (programming)Service (economics)VarianceDisk read-and-write headIntegrated development environmentCASE <Informatik>Revision controlEndliche ModelltheorieAuthorizationSelf-organizationGroup actionWordRight angleCartesian coordinate systemPower (physics)Web browserWeb applicationPoint cloudObject (grammar)Mobile appDescriptive statisticsInstance (computer science)Web 2.0File formatSoftware development kitUniform resource locatorSinc functionFocus (optics)Open sourceBoolean algebraArithmetic progressionFeedbackClient (computing)Representational state transferElectric generatorTheoryOnline service providerOrder (biology)Remote procedure callType theoryMetadataMessage passingINTEGRALSingle-precision floating-point formatCodeProjective planeComputer fileInternetworkingEmailDefault (computer science)Embedded systemWindowComputer programLibrary (computing)Formal languageCuboidProcedural programmingDifferent (Kate Ryan album)Slide ruleComputer animation
Service (economics)Computer animation
Power (physics)Virtual machineMedical imagingMultiplication signOcean currentPoint cloudForm (programming)BefehlsprozessorWave packetState of matterMereologyMathematicsComputer animationSource code
Web pageCASE <Informatik>Virtual machineWeb browserComputer animation
Machine visionCartesian coordinate systemPoint cloudWeb browserWindowMereologyType theoryWebsiteMultiplication signComputer animation
Form (programming)Multiplication signMereologyKey (cryptography)Web browserWindowPoint cloudSocial classSelf-organizationElectronic mailing listComputer animation
Cartesian coordinate systemProfil (magazine)Slide ruleLatent heatComputer animation
Form (programming)Integrated development environmentVarianceSharewareComputer fileComputer animation
Computer animation
Electronic mailing listMobile appProduct (business)Category of beingComputer fileCuboidWindowProjective planeRight angleSampling (statistics)View (database)File formatMultiplication signNumberPoint (geometry)CASE <Informatik>Computer animation
Computer animation
DatabaseTwitterMobile appProjective planeComputer fileDifferent (Kate Ryan album)Computer animation
Computer animation
Video gameCategory of beingTheoryGreatest elementRule of inferenceAreaGame theoryMathematical analysisWordMathematicsRight anglePower (physics)Mobile appWeb browserCartesian coordinate systemComputer fileMoment (mathematics)BitObject (grammar)Message passingSeries (mathematics)VideoconferencingUser interfaceRepresentational state transferOnline service providerServer (computing).NET FrameworkElectronic mailing listWeb 2.0Line (geometry)WebsiteType theorySerial portNumberComputer animation
Transcript: English(auto-generated)
And welcome to the session about Microsoft Azure and Google from Google.
Just a quick check, how many of you here have used Azure services before? Wow. That's nice. Good.
Before we get started, I will tell you a little bit about what I'm doing today. First of all, a little 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. You can find me on social media if you want to see me do a little bit. My role in Microsoft for the past several years has been to try to close the gap,
to build religious run with Microsoft technologies and various open source software platforms, packages, frameworks, and so on. And obviously, movies, by the way. For today, I will give you a little bit of an overview about what it means.
So what can you do with Google and the Microsoft cloud? Because obviously, like any cloud, you have good services, you have storage services, you have other services from authentication databases, identity services, and so on.
So how can you do that? Also, I will tell you a little bit about the Azure SDK for Ruby, which allows you to programmatically access these services, the Azure services from your Ruby app. I will tell you a little 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 and get a distribution of that API
that allows you to automatically generate SDKs for it, including Ruby SDKs. You just run a script and get your client SDK for free that you can use in your Ruby app. Finally, I will just give you a little bit of information about the upcoming web browser
from Microsoft, a project called Spiderman, 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 them for later. Just for the record, I am not a Ruby developer, nor do I want to play one on TV or on stage. For the reasons of some, many of your questions probably will find an answer at a later time.
Let's say you want to get up and running pretty quickly with Ruby 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. Everything is there. No installation is there. There is an image just from the UI or from command line. Once you have an Azure subscription, you just go and create a VM,
then connect to it, and you are good to go. Probably one 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. There are various packages, various gems, Kogiri, Brave, and so on,
and other libraries like open SSL, OpenHELP, and United. I will show you a quick demo on this slide. Basically, you go to the Azure portal, and you get a full list of all the images that you want.
If you select it, you say where you want to deploy it, what size of future machine you want, and you are pretty much good to go. By the way, for those of you who want to try Microsoft Azure,
you can go and create a trial account straight from the Microsoft portal. You have a number of 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 used normally.
I have a few Azure passes available, so if you don't feel comfortable, enter your credit card, or you just want to try to just DM me or shoot me anywhere, then I can give you an idea because it does not require a credit card actually. It's really a try to just play with it, give you the try to see how it works for you.
Azure SDK for Ruby. It's all about performance, 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 from GitHub, from open source. We love to hear from you. It's to buy. If you feel like contributing, that's fantastic. If you just have some feedback, we'd love to hear that as well and we'll do that later.
A quick example on how the user SDK is basically straightforward. You use it in a programmed way. You would probably expect to use it. Basically, you create, for example, for storage.
Let's say you want to work on the graph. You create a storage service object. You create a container. The Azure storage services has a hierarchy with the storage service containers inside and then blocks which are, let's say, similar to files that you put in containers. You create a container and then you just open your file and then upload it.
It's as simple. Then, another SDK, we have also a gem for FAR. Probably some of you are familiar with FAR. It's basically a cloud of crash library which has the main code to allow you to make your applications cloud portable if you want.
Now, the new part here would be that you would write your app once and then deploy it on any cloud. Deploy it on AWS, deploy it on Azure, deploy it on Google or wherever you want without having to change the code. This doesn't really happen.
However, FAR allows you to minimize the amount of changes that you have to make when switching from one cloud to another. Based on the Ruby SDK, we created an Azure wonderful FAR so that if you are using FAR libraries in your app, now you can also target an Azure cloud.
It's very simple. Again, it's open source and it's a work in progress. Again, send us your feedback if you want to play with it. We'd love to hear from you. Also, if you want to join, we'd be happy to do the SDKs.
This is a feature that many of you will absolutely love. Basically, the idea is that once you have a REST API, if you have enough metadata about the REST 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. 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.
This is currently possible on Azure using a tool called AutoREST. If you have a description of your web API in the Swagger format, 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-sharp, you can generate Ruby, JavaScript, Node.js, and there might be more coming.
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 you create it in a different language, for example, 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 Swagger file, the Swagger API app, and then use the pass that to 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, Twineo, even Salesforce, and many others, Azure has connectors that allows you to download Swagger files for those services
and quickly generate client SDKs, a Ruby SDK for example, for those services. If we have time at the end, I will show you, for example, how to use Twineo in this context, just to generate on the fly a Ruby SDK for you and then a small program that allows you to send a message or list the text messages that you get.
We are also working on using AutoREST to auto-generate the actual, actual Ruby SDK. The advantage here will be that once this is done, then the old Ruby SDK will be always up to date.
So if there is a change in the cloud REST API and services, then we just regenerate the 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 mainly an issue with new services or we generally use online services that offer client SDKs. So if you have a service, the service changes, the SDK targets a very good version of the service and you've been there for a while, so you know what happens.
With these type of features, you are always up to date. Finally, I don't know, some of you probably have heard Microsoft is working on a new web browser. The code name is Sparkline.
It's lightweight and it will replace Internet Explorer as a default browser for Windows 10. This is my focus on that. In order to allow everybody to test their web applications with a new browser,
Microsoft allows you basically to run an instance of this browser in the cloud using a technology which is called 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 generating to see how your app behaves in the web browser without having to get your own Windows box or install it on the app or anything.
To test it, just go to remote apps, modern.ie, and you'll do that. These are pretty much my slides. First I'll take some questions and then depending on how much time we have, I will give you some demos.
Question from Mark. Yes. Is there anyone we can contact with in order to be sure to integrate with the endpoints that you provide?
I'm going to try to comment on integration with the insights API, but we are placing on single project forms, is there anybody with that endpoint? Is there someone to talk with? There should be an email that I will dispatch you to the right date.
Okay, let's see. Does this offer any support for deployment of things like Docker or any other computerized deployment? Actually, it does offer support for Docker. So it has been announced that there have been several projects.
So Microsoft partner groups with Docker, you can even do things like Docker client with Windows, and definitely you can deploy Docker containers on that one.
And then this whole picture, is that available now? Or is that going to be set up for a general release actually?
I'm not sure if it's available now, but I will demo it now. It's not available, it's going to be available very soon. I believe it's available eventually. It might be, even if it's not, it's going to be available very soon.
Okay, that's important.
It's a place where you can explore all the Azure services, where you can create various services inside your account.
And speaking of, I mentioned future machines, you just go say, I want a new compute service, and go to the Azure marketplace, where you have lots of compute virtual machine images.
So you want something to do. You have various compute virtual machine images that you can use. One of them was created,
and then you get a form where you can visit all the available regions, where you can deploy the machine, you can select the size of the machine, how many cores, how many CPUs you run for it. You give it your DNS, you specify if you want to run it within using the SSH or username and password,
you give a name for your cloud service, and then you'll pretty much build it up. So in this case, let's say,
and these are my passwords, current size, the configurations,
and let's say I want to choose the self-centered page because it's the closest. And I say create, and as it starts to create, I will get a notification once the future machine
is running. Basically, it's saying it's created by a neutral machine. Let me show you how to test your Spyder browser.
This is the remote application in the cloud.
It basically gives you a window. So here I'm on my background, and what you see here is a window running in the middle of the cloud,
which contains the news part of the browser, the web browser that you can get very well in Windows 10. So here, you can just type in your, let's say, what your website is running in your Microsoft browser.
It's a simple free way for you to test your organizations app, whatever website you're building, to test how it behaves, to really see it working in different browser from your Mac or Windows. By the way, this works from pretty much any client,
from Mac or Windows, from iOS, from your Android cloud. You just open the remote app, and you get a training also. You can test it. Question 4. Can you have new browsers and can you have full CLI?
There is a full support. That's a problem with that, because it's evolving all the time. Yeah, there is a full HTML5 compliant, and there is a big list of features, and so on. I can't say too much, actually.
DevTools will be the first device? DevTools, as in F12? Yeah. How do you define a standardize? I think my friend just ran the best thing for me when he took a class with what else I need to do in class. We can do it here, too.
Let's see if I can do some
performance profiling.
In that case, if you are looking for more details, I can take a look at that. Any other questions? First, the specifics of
the API application. Can you say how to generate its own slide description? Yes, let me go with that.
My details again. So, this is the normal for the Swagger event. Normally, you should the Swagger demo basically I would have needed to connect to my
For some reason, I don't have Okay, let me show you how to generate the Swagger files.
Here is a list of API apps. A couple of them are For example, the product-based API is the product API app that I created. Once you deploy it, you have the definition which is showing.
Basically, it has a smaller sample API app that gets a useful format. You have a view button here which says download the Swagger file.
Basically, this is how you download the agency file.
Here is a definition of the So, first of all, it depends on the URL and the way you go about the size. And then, it just depends on what the URL is for the property. My contact is my date, my name,
and it allows you to then automatically generate all the SDKs that you need. I will try some Let me get done with this and then I will text my comment. Basically, the Autodesk tool is dotnet-based so you need to write at this point, so I don't need a box.
And I'm one few parallels, but for some reason, I'm not able to project from my windows. So, I will text project right away. Before that, actually, since we are here at API apps,
basically, I can do the same thing for one of the Twiio
connectors, for example. Again, the Twiio connector creates an API app based on the Twiio service, and we have the same variable for Twitter and so on, which uses the solution of all the progressive methods and then it allows you
again to download a swatter file for it. The project is the solution of the
Twiio database. I think I'm going to attempt to connect my windows again.
So, how the dotnet API app looks like? The one with the comment. Basically, I just defined a score method that
it's a jet and once called, it returns a list of comments. Now, once I think publish on this, it publishes the API app browser where it also generates the swatter file for this
application. So, now, what I can do is once I have this swatter file in this client,
I can just generate this is the very I can tell you this is the very simplest thing. This is it. I'll try to just generate this swatter file and in this folder,
so once I run this, by this folder, I will get a new folder which will contain the So, it's time again. Let me spend a moment for my presentation.
Then I will talk a little bit to the web interface. Then, if I want to use an
SDK for my app, it's very simple. I include all the directed files and then I just use it. I say, okay, contacts initiates or create objects and then let's list them. It's just as simple as that.
So, if I want now to run this,
connecting to the website to the web API app is useful in this way. Similarly, if I want to do the same thing with the UI, first thing I need to generate
is the game. And now, if I go and see that I get an SDK folder,
which looks pretty similar. So, now, this is how my main movie app will look like. Let's say I want to send a message. I just
paint objects and I generate an SDK takes care of all the serialization and deserialization of what goes on in the wire and connect it to the REST API. So, now,
the phone number is listed over there. So, the one 503, that's if you want to have a file right now, for example, if you send a text message to that number, it will just automatically appear here once I
call this app. the app right now is again connected to the video series and it's listed messages that are the first couple of messages that are in there. First couple of messages, this is the tool here. So, once I have a little message field,
I just take the tool one. Right now, this is my server. Okay. So, it's on the
server, but you see the
message basically, the top message right now is or before you type it.
We don't need just a few lines of code, you get to use online services for which you have quite a need to put everything together. So, as far as getting the generates in the end? The outro is cool.
It's available. It's available. It's on your phone. Okay. Thank you for coming. If you want to be on the Azure class,
please let me try it on. And here's our delivery.