Others

WordPress Blog in Azure App Service In Minutes–Part 01

March 24, 2018 App Service, Azure, Azure Database for MySQL, Back-2-Bascis, CodeSnippets, JumpStarts, KnowledgeBase, Microsoft, OpenSource, Tips & Tricks, Windows, Windows Azure Development No comments

All my life I have been a tech saavy person would make my hands dirty trying out all odds available.

Here I am going to help you with setting up your own WordPress Blog in Azure App Service.

SPOILER ALERT: We will be using a B1 – Basic instance to save the cost.

image

Step 1: Login to Azure Portal

Step 2: Click on New

Step 3: Search for “Wordpress” among resources  and Select WordPress

image

Step 4: Click on ‘CREATE’

image

Step 5: Enter App Service Instance Name

image

Step 6: Now Select Database Provider. We need MySQL as the database and we have two options provided by Azure

1. Azure Database for MySQL ( a managed MySQL instance)  which has become publically available few days back.

2. MySQL In App (an instance hosted within App Service instance, basically your web app and mysql will be sharing the computing capabilities of the instance).

For the interest of the article, I will go with Option 2: MySQL InApp

image

Step 7: Specify App Service Plan /Location

As metioned in the spoiler we will go with a B1 Basic tier in West Europe location.

image

Step 8: Turn Application Insights ON and Specify location (This is optional, you do not want Application Insights performance logging for your blog, you can simply ignore)

Step 9: You are ready to go, click on [CREATE] to start the deployment.

image

Step 10: Now you see the deployment in progress message in Azure Portal.

image

image

Wait until this deployment is finished to setup WordPress initial configuration for use along with your custom domain.  We will continue with our setup in next part of this series.

Getting Started local development with Azure Cosmos DB services – Part 2

May 29, 2017 .NET, .NET Core 1.0, .NET Core 1.0.1, .NET Framework, ASP.NET, Azure, Azure SDK Tools, Azure Tools, Cloud Computing, CodeSnippets, CosmosDB, Document DB, Microsoft, PaaS, SaaS, Visual Studio 2015, Visual Studio 2015 Update 3, Visual Studio 2017, VisualStudio, VS2015, VS2017, Windows, Windows 10, Windows Azure Development, Windowz Azure No comments

In my previous article we discussed about setting local development environment using Cosmos DB Emulator for Windows. With this part 2 of the article, we will cover developing, debugging and integration related aspects of using Cosmos DB Emulator.

Developing with Cosmos DB Emulator

Once you have Cosmos DB emulator installed and running on your machine, you can use any supported Cosmos DB SDK or Cosmos DB REST API to interact with emulator. This process is same as you are using a Cosmos DB cloud service.

Cosmos DB Emulator also provides a build-in visual explorer through which you can view,create and edit collections and documents.

image

Before you integrate Cosmos DB SDK or Cosmos DB REST API you would need to generate master key for authentication. Unlike cloud service, Cosmos DB emulator only support single fixed account and master key.  You would not be able to communicate with Emulator without this master key.

Default Master Key:

Account name: localhost:<port>

Account key: C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==

PS: This key is only to be used in Emulator. You cannot use the same key for Production(Cosmos DB Cloud Service).

Furthermore, if you want to set your own key. You can go to command line references and run DocumentDB.Emulator.exe with sufficient command switch to set your own key. Remember it should meet the key security requirements. See command-line tool reference for more information.

The Azure Cosmos DB Emulator is installed by default to the C:\Program Files\Azure Cosmos DB Emulator  or C:\Program Files\DocumentDB Emulator  directory.

Once you have account name and key, you are good to go with development and debugging using Azure Cosmos DB emulator.

Let us start looking at how to use CosmosDB SDK. Once you add Cosmos DB SDK for .NET from NUGET sources. You would need to import the following namespaces to reference necessary classes.

 using Microsoft.Azure.Documents;
   
 using Microsoft.Azure.Documents.Client;
   
 using Microsoft.Azure.Documents.Linq;

Simple code to establish connection:

// Connect to the Azure Cosmos DB Emulator running locally use DocumentClient class in : 
DocumentClient client = new DocumentClient(
    new Uri("https://localhost:8081"), 
    "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==");

In the above code block we are directly embedding endpoint, key in the source code.But as a suggested approch keeping in mind to easily point to production service would be maintain the key in Web.config appSettings.

   <add value="https://localhost:8081/" key="endpoint"/>
    <add value="C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==" key="authKey"/>
 

Add NuGet reference to Microsoft.Azure.DocumentDB  (always use the latest version of the library)

image

For the ease of this article, I am going to use the existing ToDoList sample from DocumentDB Samples provided by Microsoft. You can originally find the same source from C:\Program Files\DocumentDB Emulator\Packages\DataExplorer\quickstart.

image

Copy and Unzip DocumentDB-Quickstart-DotNet.zip and open todo.sln in Visual Studio 2017 and your solution structure will look like below:

image

Now run the application in your Visual Studio.

1. You will see an initial screen:

image

2. Click on Create New:

image

3. New record will be added to your Azure Cosmos DB Emulator:

image

4. To verify in Cosmos DB emulator now open Cosmos DB explorer, click on Collections and Select ToDoList

image

5.Expand Documents and select item with id:da305da3-c1dc-4e34-94d9-fd7f82d26c58

image

Hope this article was helpful for you with initial development.  Share your feedback through comments and share this to your friends and colleagues.

Useful Links:

Visual Studio for Mac–Final–Released / Download Here

May 10, 2017 .NET, .NET Core 1.0, .NET Core 1.0.1, .NET Framework, ASP.NET, ASP.NET Core 1.0, ASP.NET Core 1.0.1, ASP.NET MVC, Mac OSX, MacOS Sierra, Microsoft, Mobile-Development, SignalR, Visual Studio for Mac, VisualStudio, Web API v2.0, Xamarin, Xamarin Studio No comments

Microsoft has released Visual Studio for Mac, a revamped and renamed version of Xamarin Studio with little bit look and feel changes to make it look like Visual Studio product line has been released.

With Visual Studio for Mac, you should be able to develop .NET/C#/ASP.NET based apps and XAMARIN Native and Forms based apps in Mac OS environment.

Visual Studio for Mac comes with different editions like as in Visual Studio 2017/Xamarin Studio such as Community, Professional and Enterprise.

  • Visual Studio Community for Mac – Free, fully-featured IDE for students, open-source and individual developers.
  • Visual Studio Professional for Mac – Professional developer tools, services, and subscription benefits for small teams.
  • Visual Studio Enterprise for Mac – End-to-end solution to meet demanding quality and scale needs of teams of all sizes.

vsmac1

vsmac2

Go through Release Notes here for more details.

Download: 

Introduction to HTTP/2

May 23, 2015 .NET, Communication, CSS, HTML, HTTP, HTTP2, IIS, KnowledgeBase, Microsoft, Protocols, Visual Studio 2015, VisualStudio, VS2015, Web, Windows, Windows 10 No comments

The reason I got started with topic is that, there  were some buzz around Visual Studio 2015 RC support for HTTP/2 and Windows 8 – IIS support for HTTP/2. I was curious to learn further about the HTTP/2 and sharing my findings in this article.

About HTTP/2.

HTTP/2 is the first new version of HTTP since HTTP 1.1, which was standardized in RFC 2068 in 1997.

  • HTTP/2 enables a more efficient use of network resources and a reduced perception of latency by introducing header field compression and allowing multiple concurrent exchanges on the same connection. 
  • It also introduces unsolicited push of representations from servers to clients.
  • This specification is an alternative to, but does not obsolete, the HTTP/1.1 message syntax. 
  • HTTP’s existing semantics remain unchanged.

HTTP/2 allows the server to “push” content, that is, to respond with data for more queries than the client requested. This allows the server to supply data it knows a web browser will need to render a web page, without waiting for the browser to examine the first response, and without the overhead of an additional request cycle.

Quoting from MSDN:

HTTP/2 is a new version of the HTTP protocol that provides much better connection utilization (fewer round-trips between client and server), resulting in lower latency web page loading for users.  Web pages (as opposed to services) benefit the most from HTTP/2, since the protocol optimizes for multiple artifacts being requested as part of a single experience.

The browser and the web server (IIS on Windows) do all the work. You don’t have to do any heavy-lifting for your users.

[Source: MSDN]

HTTP v1.1 vs HTTPv2

  • HTTP/2 leaves most of HTTP 1.1’s high level syntax, such as methods, status codes, header fields, and URIs, the same. The element that is modified is how the data is framed and transported between the client and the server.

At a high level, HTTP/2:

  • is binary, instead of textual  ( the reason being is – “Binary protocols are more efficient to parse, more compact “on the wire”, and most importantly, they are much less error-prone, compared to textual protocols like HTTP/1.x, because they often have a number of affordances to “help” with things like whitespace handling, capitalization, line endings, blank links and so on. “)
  • is fully multiplexed, instead of ordered and blocking
  • can therefore use one connection for parallelism
  • uses header compression to reduce overhead
  • allows servers to “push” responses proactively into client caches

Taking help of an image visualization

http-timing-diagram

Major Milestones:

  • December 2014: The HTTP Working Group presented HTTP/2 to IESG for consideration as a Proposed Standard.
  • Feb 17, 2015: IESG approved it to publish as Proposed Standard
  • May 2015: The HTTP/2 specification was published as RFC 7540

Browser Support:

  • Chrome supports HTTP/2 by default.  (from version 41)
  • Google Chrome Canary supports HTTP/2 by default. (from version 43)
  • Chrome for iOS supports HTTP/2 by default.  (from version 41)
  • Firefox supports HTTP/2 which has been enabled by default since version 34.
  • Internet Explorer supports HTTP/2 in version 11, but only for Windows 10 beta, and is enabled by default. Currently only HTTP/2 over TLS is implemented.
  • Opera supports HTTP/2 by default (from v 28 onwards)

Reference Links:

Visual Studio Tools for Apache Cordova in Visual Studio 2015 RC

May 3, 2015 ANDROID, Cordova, CSS, CSS 3, HTML, HTML5, iOS, JavaScript, jQuery, Mobile, Mobile Frameworks, Mobile SDK, Mobile Services, Mobile-Development, PhoneGap, Visual Studio 2013, Visual Studio 2015, Visual Studio Tools for Apache Cordova, VisualStudio, VS2013, VS2015, Windows, Windows 10, Windows 7, Windows 8, Windows 8 apps development, Windows 8.1, Windows Phone, Windows Phone Development, Windows Phone Store, Windows Store, Windows Store Development No comments

IC790359

Microsoft has announced that with Visual Studio 2015 – Apache Cordova tools will be integrated within the main install bundle. Using Apache Cordova Tools for Visual Studio you will be able to develop cross-platform mobile applications using single codebase for iOS, Android and Windows Phone.

With support for native device capabilities (e.g. camera, accelerometer, contact), offline scenarios and popular JavaScript frameworks (e.g. Angular, React and Backbone), the Tools for Apache Cordova contain everything web developers need for building cross-platform mobile apps using Visual Studio.

What’s new in Apache Cordova Tools for VS2015-RC

  • Grunt, Gulp, Bower and Node-based Workflows –  Starting with the RC release, it’s also much easier for you to build Cordova apps using tools familiar to many web developers.
  • New Templates from Ionic and Onsen UI – Ionic and Onsen UI templates are provided as optional to enable developers to try out the new frameworks. Each framework provides a variety of starting points to suit the most common project types. 
  • Fresh Samples, Tutorials and Documentation

Read more from Visual Studio team blog on Apache Cordova Tools for Visual Studio 2015 RC

If you are using Visual Studio 2013, then you will have to rely on Visual Studio Tools for Apache Cordova CTP3.1 (Add On) to enable cross platform mobile development using Visual Studio 2013 Update 4.

This preview release for Visual Studio 2013 Update 4 and Visual Studio 2015 RC supports building apps for the following device targets:

  • Android 4+
  • iOS 6, iOS 7, iOS 8
  • Windows 8.0 and Windows 8.1 Store
  • Windows Phone 8.0 and Windows Phone 8.1

Benefits of using Visual Studio Tools for Apache Cordova:

When you develop apps using Visual Studio Tools for Apache Cordova, Visual Studio provides these benefits:

  • Easy installation. Manual installation of Cordova involves a lot of work to find, install, and maintain the correct version of all the third-party software required to support native platforms. Visual Studio handles all that for you by including a third-party dependency installer that gets you up and running in the first hour.

  • Plugin management. Cordova plugins provide access to native APIs using a JavaScript interface. Support for custom plugins like those that turn a mobile phone into a barcode scanner are critical to an app’s success. Visual Studio makes it easy to add plugins of all kinds, including core Cordova and custom plugins. You also benefit from IntelliSense for plugins in Visual Studio.

  • Unified debugging experience. Cross-platform development often requires a different tool for debugging each device, emulator, or simulator. Different tools mean different workflows and lost productivity every time you switch devices. With Visual Studio, you can use the same world-class debugging tools for all deployment targets, including iOS devices and emulators, Android devices and emulators, Windows, and the Apache Ripple emulator.

  • Write once, deploy everywhere. The common JavaScript and plugin APIs in Cordova make it easy to write an app using a single code base that deploys to all target platforms—iOS, Android, and Windows. Of course, you can always write platform-specific code if and when you need it.

  • Command line interoperability. The Visual Studio solution directly reflects the file system and is updated in real time. This means that it is easier than ever to use your favorite command line tool with Visual Studio.

  • Multi-Version Cordova support. The Visual Studio solution allows you to select different versions of Cordova at the project level.

Quoting from MSDN Article – Getting Started with Visual Studio Tools for Apache Cordova

TO Learn more USE THE FOLLOWING RESOURCES

Introducing Visual Studio Code

May 1, 2015 .NET, .NET Framework 4.6, ASP.NET, CSS, HTML, JavaScript, Linux, Linux.World, Mac OSX, Open.Source, Operating Systems, Visual Studio Code, VisualStudio, Windows, Windows No comments

As part of Microsoft’s focused approach to bring in more value to Cross platform & Open Source based initiatives Microsoft has released Visual Studio Code IDE along with .NET Core runtime for Mac, Linux and Windows.

Visual Studio Code, a new, free, cross-platform code editor for building modern web and cloud applications on Mac OS X, Linux and Windows. Visual Studio Code is built primarily with standard web technology (HTML, CSS, JavaScript). Visual Studio Code offers developers built-in support for multiple languages (such as CoffeeScript, Python, Ruby, Jade, Clojure, Java,  Javascript,  JSON, C++, R, Go, makefiles, shell scripts, PowerShell, bat, xml), the editor will feature rich code assistance and navigation for all of these languages. JavaScript, TypeScript, Node.js and ASP.NET 5 developers will also get a set of additional tools.

vscode1

vscode2

Quoting from Visual Studio code site:

Visual Studio Code provides developers with a new choice of developer tool that combines the simplicity and streamlined experience of a code editor with the best of what developers need for their core code-edit-debug cycle. Visual Studio Code is the first code editor, and first cross-platform development tool – supporting OSX, Linux, and Windows – in the Visual Studio family.

Download:

Read more about it from below references:

Visual Studio Code Team blog – http://blogs.msdn.com/b/vscode/