<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d8211560\x26blogName\x3dTech+Tips,+Tricks+%26+Trivia\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://mvark.blogspot.com/search\x26blogLocale\x3den\x26v\x3d2\x26homepageUrl\x3dhttp://mvark.blogspot.com/\x26vt\x3d-5147029996388199615', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Tech Tips, Tricks & Trivia

by 'Anil' Radhakrishna
A seasoned developer's little discoveries and annotated bookmarks.

Search from over a hundred HOW TO articles, Tips and Tricks


IIS Timeline

Friday, February 24, 2017
Internet Information Services (IIS, formerly Internet Information Server) is an extensible web server created by Microsoft

IIS version Windows OS Remarks/Features
IIS 1.0 Windows NT 3.51;  1996
IIS 2.0 Windows NT 4.0 1996
IIS 3.0 Service Pack 2 of Windows NT 4.0 1996; introduced Active Server Pages (ASP)
IIS 4.0 "Option Pack" for Windows NT 4.0 1997 
IIS 5.0 Windows 2000 2000; support for the WebDAV protocol, enhancements to ASP
IIS 5.1 Windows XP Professional 2002 
IIS 6.0 Windows Server 2003 2003 
IIS 7.0 Windows Server 2008, Windows Vista 2008 
IIS 7.5 Windows 7, Windows Server 2008 R2 2009 
IIS 8.0 Windows Server 2012 and Windows 8 SNI (binding SSL to hostnames rather than IP addresses), Application Initialization, centralized SSL certificate support
IIS 8.5 Windows Server 2012 R2 and Windows 8.1 Idle worker-Process page-out, Dynamic Site Activation, Enhanced Logging, ETW logging, and Automatic Certificate Rebind
IIS 10 Windows Server 2016 and Windows 10 support for HTTP/2

OWIN (Open Web Interface for .NET) is an interface specification. It decouples a web applications from IIS. OWIN/Katana (set of components by Microsoft built using OWIN specifications) reduces your server running costs since your web servers do not need to run on IIS (Windows) anymore

Labels:

What is the difference between SNI & IP based SSL?

Thursday, February 23, 2017
Azure supports SNI & IP based SSL. What is the difference between the two?

IP based SSL associates a certificate with a domain name by mapping the dedicated public IP address of the server to the domain name. This requires each domain name (contoso.com, fabricam.com, etc.) associated with your service to have a dedicated IP address. This is the traditional method of associating SSL certificates with a web server.

SNI (Server Name Indication) based SSL is an extension to SSL and Transport Layer Security (TLS;  TLS is just the ‘proper’ name for modern day SSL) that allows multiple domains to share the same IP address, with separate security certificates for each domain. Most modern browsers (including Internet Explorer, Chrome, Firefox and Opera) support SNI, however older browsers may not support SNI. Server Name Indication was introduced in IIS 8.0

SNI certificates were introduced to get round the problem of the 1:1 mapping between sites and IP addresses.

Any time you have a website that you look up it's IP and when you type the IP directly in to the browser and you got a different website, you just encountered Shared Hosting, a extremely common practice. Multiple dynamic DNS addresses resolve to the same IP address



Labels: ,

Usage scenarios for AzCopy

I often find info on Azure topics I need, tucked away in larger articles or books. As it gets difficult for me to fetch it the next time I need it, I like preserving (with attribution) the snippets & nuggets I find along the way  & adding my own annotations

Use cases for the AzCopy command line tool from the free ebook "Microsoft Azure Essentials - Fundamentals of Azure, second edition" -

AzCopy is a free tool provided by the Azure Storage team to move data around. The core use case is asynchronous server-side copies. When you copy blobs or files from one storage account to another, they are not downloaded from the first storage account to your local machine and then uploaded to the second storage account. The blobs and files are copied directly within Azure.

Here are some of the things you can do with AzCopy:
* Upload blobs from the local folder on a machine to Azure Blob storage.
*  Upload files from the local folder on a machine to Azure File storage.
*  Copy blobs from one container to another in the same storage account.
*  Copy blobs from one storage account to another, either in the same region or in a different region.
*  Copy files from one file share to another in the same storage account.
*  Copy files from one storage account to another, either in the same region or in a different region.
*  Copy blobs from one storage account to an Azure File share in the same storage account or in a different storage account.
*  Copy files from an Azure File share to a blob container in the same storage account or in a different storage account.
*  Export a table to an output file in JSON or CSV format. You can export this to blob storage.
*  Import the previously exported table data from a JSON file into a new table. (Note: It won’t import from a CSV file.)

Here are some other use cases:
*  You want to move your data from a classic storage account to a Resource Manager storage account. You can do this by using AzCopy, and then you can change your applications to point to the data in the new location.
* You want to move your data from general-purpose storage to cool storage. You would copy your blobs from the general-purpose storage account to the new Blob storage account, then delete the blobs from the original location.

Labels: ,

Common usage scenarios for Azure Functions

Wednesday, February 22, 2017
I often find info on Azure topics I need, tucked away in larger articles or books. As it gets difficult for me to fetch it the next time I need it, I like preserving (with attribution) the snippets & nuggets I find along the way  & adding my own annotations

Since long, I have been trying to compile notes on usage scenarios for the ever growing list of Azure services. I loved this list of use cases for Azure Functions with accompanying illustrations from the official Azure documentation -

1. Timer-based processing - Azure Functions supports an event based on a timer using CRON job syntax. For example, you could execute code that runs every 15 minutes and cleans up a database table based on custom business logic.

Azure Functions timer based processing







2. Azure service event processing - Azure Functions supports triggering an event based on an activity in an Azure service. For example, you could execute serverless code which reads newly discovered test log files in an Azure Blob Storage container and transforms this into a row in an Azure SQL Database table.
Azure Functions event processing

3. SaaS event processing - Azure Functions supports triggers based on activity in a SaaS service. For example, when a file is saved in OneDrive, this triggers a function that uses the Microsoft Graph API to modify the spreadsheet, creating additional charts and calculated data.
SaaS event processing and serverless code functions

4. Serverless web application architectures - Azure Functions can power a single page app. The app calls functions using the WebHook URL, saving user data and deciding what data to display. Or, you can do simple customisations, such as changing ad targeting by calling a function and passing it user profile information.
Serverless architecture in Azure Functions

5. Serverless mobile backends - A mobile backend can be just a set of HTTP APIs that are called from a mobile client using the WebHook URL. For example, a mobile application could capture an image, then call an Azure Function to get an access token for uploading to blob storage. A second Azure Function is triggered by the blob upload and resizes the image to be mobile-friendly.
Serverless architecture in Azure Functions

6. Real-time stream processing - For example, IoT devices send messages to Azure Stream Analytics, which then calls an Azure Function to transform the message. This function processes the data and creates a new record in an Azure SQL Database.
Real time stream processing

7. Real-time bot messaging - Azure Functions can be used to customise the behavior of a bot using a WebHook. For example, you can create an Azure Function that processes a message using Cortana Analytics and call this function using Bot Framework.
Real time bot messaging in Azure Functions
All images from official Azure documentation

Microsoft provides an easy way to try Azure Functions without the need for an Azure account or a credit card.

Labels: ,

Takeaways from Pluralsight course "Understanding the Difference Between Microsoft Azure and Amazon AWS"

Monday, February 20, 2017
The Pluralsight course "Understanding the Difference Between Microsoft Azure and Amazon AWS" by Microsoft MVP, Tim Warner is available for free during this month. It is not too technical or comprehensive & may be suitable for folks looking for a high level comparison of services offered by the top 2 cloud providers.

If you don't have the time to watch the 6-hour course, you can download the deck available as PDF files & take the quiz



Except the first point, most points are mixed up in the slide and have to be swapped.




Also see:
AWS vs Azure vs Google Cloud Platform – Networking

Labels:

‹Older