Descripción: Programming Microsoft Azure...
Subhasish Ghosh | Vice President, 8K Miles Software Services, Inc. @nerdometer
Developing Applications Better
[email protected]
WISDOM Series Microsoft, Hyderabad
+91-9916043731
70-532: Developing Microsoft Azure Solutions
Developing Applications Better
[email protected]
+91-9916043731
NOT
Architecting Microsoft Azure Solutions
Developing Applications Better
[email protected]
+91-9916043731
Microsoft Azure Fundamentals Exam 70-532: Developing Microsoft Azure Solutions Preparation Module
Developing Applications Better
[email protected]
+91-9916043731
[email protected] [email protected] [email protected] https://www.linkedin.com/in/sghosh2011 Developing Applications Better
[email protected]
+91-9916043731
Day1 •
Azure AD & SSO
VM, Cloud Services & Web Sites Analysis
•
Lab 2
•
Deployment, Configuration & Monitoring
•
Data Storage Options
•
•
Web Sites & AutoScale – Demo
•
Blobs, Disks, Tables & Queues
•
•
Cloud Services –
•
Serialized Object Graphs in JSON (DocumentDB)
•
•
async in .NET 4.5
•
Lab 3
•
Code Review & 3 Best Practices
•
Data Partitioning Strategies
•
Introduction
•
WPI & WebMatrix3 - Demo
•
•
One ASP.NET Philosophy
•
Microsoft Open Technologies
VM Depot - Demo
•
OWIN Katana Project – Examples & Demo
•
Lab 1
•
Cloud Dev Best Practices
•
•
Day2
•
Web Sites –
Developing, Deploying & Monitoring
Developing Applications Better
In-depth Blog Storage & Code Examples
Day3 •
Queuing on Microsoft Azure
•
Using DCS
Lab 4
•
Use Cases & Demo
•
Lab 7
Azure Service Bus Queues
•
Understanding Failures on Cloud
•
PowerShell Cmdlets
Azure Queues & Service Bus Queues – Compared
•
Types & Scope
•
Lab 8
•
Staged Deployment & GitHub Integration
Caching on Azure: Understanding Redis - Tutorial
•
Building Telemetry
•
Microsoft Azure Redis
•
Lab 6
•
Lab 9
•
Lab 5
•
DevOps on Cloud Principles
•
ASSESSMENT
[email protected]
+91-9916043731
Laboratories 1,2,3,4,5,6,7,8,9 1. SETUP: Install Microsoft Azure SDK for .NET (vs2013) - 2.5, Install Visual Studio Express 2013 for Web with Microsoft Azure SDK – 2.5, Microsoft Azure PowerShell, Open Microsoft Azure Subscription TRIAL 30-day account. Create a VM, stop & stop-deallocate using Azure PowerShell. 2. SECURITY: Creating an ASP.NET MVC application and then adding Single Sign-On (SSO) to your application using Azure Active Directory (AAD). 3. DOCUMENTDB: Creating a DocumentDB account; leveraging DocumentDB in a VS2013 application.
4. CLOUD SERVICES: Creating a Cloud Services (Web & Worker Roles) application. Publishing to Microsoft Azure associated with a Microsoft Azure Storage Account; Configure Auto-scaling. 5. AZURE REDIS CACHE: Creating and configuring Azure Redis Cache, configuring cache clients, adding and removing objects from the cache, and storing ASP.NET session state in the cache. 6. MONITORING CODE: Creating a New Relic account, integrating it with an Azure Web Sites application and then publishing to Azure; and checking out the tool. 7. SOURCE CONTROL: Using Git in VS2013, Exploring features (branches, merging, comments etc.). 8. DEVOPS AUTOMATION: Using Microsoft Azure PowerShell – installation, cmdlets, Azure Subscription details and Runbooks Introduction. 9. STAGED PUBLISHING: Staged Publishing feature of Azure Web Sites along with GitHub Integration. Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
We are gonna talk about…
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Microsoft Open Technologies
http://msopentech.com/
Developing Applications Better
[email protected]
+91-9916043731
https://vmdepot.msopentech.com/
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
http://katanaproject.codeplex.com/
Microsoft via Katana is building a set of components around hosting abstraction for your applications. That hosting abstraction is 'OWIN'. OWIN is a specification. Not a code // library // framework.
Developing Applications Better
[email protected]
+91-9916043731
Why OWIN? 2 Key Motivations: - System.Web.dll (ASP.NET runtime) 12+ years old web framework - Was built with WebForms in mind - Not flexible enough to support modern frameworks: Web API, SignalR, NancyFX - Always execute lots of legacy ASP.NET-specific code that has no more use
Developing Applications Better
[email protected]
+91-9916043731
Why OWIN? 2 Key Motivations: - Node.js Envy
Developing Applications Better
[email protected]
+91-9916043731
Katana Architecture
http://msopentech.com/
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Quick Demo
PM> Install-Package Microsoft.Owin.Host.SystemWeb PM> Install-Package Microsoft.Owin.Diagnostics PM> Install-Package Microsoft.Owin.Host.HttpListener Developing Applications Better
[email protected]
+91-9916043731
http://msopentech.com/
Developing Applications Better
[email protected]
+91-9916043731
app.UseWelcomePage();
Developing Applications Better
[email protected]
+91-9916043731
Project Katana
http://msopentech.com/
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Cloud Services - Azure’s original PaaS solution You create the code, define the configuration, and deploy it to Azure. Azure sets up the compute environment, runs your code then monitors and maintains it for you. No need to get your hands dirty with the Virtual Machine configurations unless you need to. Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Role (“Template”)
Configuration OS Family (Server 2008, 2012) VM Size Role Type (Web, Worker) Endpoints Settings Etc… Code
Developing Applications Better
Keep at least two instances running for improved fault tolerance and SLA. Load balanced Endpoints are automatically maintained.
Instance *
[email protected]
Running VM, configured, with code deployed, endpoints opened, etc.
+91-9916043731
Add more instances for load balancing and improved fault tolerance when demand is high.
Role (“Template”)
Developing Applications Better
Keep at least two instances running for improved fault tolerance and SLA. Load balanced Endpoints are automatically maintained.
Scale Up
Configuration OS Family (Server 2008, 2012) VM Size Role Type (Web, Worker) Endpoints Settings Etc… Code
Instance *
[email protected]
Running VM, configured, with code deployed, endpoints opened, etc.
+91-9916043731
Role (“Template”)
Developing Applications Better
Keep at least two instances running for improved fault tolerance and SLA. Load balanced Endpoints are automatically maintained.
Scale Down
Configuration OS Family (Server 2008, 2012) VM Size Role Type (Web, Worker) Endpoints Settings Etc… Code
Remove un-needed instances to save money when demand is low
Instance *
[email protected]
Running VM, configured, with code deployed, endpoints opened, etc.
+91-9916043731
Workloads for Cloud Services •
VM is explicitly IaaS, Cloud Services is explicitly PaaS, Web Sites is explicitly hosting.
•
Cloud Services gives you administrative access to your application's VMs. Web Sites do not provide this. This lets you install arbitrary software that your application needs, something that's not possible with Web Sites.
•
N-tier stateless applications is perfect for Cloud Services. Offers both web roles and worker roles (requirement for separate VMs for their business logic).
•
Cloud Services provides separate staging and production environments, making application updates somewhat smoother than Web Sites.
•
Cloud Services lets you use networking technologies such as Azure Virtual Network and Azure Connect to hook on-premises computers to Cloud Services applications. No such thing on Web Sites.
•
Cloud Services lets you use Remote Desktop to connect directly to an application's VMs. No such thing on Web Sites. Developing Applications Better
[email protected]
+91-9916043731
1
3
2
Legacy App Support
4
Web Sites
Developing Applications Better Cloud Services
[email protected]
Agility
Ease
Legacy App Support
Control
Agility
Ease of Mgmt
Legacy App Support
Control
Agility
Ease of Management
0
Control
10
9
8
7
6
5
Virtual Machines
+91-9916043731
Connecting Cloud Services via VNET
Developing Applications Better
[email protected]
+91-9916043731
Microsoft Azure Service Model
Example cloud service configuration with a single web role and a single worker role
Developing Applications Better
[email protected]
+91-9916043731
Mixing Virtual Machines & Stateless Roles Multiple cloud services with stateless and virtual machines
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
RoleEntryPoint
RoleEntryPoint Developing Applications Better
[email protected]
+91-9916043731
CloudConfigurationManager
• Role RoleEntryPoint
Developing Applications Better
RoleEnvironment
[email protected]
+91-9916043731
RoleEntryPoint
Developing Applications Better
[email protected]
+91-9916043731
• • • • • • • • • • •
Developing Applications Better
[email protected]
+91-9916043731
• • •
Developing Applications Better
[email protected]
+91-9916043731
WAStorageEmulator.exe /init Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
VIPs in Cloud Services - Public IP address pointing to Azure Cloud Service where VM is deployed. - Every Cloud Service has a VIP and every Cloud Service can have several VMs. - A VIP assigned to Cloud Service won’t be released until last VM on that Cloud Service is Stopped (Deallocated) or Deleted
Developing Applications Better
[email protected]
+91-9916043731
Connecting Cloud Services via VIPs
Developing Applications Better
[email protected]
+91-9916043731
Connecting Cloud Services via VNET
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
AccessTheWebAsync
GetStringAsync
DoIndependentWork
await
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Code in the application…
Developing Applications Better
[email protected]
+91-9916043731
Control Flow…
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Code in the application…
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Replace for with Parallel.For
Developing Applications Better
[email protected]
+91-9916043731
Yes No Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
This is how it should be…
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
- Do not expose asynchronous wrappers around synchronous methods Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
3 types of methods
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Day1 •
Azure AD & SSO
VM, Cloud Services & Web Sites Analysis
•
Lab 2
•
Deployment, Configuration & Monitoring
•
Data Storage Options
•
•
Web Sites & AutoScale – Demo
•
Blobs, Disks, Tables & Queues
•
•
Cloud Services –
•
Serialized Object Graphs in JSON (DocumentDB)
•
•
async in .NET 4.5
•
Lab 3
•
Code Review & 3 Best Practices
•
Data Partitioning Strategies
•
Introduction
•
WPI & WebMatrix3 - Demo
•
•
One ASP.NET Philosophy
•
Microsoft Open Technologies
VM Depot - Demo
•
OWIN Katana Project – Examples & Demo
•
Lab 1
•
Cloud Dev Best Practices
•
•
Day2
•
Web Sites –
Developing, Deploying & Monitoring
Developing Applications Better
In-depth Blog Storage & Code Examples
Day3 •
Queuing on Microsoft Azure
•
Using DCS
Lab 4
•
Use Cases & Demo
•
Lab 7
Azure Service Bus Queues
•
Understanding Failures on Cloud
•
PowerShell Cmdlets
Azure Queues & Service Bus Queues – Compared
•
Types & Scope
•
Lab 8
•
Staged Deployment & GitHub Integration
Caching on Azure: Understanding Redis - Tutorial
•
Building Telemetry
•
Microsoft Azure Redis
•
Lab 6
•
Lab 9
•
Lab 5
•
DevOps on Cloud Principles
•
ASSESSMENT
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
There are two apps on the web and the user has a plain-old browser. Since the two apps never talk to each other directly, a mechanism would need to be devices where the user logs onto App A, receives and access token into their browser and passes it through to App B with then calls back to App A via some API to make sure the access token is valid. If we passed the access token into the user’s browser so it’s possible it could be snatched (perhaps by some malicious javascript). This is why most developers stick to the standard SSO protocols like SAML, OpenID and WS-Federation for the classic web-app to web-app single sign-on.
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
AD user ASP.NET MVC application set permissions Connecting
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
[email protected]
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Case Study:
SQL DB (PAAS) SQL VM (IAAS)
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
What we already know about Azure Tables • How Azure Storage Tables are structured
Developing Applications Better
[email protected]
+91-9916043731
What we already know about Azure Tables • Even though Azure Storage Tables are represented
in a tabular format, they are not to be confused with RDBMS tables
Developing Applications Better
[email protected]
+91-9916043731
http://bit.do/azure-tables-vs-sql
Developing Applications Better
[email protected]
+91-9916043731
http://bit.do/cqrs-
pattern
http://bit.do/event-sourcing-pattern
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Audit Events for Bob Tabor
Audit Events for Richard Boughton
Audit Events for Dan Star
Partition Key: User Identifier (Bob Tabor or 12345, Richard Boughton or 12346, etc.) Row Key: Something that uniquely identified a given entity (audit event) for that user. I.e., GUID Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
http://bit.do/querying-tables-entities http://bit.do/odata
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Best Practices
1
2 3
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
DocumentDb Resource Model
Developing Applications Better
[email protected]
+91-9916043731
http://bit.do/documentdb-sharding
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
http://bit.do/documentdb-pricing
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
http://weblogs.asp.net/scottgu/azure-newdocumentdb-nosql-service-new-search-service-newsql-alwayson-vm-template-and-more
http://azure.microsoft.com/enus/services/documentdb/
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Compute
Average Usage
Compute
Time
Average Usage
Time
Developing Applications Better
[email protected]
+91-9916043731
B
Developing Applications Better
[email protected]
L
OB
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Open VS2013 MyFixIt.Persistence MyFixItContext.cs Developing Applications Better
[email protected]
+91-9916043731
The FixItContext class derives from Entity Framework, DbContext class, identifies the database and specifies the tables in the database.
The connection string in the Web.config file is called “appdb”. Here, points to the local development database.
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
The Entity Framework creates a FixItTasks table based on the properties included in the FixItTask entity class. This is POCO (Plain Old CLR Object) class. EF creates a table and executes a CRUD (create-readupdate-delete) ops.
Developing Applications Better
[email protected]
+91-9916043731
Server Explorer appdb FixItTasks Right-click and Show Table Data
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
https://msdn.microsoft.com/enus/library/azure/hh767287.aspx
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Reference to the cache
Developing Applications Better
[email protected]
+91-9916043731
Connect to the cache
Developing Applications Better
[email protected]
+91-9916043731
Set expiration to items in cache
Developing Applications Better
[email protected]
+91-9916043731
Store ASP.NET Session State in cache
Developing Applications Better
[email protected]
+91-9916043731
Check Web.config file
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Day1 •
Azure AD & SSO
VM, Cloud Services & Web Sites Analysis
•
Lab 2
•
Deployment, Configuration & Monitoring
•
Data Storage Options
•
•
Web Sites & AutoScale – Demo
•
Blobs, Disks, Tables & Queues
•
•
Cloud Services –
•
Serialized Object Graphs in JSON (DocumentDB)
•
•
async in .NET 4.5
•
Lab 3
•
Code Review & 3 Best Practices
•
Data Partitioning Strategies
•
Introduction
•
WPI & WebMatrix3 - Demo
•
•
One ASP.NET Philosophy
•
Microsoft Open Technologies
VM Depot - Demo
•
OWIN Katana Project – Examples & Demo
•
Lab 1
•
Cloud Dev Best Practices
•
•
Day2
•
Web Sites –
Developing, Deploying & Monitoring
Developing Applications Better
In-depth Blog Storage & Code Examples
Day3 •
Queuing on Microsoft Azure
•
Using DCS
Lab 4
•
Use Cases & Demo
•
Lab 7
Azure Service Bus Queues
•
Understanding Failures on Cloud
•
PowerShell Cmdlets
Azure Queues & Service Bus Queues – Compared
•
Types & Scope
•
Lab 8
•
Staged Deployment & GitHub Integration
Caching on Azure: Understanding Redis - Tutorial
•
Building Telemetry
•
Microsoft Azure Redis
•
Lab 6
•
Lab 9
•
Lab 5
•
DevOps on Cloud Principles
•
ASSESSMENT
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
n
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
happen
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
NuGet Package Manager Console:
Go into the newrelic.config file, and copy in the license key from Connection Info Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
• • • • • • •
Developing Applications Better
Using Git in VS2013 Add Solution to Source Control Git, OK, creates Git repository in solution folder Right-click Solution Explorer, Commit Enter commit comment, and click Commit Compare with Modified, to see changes that were made Explore Branches, Merging etc.
[email protected]
+91-9916043731
Automation in Microsoft Azure
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
http://msdn.microsoft.com/en-us/library/dn568099.aspx
Developing Applications Better
[email protected]
+91-9916043731
FREE
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731
Developers
Developing Applications Better
Solution Architects
[email protected]
+91-9916043731
Developing Applications Better
[email protected]
+91-9916043731