Azure 236504 – winter 2015/16. What Is Cloud Computing? Imagine if tap water didn’t exist. Every household would need to dig a well. Doing so would be.

Slides:



Advertisements
Similar presentations
Appetito Helps Find New Restaurants for Dining Out, Picking Up Orders, or Getting Food Delivered, Thanks to the Power of the Microsoft Azure Cloud Platform.
Advertisements

Built on the Powerful Microsoft Azure Platform, EventsAIR Provides a Turnkey, Robust Technology Solution for Professional Event Organizers MICROSOFT AZURE.
Blob Storage. What is Blob Storage Windows Azure Blob storage is a service for storing large amounts of unstructured data that can be accessed from anywhere.
Simple Online Accounts for Your Business – With Help from Microsoft Azure, Big Red Cloud Makes Accounting Easier for Thousands of Businesses MICROSOFT.
| Basel Discovering Windows Azure Mobile Services and Media Services Ken Casada
Platform as a Service (PaaS)
WHO WILL BENEFIT FROM THIS TALK TOPICS WHAT YOU’LL LEAVE WITH Web app developers who are already familiar with Windows Azure with scaling needs. Asynchronous.
Introducing Xamarin 2.0 Introducing Xamarin 2.0 Michael Hutchinson
Built on the Powerful Microsoft Azure Platform, Nimble Schedule Streamlines and Automates Scheduling with Cloud-Based Mobile Services MICROSOFT AZURE ISV.
Piilo Makes HR Easy for Businesses of Any Size, Thanks to the Convenience of Its Mobile App and the Power of the Microsoft Azure Cloud Platform MICROSOFT.
Cross Platform Mobile Backend with Mobile Services James
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
CSCI 6962: Server-side Design and Programming Web Services.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Next-Generation Formotus Forms Replace Paper and InfoPath with Mobile Business Applications Created and Deployed Using Microsoft Azure MICROSOFT AZURE.
Monetize Your Website Audience and Manage Digital Ad Campaigns with Admixer.Publisher, Built on the Powerful Microsoft Azure Platform MICROSOFT AZURE ISV.
CSI Software Offers Fully Integrated, Single-Source Enterprise Software for Membership-Based Facilities COMPANY PROFILE: CSI SOFTWARE CSI Software was.
Chapter 3 Software. Learning Objectives Upon successful completion of this chapter, you will be able to: Define the term software Describe the two primary.
Mobilise Your Business in Days with Crimson Tide’s mpro5 Enterprise Solution on Microsoft Azure! MICROSOFT AZURE ISV PROFILE: CRIMSON TIDE Crimson Tide.
Bizfss File Sync and Sharing Solution, Built on Microsoft Azure, Allows Businesses to Sync, Share, Back Up Using Their Own Cloud Storage MICROSOFT AZURE.
Securely Synchronize and Share Enterprise Files across Desktops, Web, and Mobile with EasiShare on the Powerful Microsoft Azure Cloud Platform MICROSOFT.
Testing in the Cloud with Tosca Testsuite: A Comprehensive Test Management and Test Automation Suite Built on Microsoft Azure MICROSOFT AZURE ISV PROFILE:
Company small business cloud solution Client UNIVERSITY OF BEDFORDSHIRE.
== Enovatio Delivers a Scalable Project Management Solution Minus Large Upfront Infrastructure Costs, Thanks to the Powerful Microsoft Azure Platform MICROSOFT.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
MLevel Is the Fully Microsoft Azure-Based, Industry-Leading Casual Learning Platform Used by Enterprises Worldwide to Make Learning Fun MICROSOFT AZURE.
MidVision Enables Clients to Rent IBM WebSphere for Development, Test, and Peak Production Workloads in the Cloud on Microsoft Azure MICROSOFT AZURE ISV.
Meeting Rooms Management Empowers Organizations and Their Employees to Become Mobile, and to Save Meeting Space and Time MICROSOFT AZURE APP BUILDER PROFILE:
Flight is a SaaS Solution that Accelerates the Secure Transfer of Large Files and Data Sets Into and Out of Microsoft Azure Blob Storage MICROSOFT AZURE.
Smart Syncing: Travelers Get News, Information, and Entertainment along with Free Internet via WiFi COMPANY PROFILE: SIENN With a team across Europe, SIENN.
Picturex Secures and Scales Event-Photo Sharing for Enterprise and Private Customers by Relying on the Powerful, Scalable Microsoft Azure Platform MICROSOFT.
Microsoft Azure Powers the Convenios e Obras Module for the Connected Government Solution, Which Can Integrate, Speed Up Decision-Making MICROSOFT AZURE.
Axis AI Solves Challenges of Complex Data Extraction and Document Classification through Advanced Natural Language Processing and Machine Learning MICROSOFT.
1 TCS Confidential. 2 Objective : In this session we will be able to learn:  What is Cloud Computing?  Characteristics  Cloud Flavors  Cloud Deployment.
Trajectory’s Game-Powered Apps Extend the Value of Business Training and Testing Materials with Help from the Microsoft Azure Cloud MICROSOFT AZURE ISV.
Powered by the Microsoft Azure Platform, Truck Tin Helps Your Sales Consultants Improve Efficiency, Information Sharing, Client Relations MICROSOFT AZURE.
WHAT WE OFFER Go-To-Market Services Microsoft Azure Brings to Life Citizen Assistance, the Tech Solution That Improves Communication Between the People.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Azure – spring 2015/16 Boris van-Sosin Marina Minkin.
Call-Center Agents, Customers Communicate More Conveniently with SMS Chat App COMPANY PROFILE: EARLY CONNECT Early Connect is a regional SaaS ISV founded.
DreamFactory for Microsoft Azure Is an Open Source REST API Platform That Enables Mobilization of Data in Minutes across Frameworks and Storage Methods.
Snip2Code: Search, Share and Collect Code Snippets Faster, Easier, Efficiently with Power of Microsoft Azure Platform MICROSOFT AZURE ISV PROFILE: SNIP2CODE.
WELCOME MIDHUN SUDHAKAR twitter.com/midhunopus in.linkedin.com/pub/midhunsudhakar/86/a65/a9.
Azure – winter 2016/17 Boris van Sosin, Marina Minkin, Nitsan Pri Hadash, Ariel Yehezkeli SI CALOREM NON TOLERAS E CVLINA EXI.
AuraPortal Cloud Helps Empower Organizations to Organize and Control Their Business Processes via Applications on the Microsoft Azure Cloud Platform MICROSOFT.
Xamarin Studio Xamarin Curriculum for Xamarin Studio
Free Cloud Management Portal for Microsoft Azure Empowers Enterprise Users to Govern Their Cloud Spending and Optimize Cloud Usage and Planning MICROSOFT.
Azure – winter 2016/17 Boris van Sosin, Marina Minkin, Nitsan Pri Hadash, Ariel Yehezkeli SI CALOREM NON TOLERAS E CVLINA EXI.
Primal and Microsoft Azure Deliver Personalized Content, Intelligence, and Analytics That Match Your Content to the Interests of Your Audience MICROSOFT.
Nimble Streamer Helps Media Content Providers Create Streaming Networks Cost-Effectively and Easily by Utilizing Azure’s Worldwide Scalability MICROSOFT.
Running on the Powerful Microsoft Azure Platform,
Designed for Big Data Visual Analytics, Zoomdata Allows Business Users to Quickly Connect, Stream, and Visualize Data in the Microsoft Azure Platform MICROSOFT.
Dev Test on Windows Azure Solution in a Box
Big Red Cloud Offers a Simple Online Accounts Solution for Business Owners and Bookkeepers Hosted on the Powerful Microsoft Azure Platform MICROSOFT AZURE.
Auth0 Is Identity Made Simple for Developers, Built by Developers and Supported by the High Availability and Performance of Microsoft Azure MICROSOFT AZURE.
Cloud Fleet Manager from Hanseaticsoft Enables Shipping Organizations to Meet Challenges and Improve Structures on the Azure Cloud Platform MICROSOFT AZURE.
CloudLabs, Powered by Azure, Enables the Quick, Easy, Cost-Effective Management, Distribution of Online Training Labs for Education and Business MICROSOFT.
Adra ACCOUNTS: Transaction Matching Software Powered by the Microsoft Azure Cloud That Helps Optimize the Accounting and Finance Processes MICROSOFT AZURE.
Media365 Portal by Ctrl365 is Powered by Azure and Enables Easy and Seamless Dissemination of Video for Enhanced B2C and B2B Communication MICROSOFT AZURE.
Saranya Sriram Developer Evangelist | Microsoft
Technical Capabilities
Serverless Architecture in the Cloud
Last.Backend is a Continuous Delivery Platform for Developers and Dev Teams, Allowing Them to Manage and Deploy Applications Easier and Faster MICROSOFT.
Guarantee Hyper-V, System Center Performance and Autoscale to Microsoft Azure with Application Performance Control System from VMTurbo MICROSOFT AZURE.
COMPANY PROFILE: REELWAY
Chapter 3 Software.
Presentation transcript:

Azure – winter 2015/16

What Is Cloud Computing? Imagine if tap water didn’t exist. Every household would need to dig a well. Doing so would be a pain. Wells are expensive to build, and expensive to maintain. You wouldn’t be able get a large quantity of water quickly if you needed it—at least not without upgrading your pump. Source: Programming Windows Azure (Sriram Krisbnan)

What Is Cloud Computing? And if you no longer needed the well, there would be no store to return it to, and no way to recoup your capital investment. If you vacated the house, or the proper plumbing were installed in your house, you would have invested in a well you don’t need. Source: Programming Windows Azure (Sriram Krisbnan)

Some History At the beginning, programmers typed in code using punch cards or tape, and submitted the cards or tape to a machine that executed jobs synchronously, one after another. This was massively inefficient, since the computer was subjected to a lot of idle time. Source: Programming Windows Azure (Sriram Krisbnan)

Time-Sharing Systems Cloud computing has its origins in the 1960s, as the time-sharing systems appeared. Time sharing took advantage of the time the processor spent waiting for I/O, and allocated these slices of time to other users. Source: Programming Windows Azure (Sriram Krisbnan)

Mainframe Computing These are computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning and transaction processing. Source: Programming Windows Azure (Sriram Krisbnan)

Grid Computing VS Cloud Computing The term grid computing originated in the 1990s, and referred to making computers accessible in a manner similar to a power grid. Grid computing is about users making few, but very large, requests Only a few of these allocations can be serviced at any given time, and others must be queued Cloud computing, on the other hand, is about lots of small allocation requests, with allocations happening in real time. Source: Programming Windows Azure (Sriram Krisbnan)

Why Cloud? “Unlimited resources” Scale on demand #clients #services Out of the box infrastructure Redundant (geographical) Compatibility with different clients Less deployment management

History of Azure The idea: A new kind of software, that you don’t install from CD (2005) A trip to Hotmail led to the name idea “Pink Poodle” (2006) The chosen name was “Red Dog” Source: Programming Windows Azure (Sriram Krisbnan)

History of Azure The funding team worked in a startup-like fashion, they did things that weren’t normally done at Microsoft. Such as turning a nearby building into a small data center, and stealing power from the buildings around it Red Dog, now renamed Windows Azure, was officially unveiled on October 27, Source: Programming Windows Azure (Sriram Krisbnan)

Why Azure? Integrated into Visual Studio Many services in one place Mobile service Has API for both tables and custom APIs General computing- because Arduino computational resources are limited Connects to both Windows Phone and Arduino Course requirement

The Azure portal Azure control panel: Each of you will connect his Microsoft account to his Azure pass. Only one pass per account allowed! You need Visual Studio 2013 or newer. You can get it from MSDNAA:

Mobile Service Software Stack AppService Controller Proxy JSON / XML HTTP ClientCloud

To Visual Studio! Preparing the solution You will need: Azure Mobile Service

To Visual Studio! Preparing the solution You will need: A Client Project We will use WPF In order to support Windows Phone you will need Universal App

Adding the Azure Libraries Managed by NuGet

Adding the Azure Libraries Search for “Azure” Add: “Windows Azure Mobile Services” and: “Windows Azure Storage”

Visual Studio Project Structure Solution (*.sln) Project – Client AppProject – Cloud Service class MyController : ApiController {... } class TodoItemController : TableController {... } AppService Ctrlr Proxy JSON / XML JSO / XML HTTP

Visual Studio Project Structure Solution (*.sln) Project – Client AppProject – Cloud Service public static MoblieServiceClient MobileService Defined in framework class MyProxy { public static async Task DoWork(Request r) { return await App.MobileService.InvokeApiAsync (... r...); } AppService Ctrlr Proxy JSON / XML HTTP

Async The Async keyword makes it easy to write multi-threaded non-blocking calls public async Task ExampleMethodAsync() { //.... } string contents = await contentsTask; task result = f(42); int x = await result;

JSON JavaScript Object Notation A lightweight data-interchange format “Self-describing“, easy to parse in code, human-readable {"employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"} ]} AppService Ctrlr Proxy JSON / XML HTTP

Naming Requirements In service project: class MyController : ApiController // must end with “Controller” public MyReturnType GetMyMethod(MyParamType p) // must start with Get/Post for HTTP Get/Post methods

Naming Requirements In client project: return await App.MobileService.InvokeApiAsync (“mycontroller/mymethod", MyParamType p HttpMethod.Get, new Dictionary ()...); // mycontroller – name of controller in lowercase without // “controller” // mymethod – name of method in lowercase without “Get/Post” // MyParamType, MyReturnType - parameter & return types // HttpMethod.Get must match method in controller // new Dictionary ()... – additional url // parameters

Other Constants In client project: In class App: public static MobileServiceClient MobileService = new MobileServiceClient(" “ApplicationKey");

Other Constants Find application key here:

Blob Storage

private static readonly string blobStoreConnectionString = "DefaultEndpointsProtocol=https;AccountName=basastorage;AccountKey=" + "MyKey"; private async void StoreBlob(byte[] blobData) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(blobStoreConnectionString); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("mycontainer"); container.CreateIfNotExists(); CloudBlockBlob blockBlob = container.GetBlockBlobReference("myBlob"); await blockBlob.UploadFromByteArrayAsync(blobData, 0, blobData.Count()); } Get storage account object from connection string

Blob Storage private static readonly string blobStoreConnectionString = "DefaultEndpointsProtocol=https;AccountName=basastorage;AccountKey=" + "MyKey"; private async void StoreBlob(byte[] blobData) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(blobStoreConnectionString); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("mycontainer"); container.CreateIfNotExists(); CloudBlockBlob blockBlob = container.GetBlockBlobReference("myBlob"); await blockBlob.UploadFromByteArrayAsync(blobData, 0, blobData.Count()); } Get the blob storage client for the current storage account

Blob Storage private static readonly string blobStoreConnectionString = "DefaultEndpointsProtocol=https;AccountName=basastorage;AccountKey=" + "MyKey"; private async void StoreBlob(byte[] blobData) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(blobStoreConnectionString); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("mycontainer"); container.CreateIfNotExists(); CloudBlockBlob blockBlob = container.GetBlockBlobReference("myBlob"); await blockBlob.UploadFromByteArrayAsync(blobData, 0, blobData.Count()); } Get the container reference. This is the handle for the container.

Blob Storage private static readonly string blobStoreConnectionString = "DefaultEndpointsProtocol=https;AccountName=basastorage;AccountKey=" + "MyKey"; private async void StoreBlob(byte[] blobData) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(blobStoreConnectionString); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("mycontainer"); container.CreateIfNotExists(); CloudBlockBlob blockBlob = container.GetBlockBlobReference("myBlob"); await blockBlob.UploadFromByteArrayAsync(blobData, 0, blobData.Count()); } This one is self-explanatory :)

Blob Storage private static readonly string blobStoreConnectionString = "DefaultEndpointsProtocol=https;AccountName=basastorage;AccountKey=" + "MyKey"; private async void StoreBlob(byte[] blobData) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(blobStoreConnectionString); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("mycontainer"); container.CreateIfNotExists(); CloudBlockBlob blockBlob = container.GetBlockBlobReference("myBlob"); await blockBlob.UploadFromByteArrayAsync(blobData, 0, blobData.Count()); } Get the blob reference. This is handle for the blob.

Blob Storage private static readonly string blobStoreConnectionString = "DefaultEndpointsProtocol=https;AccountName=basastorage;AccountKey=" + "MyKey"; private async void StoreBlob(byte[] blobData) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(blobStoreConnectionString); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("mycontainer"); container.CreateIfNotExists(); CloudBlockBlob blockBlob = container.GetBlockBlobReference("myBlob"); await blockBlob.UploadFromByteArrayAsync(blobData, 0, blobData.Count()); } Upload the byte array!

Blob Storage private static readonly string blobStoreConnectionString = "DefaultEndpointsProtocol=https;AccountName=basastorage;AccountKey=" + "MyKey"; private async void StoreBlob(byte[] blobData) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(blobStoreConnectionString); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("mycontainer"); container.CreateIfNotExists(); CloudBlockBlob blockBlob = container.GetBlockBlobReference("myBlob"); await blockBlob.UploadFromByteArrayAsync(blobData, 0, blobData.Count()); } Upload the byte array!

Blob Storage private static readonly string blobStoreConnectionString = "DefaultEndpointsProtocol=https;AccountName=basastorage;AccountKey=" + "MyKey"; private async void StoreBlob(byte[] blobData) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(blobStoreConnectionString); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("mycontainer"); container.CreateIfNotExists(); CloudBlockBlob blockBlob = container.GetBlockBlobReference("myBlob"); await blockBlob.UploadFromByteArrayAsync(blobData, 0, blobData.Count()); } Also has methods for string, stream and file

Publishing Don’t forget to publish your service!!!

Publishing You will need the Master key from the Manage Keys window

Appendix: ESP-8266 A cheap and relatively simple to use WiFi module Under 5$ in eBay Basic tutorial in course website For advanced users: fully programmable SoC (system-on-chip)

Appendix: ESP-8266 Comes with various baud rates. (Begin guessing with ) You can see the current baud rate using "AT+CIOBAUD?". (A very stupid command. why?) Setting a new baud rate: "AT+CIOBAUD=115200". Don’t use the Arduino to convert baud rates (i.e to 9600) Uses strictly 3.3V. DO NOT CONNECT TO 5V!!! Current has some peaks, according to the Internet, the current might jump up to 1A (!!!), this is why we use a capacitor. TX/RX logic is also 3.3V. Works fine with Arduino Uno/Mega

Appendix: ESP-8266 ~470μF