Author Archives: admin

Interview Questions and Answers on Azure Service Fabric

What is Azure Service Fabric?

Azure Service Fabric is a distributed systems platform used to build scalable, reliable, and easily managed applications for the cloud. Service Fabric addresses the significant challenges in developing and managing cloud applications. By using Service Fabric, developers and administrators can avoid solving complex infrastructure problems and focus instead on implementing mission-critical, demanding workloads knowing that they are scalable, reliable, and manageable. Service Fabric represents the next-generation middleware platform for building and managing these enterprise-class, Tier-1 cloud-scale service

What is Service Fabric Cluster?

shared pool of machines (commonly referred to as a Service Fabric cluster)

Clusters of machines can go to thousands of machines and span across regions globally.

What is a MicroService?

Microservice applications are composed of small, independently versioned, and scalable customer-focused services that communicate with each other over standard protocols with well-defined interfaces

Service Fabric is agnostic on how you build your service, and you can use any technology. However, it does provide built-in programming APIs that make it very easy to build microservices

Types of MicroServices:

  • Stateless Microservices
  • Stateful Microservices

Stateless microservices (protocol gateways, web proxies, etc.) do not maintain a mutable state outside of any given request and its response from the service. Azure Cloud Services worker roles are an example of a stateless service. Stateful microservices (user accounts, databases, devices, shopping carts, queues, etc.) maintain a mutable, authoritative state beyond the request and its response. Today’s Internet-scale applications consist of a combination of stateless and stateful microservices.

What is an Application instance in Azure Service Fabric: In a cluster, you can create many application instances of an application type, each of which has a specific name. Each application instance can be independently managed and versioned from other application instances of the same type or a different type. Additionally, they define resource and security isolation.

What is a Cluster in Service Fabric:

A network-connected set of virtual or physical machines into which application instances are deployed. Clusters can scale to thousands of machines.

What is a Node in Service Fabric: An addressable unit in a cluster. Nodes have characteristics such as placement properties and unique IDs. Nodes can join a cluster and correlate to an operating system instance with Fabric.exe running.

What is a Service instance in Azure Service Fabric: Code that has been instantiated for a service type. Each service instance has a unique name starting with fabric:/ and is associated with a particular named application instance.

What is a Service/service type Azure Service Fabric: Code and configuration that perform a standalone function (it can start and run independently), for example, a queue service or database service. An application type may consist of one or more service types. There are two kinds of services types:

What is an Application package in Azure Service Fabric: The collection of service code packages and the configuration files combined for a particular application. These are the physical files that are deployed, and they are simply in a file and folder format layout. For example, an application package for an email application could contain a queue service package, a front-end service package, and a database service package.

What are the available Programming models in Azure Service Fabric: There are two programming models available in Service Fabric to build applications:

  • Reliable services: An API to build stateless and stateful services based on StatelessServiceand StatefulService .NET classes and store state in .NET reliable collections (dictionary and queue). They also have the ability to plug in a variety of communication stacks, such as Web API and Windows Communication Foundation. This programming model is suitable for applications where you need to perform compute across multiple units of state.
  • Reliable actors: An API to build stateless and stateful objects through the virtual actor programming model that is suitable for applications with multiple independent units of state and compute.

What is an Application/application type in Azure Service Fabric: A collection of (micro)services. Think of an application type as a container for one or more service types.

  • Stateless service: A service that has state where the state is persisted to external storage, such as Azure databases or Azure Table store. If a node on which an instance of this service is active goes down, another instance is automatically started on another node.
  • Stateful service: A service that has state and achieves reliability through replication between replicas on other nodes in the cluster. Stateful services have a primary and multiple secondary replicas. If a node on which a replica of this service is active goes down, a new replica is started on another node. If the node that goes down is the primary replica, a secondary replica is automatically promoted to a new primary.

 

Visual Studio 2015 RTM to be released on July 20th

Microsoft has announced to release the Visual Studio 2015 RTM on July 20th, along with Framework 4.6.

As per Microsoft this is going to be a big release:

“We are opening up Visual Studio to developers targeting new platforms – from cross-platform mobile development targeting iOS, Android and Windows, to game development targeting Unity, Unreal, Cocos and more.  At the same time, Visual Studio 2015 redefines developer productivity with proactive diagnostics tooling and the new Roslyn language services for C# and VB.  And together, Visual Studio 2015, Team Foundation Server 2015 and Visual Studio Online help teams to embrace DevOps with great agile backlog management, Azure cloud tooling, hosted continuous integration, and Application Insights across all the components of your application”

To know more about Visual Studio 2015 follow this link https://www.visualstudio.com/vs-2015-product-editions

Here is the official announcement from Microsoft Visual Studio 2015 RTM to be released on July 20th

For more details, check out the Visual Studio 2015 Final Release Event site

How to Connect to Azure SQL Database from ASP.NET

Introduction

You can bind your ASP.Net control to data from Azure SQL Database just as you can with SQL Server Database. You need to use SQLDataSource class which is compatible with Azure SQL Database.
Note: All Transact-SQL statements are NOT supported in Microsoft Azure SQL Database.

 

STEP 1: Create the TestDB Database

1. Connect to the Azure SQL Database server by using the sqlcmd utility.
2. Run the following Script:

 CREATE DATABASE TestDb;
 GO
 QUIT

3. Connect to TestDb and run the following SQL Script:

 CREATE TABLE Table1 (Col1 int primary key, Col2 varchar(20));
 GO
 INSERT INTO Table1 (Col1, Col2) VALUES (1, 'string1'), (2, 'string2');
 GO
 QUIT

Step 2: Create the GridView

1. In Visual Studio, on the File menu, click New and select Project.
Note: You must run Visual Studio as an administrator to use the Azure Development Fabric

2. In the New Project dialog box, in the Installed templates list, select Cloud for either Visual C# or Visual Basic.

3. In the Templates list, select Azure Project. Type DataBinding for the name and then click OK.

4. In the New Azure Project dialog box, select ASP.NET Web Role from the Roles list and then click the arrow to add it to the Azure Solution list. Click OK.

5. In Default.aspx, click Design to switch to the design view.

6. Drag the GridView control from the Toolbox to the design surface.

7. In the Properties window for the GridView, set AutoGenerateDeleteButton and AutoGenerateEditButton to true.

 

Step 3: Bind the Control to DataSource

1. In Visual Studio goto Solution Explorer, in the Web Role project, double-click Web.config.

2. Add the following to the Web.config:

<connectionStrings>
  <add name="SQLAzureConnection" connectionString="Data Source=<ProvideServerName>.database.windows.net;Initial Catalog=TestDb;User ID=<ProvideUserName>;Password=<ProvidePassword>;Encrypt=true;Trusted_Connection=false;"
    providerName="System.Data.SqlClient" />
</connectionStrings>

This adds the connection string to your Azure SQL Database.

3. In Default.aspx, click Source to switch to the source view.

4. Add the following markup to create a SqlDataSource control for your connection:

<asp:SqlDataSource ID="SqlAzureDataSource" runat="server"
   ConnectionString="<%$ ConnectionStrings:SQLAzureConnection %>"
   InsertCommand="INSERT INTO [Table1] ([Col1], [Col2]) VALUES (@Col1, @Col2)"
   SelectCommand="SELECT * FROM [Table1]"
   UpdateCommand="UPDATE [Table1] SET [Col2] = @Col2 WHERE [Col1] = @Col1"
   DeleteCommand="DELETE FROM [Table1] WHERE [Col1] = @Col1">
   <UpdateParameters>
      <asp:Parameter Name="Col2" Type="String" />
      <asp:Parameter Name="Col1" Type="Int32" />
   </UpdateParameters>
   <InsertParameters>
      <asp:formParameter Name="Col1" FormField="TextBox1" />
      <asp:formParameter Name="Col2" FormField="TextBox2" />
   </InsertParameters>
   <DeleteParameters>
      <asp:Parameter Name="Col1" Type="Int32" />
   </DeleteParameters>
</asp:SqlDataSource>

This includes the SELECT, INSERT, UPDATE, and DELETE logic for the control.
5. Add the following attributes to the markup of your GridView control: DataSourceID=”SqlAzureDataSource” and DataKeyNames=”Col1″.
6. Press F5 to run the solution.

Windows Azure Cloud Services Interview Questions and Answers

Here are some Microsoft Windows Azure Cloud Service Interview Questions and Answers

Windows Azure Interview Questions

What is Azure Cloud Service:
By creating a cloud service, you can deploy a multi-tier web application in Azure, defining multiple roles to distribute processing and allow flexible scaling of your application. A cloud service consists of one or more web roles and/or worker roles, each with its own application files and configuration. Azure Websites and Virtual Machines also enable web applications on Azure. The main advantage of cloud services is the ability to support more complex multi-tier architectures

What is a cloud service role:
A cloud service role is comprised of application files and a configuration. A cloud service can have two types of role:

What is link a resource:
To show your cloud service’s dependencies on other resources, such as an Azure SQL Database instance, you can “link” the resource to the cloud service. In the Preview Management Portal, you can view linked resources on the Linked Resources page, view their status on the dashboard, and scale a linked SQL Database instance along with the service roles on the Scale page. Linking a resource in this sense does not connect the resource to the application; you must configure the connections in the application code.

What is scale a cloud service:
A cloud service is scaled out by increasing the number of role instances (virtual machines) deployed for a role. A cloud service is scaled in by decreasing role instances. In the Preview Management Portal, you can also scale a linked SQL Database instance, by changing the SQL Database edition and the maximum database size, when you scale your service roles.

What is a web role:
A web role provides a dedicated Internet Information Services (IIS) web-server used for hosting front-end web applications.

What is a worker role:
Applications hosted within worker roles can run asynchronous, long-running or perpetual tasks independent of user interaction or input.

What is a role instance:
A role instance is a virtual machine on which the application code and role configuration run. A role can have multiple instances, defined in the service configuration file.

What is a guest operating system:
The guest operating system for a cloud service is the operating system installed on the role instances (virtual machines) on which your application code runs.

What is a cloud service components:
Three components are required in order to deploy an application as a cloud service in Azure:

What is deployment environments:
Azure offers two deployment environments for cloud services: a staging environment in which you can test your deployment before you promote it to the production environment. The two environments are distinguished only by the virtual IP addresses (VIPs) by which the cloud service is accessed. In the staging environment, the cloud service’s globally unique identifier (GUID) identifies it in URLs (GUID.cloudapp.net). In the production environment, the URL is based on the friendlier DNS prefix assigned to the cloud service (for example, myservice.cloudapp.net).

What is swap deployments:
To promote a deployment in the Azure staging environment to the production environment, you can “swap” the deployments by switching the VIPs by which the two deployments are accessed. After the deployment, the DNS name for the cloud service points to the deployment that had been in the staging environment.

What is minimal vs. verbose monitoring:
Minimal monitoring, which is configured by default for a cloud service, uses performance counters gathered from the host operating systems for role instances (virtual machines). Verbose monitoring gathers additional metrics based on performance data within the role instances to enable closer analysis of issues that occur during application processing. For more information

What is a service definition file:
The cloud service definition file (.csdef) defines the service model, including the number of roles.

What is a service configuration file:
The cloud service configuration file (.cscfg) provides configuration settings for the cloud service and individual roles, including the number of role instances.

What is a service package:
The service package (.cspkg) contains the application code and the service definition file.

What is a cloud service deployment:
A cloud service deployment is an instance of a cloud service deployed to the Azure staging or production environment. You can maintain deployments in both staging and production.

What is Azure Diagnostics:
Azure Diagnostics is the API that enables you to collect diagnostic data from applications running in Azure. Azure Diagnostics must be enabled for cloud service roles in order for verbose monitoring to be turned on. For more information,

What is Azure Service Level Agreement (SLA):
The Azure Compute SLA guarantees that, when you deploy two or more role instances for every role, access to your cloud service will be maintained at least 99.95 percent of the time. Also, detection and corrective action will be initiated 99.9 percent of the time when a role instance’s process is not running. For more information,

Windows Azure Cloud Services Training Videos -Tutorial

What is a Cloud Service?

When you create an application and run it in Azure, the code and configuration together are called an Azure cloud service (known as a hosted service in earlier Azure releases).

By creating a cloud service, you can deploy a multi-tier web application in Azure, defining multiple roles to distribute processing and allow flexible scaling of your application. A cloud service consists of one or more web roles and/or worker roles, each with its own application files and configuration. Azure Websites and Virtual Machines also enable web applications on Azure. The main advantage of cloud services is the ability to support more complex multi-tier architectures.

Main Features of Azure Cloud Service:

  • Integrated development experience powered by Visual Studio + Azure SDK
  • Create highly-available, infinitely-scalable applications and APIs
  • Focus on building great applications, not babysitting hardware
  • Test your apps before deploying them
  • Autoscale to optimize cost and performance
  • Convenient health monitoring and alerts

 

Here are some Azure Cloud Service Video Tutorials

Azure Cloud Services Training Videos

Introduction to Windows Azure Cloud Services

 

Windows Azure Cloud Services Concepts (Part 1)

 

Windows Azure Cloud Services Concepts (Part 2)

Visual Studio Release Management Video Tutorial

 

Introduction

With release management in Visual Studio you can configure, approve and deploy your applications for any environment. Create automated deployment orchestrations for each environment no matter how complex the configuration.

Features 

Manage a consistent deployment pipeline

  • Schedule builds and trigger your entire release management flow from within Visual Studio
  • Enable approvers to schedule each promoted release at a time that suits them, providing the versatility of automation, while still maintaining control
  • Visualize your release pipeline and model your release process to know where you are at a glance 

Easily define your release process

  • Visually create the configuration paths that describe the promotion path through your environments
  • Drag and drop to create workflows that do the work of deploying your software: copy files, create IIS sites, install MSIs, and maintain all of your configurations
  • Use the same deployment for every environment, including deploying to production 

Release Management

By using Release Management for Visual Studio 2013, your development and operations teams can enable additional capabilities in Team Foundation Server 2013 so that they can more easily and more confidently configure and automate complex deployments to a variety of target environments. You can also model release processes, track approvals and sign-offs, and display release status graphically

 

Here is a Video Class on Visual Studio Release Management Jump Start

 

Here is another Video training on Visual Studio Release Management

Learning C#: Tutorial Videos for Beginners

Here is a list of tutorial videos on C# to learn C# from scratch.

Its a good resource for Beginners who are trying to learn the C# Language. Hope you find this collection useful.

C# (pronounced “C sharp”) is a programming language that is designed for building a variety of applications that run on the .NET Framework. C# is simple, powerful, type-safe, and object-oriented. The many innovations in C# enable rapid application development while retaining the expressiveness and elegance of C-style languages.

Visual C# is an implementation of the C# language by Microsoft. Visual Studio supports Visual C# with a full-featured code editor, compiler, project templates, designers, code wizards, a powerful and easy-to-use debugger, and other tools. The .NET Framework class library provides access to many operating system services and other useful, well-designed classes that speed up the development cycle significantly.

Learn about C# Classes and more. Good start to learn C# Programming language. Good resource for Learning C# Free
FREE C# Training for Beginners:
C# Fundamentals for Beginners – Video Tutorial.

These are the topics covered:

C# Tutorial: 1 – Introduction
C# Tutorial: 2 – Installing Visual Studio Express 2013 for Windows Desktop
C# Tutorial: 3 – Creating Your First C# Program
C# Tutorial: 4 – Dissecting the First C# Program You Created
C# Tutorial: 5 – Quick Overview of the Visual C# Express Edition IDE
C# Tutorial: 6 – Declaring Variables and Assigning Values Duration
C# Tutorial: 7 – Branching with the if Decision Statement and the Conditional Operator
C# Tutorial: 8 – Operators, Expressions, and Statements Duration
C# Tutorial: 9 – For Iterations
C# Tutorial: 10 – Creating Arrays of Values
C# Tutorial: 11 – Creating and Calling Simple Overloaded Helper Methods
C# Tutorial: 12 – While Iterations and Reading Data from a Text File
C# Tutorial: 13 – Working with Strings
C# Tutorial: 14 – Working with DateTime
C# Tutorial: 15 – Understanding and Creating Classes
C# Tutorial: 16 – More About Classes and Methods
C# Tutorial: 17 – Working with Classes and Inheritances in the .NET Framework Class Library
C# Tutorial: 18 – Understanding Namespaces and Adding References to Assemblies
C# Tutorial: 19 – Understanding Scope and Utilizing Accessibility Modifiers
C# Tutorial: 20 – Enumerations and the switch Decision Statement
C# Tutorial: 21 – Gracefully Handling Exceptions
C# Tutorial: 22 – Working with Collections
C# Tutorial: 23 – Filtering and Managing Data Collections Using LINQ
C# Tutorial: 24 – Understanding Event-Driven Programming
C# Tutorial: 25 – Where to Go from Here

This is a collection of videos, so make sure to click on next to watch the next video.

Visual Studio 2014 CTP now available on Virtual Machine Azure Gallery

Looks like the Visual Studio 2014 CTP is out and available both on the Azure Gallery if you have an MSDN License and also for a download.

Two ways you can try Visual Studio 2014 CTP:

  1. Try it on Azure Gallery
  2. Download it to your local system the traditional way 🙂

 

On Azure Gallery

If you have MSDN subscription, you should be able to login to your Azure Services here azure.microsoft.com and made use of those FREE Azure credit you have every month.

Here is how you can try on your Azure Sevice. Once you have logged in to you Azure account. Go to the Azure Dashboard and follow the steps below.

  1. Click on the New button as shown in the screenshot below

Azure Dashboard New Button

  1. Next Click on Virtual Machine as shown below.

Azure Dashboard 2

 

  1. Next click on ‘From Gallery’

Azure Dashboard 3

  1. Next scroll down to look for Visual Studio Professional 14 CTP and Select it

Azure Dashboard 4

 

That’s it, you should have your VM with Visual Studio Profession 14 CTP installed. Explore and have fun.

Download to Local System

If you prefer the old way, you can down it to your system and try it out.

You can download it from here Visual Studio 2014 CTP Download

AppFabric Architecture Overview

Introduction

AppFabric is an evolution of the Windows Process Activation service (WAS) and the Application Server role in Windows Server to host and manage WCF and WF services

AppFabric is very much dependent on the .NET Framework 4 and uses many of the features provided by the framework such as monitoring, persistence, hosting of WCF and WF Services. AppFabric also integrates with IIS and provides management and monitoring tools from the IIS Console.

Here is an architectural diagram that shows AppFabric  and its components and also the components of .Net Framework and IIS and how AppFabric uses them.

 

AppFabric Architecture Diagram

 

IIS and WAS

IIS and WAS forms the foundation on which AppFabric is built.

Hosting applications within WAS provides several features that are desirable for a service-oriented architecture (SOA) such as:

  • Message-based activation of applications that allows applications to start and stop dynamically in response to incoming messages.
  • Robust application and worker process recycling to maintain the health of running applications.
  • Application configuration and management.
  • Organization of applications into sites for the purposes of addressing and management. At run time, applications are associated with application pools that define runtime process boundaries.

 

AppFabric Runtime Services and Components

AppFabric provides services, such as persisting the state of a long-running workflow to a persistence store, content-based routing, and configuration-based activation.

  • ASP.Net
  • WCF and WF
  • Run-Time Databases
  • Persistence
  • Hosting
  • Monitoring

 

Management APIs

To support a wide range of management scenarios, AppFabric provides access to all management functions through the ApplicationServer module for Windows PowerShell as cmdlets

AppFabric provides the following tools to Manage AppFabric and the WCF and WF Application services.

  • An AppFabric Setup Wizard that you can use to install AppFabric, add features to or remove features from the AppFabric installation, or upgrade AppFabric.
  • An AppFabric Configuration Wizard that you can use to configure AppFabric hosting and caching features.
  • AppFabric IIS Manager extensions that you can use to manage applications built from WCF and/or WF services.
  • Windows PowerShell cmdlets for AppFabric that you can use to perform management tasks on applications and services. You can do so interactively in the Windows PowerShell console, or script management tasks with cmdlets. These cmdlets provide the functionality behind much of the AppFabric application management UI.

 

IIS Manager

In order to provide centralized configuration and management of your WF and WCF services, AppFabric provides a rich management and monitoring toolset for WCF and WF services within IIS Manager

 

Visual Studio

Visual Studio 2010 provides a rich development environment that you can use to create applications containing WCF and WF services. Visual Studio 2010 also supports directly testing your services within AppFabric

 

Reference:

http://msdn.microsoft.com/en-us/library/ee677255(v=azure.10).aspx

AppFabric Features Overview

Introduction:

Windows Server AppFabric extends Windows Server to provide enhanced hosting, management, and caching capabilities for Web applications and middle-tier services.

AppFabric adds as an extension to your IIS, WAS to Host and Monitor the Windows Workflow (WF) and Windows Communication Foundation (WCF) based services.

The Key features provided by AppFabric are:

  1. Hosting Feature
  2. Caching Feature

App Fabric Hosting Feature:

The AppFabric hosting features add service management extensions to Internet Information Services (IIS), Windows Process Activation Service (WAS), and the .NET Framework 4. This includes Hosting Services and Hosting Administration tools that make it easier to deploy, configure, and manage Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) based services.

Windows Server AppFabric hosting features enhance the hosting of .NET Framework version 4 Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) services in the Windows Process Activation Service (WAS) by providing the following capabilities:

  • Simplified deployment and management of WCF and WF services hosted in WAS
  • Simplified configuration of persistence for durable workflows
  • Customizable tracking profiles that allow you to capture only the data you need
  • Dedicated, queryable storage for tracked data
  • Windows PowerShell cmdlets that allow you to create custom management scripts
  • Customizable monitoring of hosted services
  • Supports Internet Protocol Version 6 (IPv6) through Windows IPv6 stack
  • Automatically starting applications to minimize service latency

Note: This feature requires Windows Server 2008 R2 or later or Windows 7 or later

AppFabric hosting features rely on WAS to provide the hosting environment for WCF and WF services, and extends the IIS Management console to provide management and configuration tools for WAS-hosted services.

Key Capabilities under the AppFabric Hosting Feature:
  • Application Deployment
    The IIS Web deployment tool, MSDeploy, provides simple package-based deployment functionality that can be used from a command line, the IIS Management Console, or Visual Studio 2010
  • Application Configuration
    AppFabric provides the following functionality for configuration of hosted applications and services

    1. Simplified application configuration
    2. WCF configuration options provided through the IIS Management console
    3. WF persistence configuration
    4. Windows PowerShell cmdlets
  • Application Monitoring
    AppFabric Hosting Services also makes it easier to monitor your applications by capturing tracing information emitted at runtime and storing it in the monitoring database
  • Application Hosting
    AppFabric Hosting Services works with WAS to provide a robust hosting environment for middle-tier WCF and WF applications

 

AppFabric Caching Feature

The AppFabric caching features add a distributed, in-memory object cache to Windows Server that makes it easier to scale out high-performance .NET applications, especially ASP.NET applications.

AppFabric caching features provide a distributed in-memory cache platform for developing scalable, available, and highly-performant applications. The following are the key features of the AppFabric caching features are:

  • Caches any serializable CLR object and provides access through simple cache APIs
  • Supports enterprise scale: tens to hundreds of computers
  • Configurable to run as a service accessed over the network
  • Supports common cache configurations
  • Supports dynamic scaling by adding new nodes
  • A high availability feature which supports continuous availability of your cached data by storing copies of that data on separate cache hosts
  • Automatic load balancing
  • Integration with administration and monitoring tools such as Event Tracing for Windows (ETW) and System Center.
  • Provides tight integration with ASP.NET to be able to cache ASP.NET session data in the cache without having to write it to source databases. It can also be used as a cache for application data to be able to cache application data across the entire Web farm.

 

AppFabric Caching Services fuses memory across multiple computers to give a single unified cache view to applications. Applications can store any serializable CLR object without worrying about where the object gets stored. Scalability can be achieved by simply adding more computers on demand. AppFabric Caching Services also allows for copies of data to be stored across the cluster, thus protecting data against failures. AppFabric Caching Services includes an ASP.NET session provider object that enables ASP.NET session objects to be stored in the distributed cache without having to write to databases. This increases the performance and scalability of ASP.NET applications

 

Reference:

http://msdn.microsoft.com/en-us/library/ee677368(v=azure.10).aspx