• Wriju's BLOG

    Tips for Microsoft Certification : Developing Microsoft Azure Solutions (70-532)

    • 1 Comments

    Life is a continuous learning process and equally unlearning. Especially in the cloud space where everything is changing rapidly. I have been working with Azure since its inception. Much before Azure came into the market and got announced in PDC 2009 (if I recall), I was accessing it with early access. Back then it was only three things 1. Cloud Service 2. Storage 3. Data Services (grandfather of Azure SQL Database). I have seen so many enhancements and SDK releases. One of the breaking changes I did work with ISVs when SDK 2.0 got introduced and everything broke. Though backend still used to support 1.x but with limited capacity. Everyone were asked to change the code and move to SDK 2.x. Starting from connection string structure to API calls all were completely new. It was tough time. People who was using REST had little relief. I have seen Azure Connect going into deathbed. What did not change is constant promise and rock solid backend. Azure was known as Windows Azure Platform, it had a dream to get established as PaaS, complete PaaS. That time industry was not ready for it. Now every vendors are exploring it. This is the future and world is moving.

    This is the right time, I thought myself tie into methodical learning beyond my day-to-day work. Because in my most of the interactions I have stopped working with Cloud Services for obvious reason. I don’t use OData URL for Azure Active Directory. So methodical study would help me get out of real scenario to curriculum based knowledge.

    I learned from folks who cleared this particular exam and gather a lot of tips. I am going to share them,

    Preparing for exam

    1. I have finished the book Exam Ref 70-532 Developing Microsoft Azure Solutions. While I finish each chapter I noted things I don’t do hands on and reviewed. Then I did hands on. Also this book has tips which refers the Azure Documentation. You must note them and explore later.
    2. Since it is for developers you need basic development knowledge. This helps you to interpret the code written in book and understand. During my exam I found a lot of code which I have never written in my life, but think some of them required little common sense which you may earn from your development experience.
    3. Refer the website for what it covers in this exam. Updated information https://www.microsoft.com/learning/en-in/exam-70-532.aspx
    4. This covers wide range of things also don’t cover some of the important services too. Know about it
      • Design and implement websites
      • Create and manage virtual machines
      • Design and implement cloud services
      • Design and implement a storage strategy
      • Manage application and network services
    5. There are practice tests available at the end of the study guide. Try to complete them as you finish each chapter.
    6. Make sure people leaving with you are prepared for this phase because sometimes you will behave like a zombie.

    Study Resources

    1. Developing Microsoft Azure Solutions
    2. Microsoft Azure Fundamentals
    3. Microsoft Azure Fundamentals: WebSites
    4. Exam Prep Session for Exam 70-532: Developing Microsoft Azure Solutions from Microsoft Ignite
    5. Azure Friday videos
    6. Channel9 Microsoft Azure videos
    7. Official Azure Documentation at www.azure.com

    During the exam

    1. Never loose your patience
    2. Time matters
    3. If you are not sure of one thing skip it
    4. Review – it really matters
    5. Keep a tab on how many questions you are answering and you know how many in total. So balancing with the time would help.
    6. It is all about development so being a seasoned developer would help you guess things mainly in code area.

    Namoskar!!!

  • Wriju's BLOG

    Windows 10 XML Template

    • 1 Comments

    Windows 10 XAML Templates are available here https://github.com/Windows-XAML/Template10 

    This makes a developer’s life easier than never before. Go ahead and grab it.

    image

    Namoskar!!!

  • Wriju's BLOG

    ADO.NET EF and Repository Pattern

    • 0 Comments

    This is a fantastic blog series by Julie and who don't know Julie???

    Repository Pattern this is ideal for testing and mocking. Julie is one of the wizards of EF has written a series,

    Agile Entity Framework 4 Repository: Part 1- Model and POCO Classes

    http://thedatafarm.com/data-access/agile-entity-framework-4-repository-part-1-model-and-poco-classes/

    Agile Entity Framework 4 Repository: Part 2- The Repository

    http://thedatafarm.com/data-access/agile-entity-framework-4-repository-part-2-the-repository/#comment-59066

    Agile EF4 Repository: Part 3 -Fine Tuning the Repository

    http://thedatafarm.com/data-access/agile-ef4-repository-part-3-fine-tuning-the-repository/

    Agile Entity Framework 4 Repository: Part 1- Model and POCO Classes

    http://thedatafarm.com/data-access/agile-entity-framework-4-repository-part-1-model-and-poco-classes/

    Agile Entity Framework 4 Repository: Part 2- The Repository

    http://thedatafarm.com/data-access/agile-entity-framework-4-repository-part-2-the-repository/

    Agile Entity Framework 4 Repository Part 5: IObjectSet and Include

    http://thedatafarm.com/data-access/agile-entity-framework-4-repository-part-5-iobjectset-and-include/

    Agile Entity Framework 4 Repository: Part 6: Mocks & Unit Tests

    http://thedatafarm.com/data-access/agile-entity-framework-4-repository-part-6-mocks-unit-tests/

    Watch Julie’s Talk on Microsoft Ignite on April 2015 at

    https://channel9.msdn.com/Events/Ignite/2015/BRK3724

    Namoskar!!!

  • Wriju's BLOG

    Free Azure for Microsoft Partner

    • 1 Comments

    One of the key benefits of MPN is free Azure Internal Usage Rights (Azure IUR). To activate that you can follow the guidance

    https://support.microsoft.com/en-us/kb/3013414

    We also have one video instruction available here,

    https://youtu.be/Tc2VKEX2veQ

    Namoskar!!!

     

  • Wriju's BLOG

    Connecting on-premises SQL Server using Azure Service Bus Relay

    • 0 Comments

    This issue seems very common rather we can call it a requirement.

    Business Need. We have a Web Site (assume hosted in Azure). Now we have a SQL Server located locally behind the firewall. We cannot move this database outside of our data center. One of the easiest ways to use it through Service Bus Relay. To know more about Service Bus Relay please refer Azure Documentation at https://azure.microsoft.com/en-us/documentation/articles/service-bus-relay-overview/ 

    Assumption. We assume that you know what is Service Bus Relay is and comfortable writing basic WCF Service with Data Access code using ADO.NET Entity Framework.

    Probable Solution. Our SQL Server Database in within on-premises data center. This SQL Server uses Windows Authentication. We would have a WCF Service created inside the same datacenter so that we can access it locally.

    Actual Code.

    Step 1: We will create a Service Bus namespace in our Azure Portal. Let us name is wgonpremsql. This would have following information,

    1. DNS wgonpremsql.servicebus.windows.net

    2. Root Manage Shared Access Key

    Step 2: Now we will create a Console Application to write our WCF Service.

    1. Add Microsoft Azure Service Bus NuGet package.

    2. Add the Interface for Service Contract

    image

    3. Add the ADO.NET EF Implementation

    image

    4. Implement the interface

    image

    5. Then add the configuration App.config

    image

    6. Self host

    image

    Step 3: Build the Web client.

    1. Add Microsoft Azure Service Bus NuGet package

    2. Add the following client configuration in Web.config

    image

    3. Copy the Interface as-is and keep in the project, including the same namespace

    image

    4. Initialize the Channel and call the method.

    image

    Now if you first run the Console and then run the web site, they would be able to communicate. You can check the Web Site in Azure Web App to see if it is inserting the data.

    Note:

    1. This is not a first-class data access code so none of the conventions are followed here. This is just to help kick start.

    2. Try not to do mistake in XML file. Because it is tough to debug if there is any issue.

    3. Remember Service Bus relay does not need any code to deploy, so for service bus your code will be deployed on-premises and hosted by you. Service bus would give you an endpoint that's it. Beauty!!!!

    4. Follow all possible security guidelines when implanting database access through Service Bus. Don't just rely on Shared Access Key.

    5. Service Bus Relay elegantly solves the Firewall issue. You neither need to expose your internal resource or open Firewall. For all possible Service Bus Port listing please refer here https://msdn.microsoft.com/en-us/library/azure/ee732535.aspx 

    Namoskar!!!

  • Wriju's BLOG

    Top 10 things while migrating existing Web Applications to Azure

    • 0 Comments

    Microsoft Azure is another sophisticated hosting platform. For Web Sites where we have code written and wanted to move it to Azure we would obviously be facing some challenges if it as never designed for distributed environment,

    1. Should not use In-Proc Sessions. In Web development it is very common to use sessions. Sessions are for local web servers and this is not accessible outside of the server. So in distributed environment we can have same copy in different server with a load balancer sitting on top of it, user can land in any node depending on the availability etc. So if someone comes to Machine 1 and login to the portal and in next click he may land to another machine. So the session which could contain user name to be displayed in each page is now null.

    Candidate solution: Use distributed caching. Azure offers Redis Cache which is a managed caching service. Use Redis cache for more enterprise approach. Managed Cache and In Role cache are mainly for legacy approach. Redis is recommended. Here is, how to use Redis Cache for ASP.NET Session https://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-session-state-caching/

    2. Avoid Windows Authentication in SQL Server. Windows Authentication and SQL Server is very common in Line of Business Applications. This allows easy access and setup. Sometimes we leverage AD security groups to allow access its backend SQL Databases. That solves additional coding effort while defining various level of security and access to db. However this may not work as is if you move your application to Azure in Platform as a service mode. 

    Candidate solution: Use SQL Authentication wherever possible. If you move your database to Azure SQL Database then you have only SQL Authentication available. Also you need to understand the limitations of Azure SQL Database and SQL Server (on-premises). Please refer the official documentation https://azure.microsoft.com/en-us/documentation/articles/data-management-azure-sql-database-and-sql-server-iaas/. Another alternative solution could be to use WCF service with Azure Service Bus to connect the on-premises database. For some pointer please refer my blog on how to connect on-premises SQL server using Azure Service Bus http://blogs.msdn.com/b/wriju/archive/2015/07/09/connecting-on-premises-sql-server-using-azure-service-bus-relay.aspx

    3. Replace Windows Service. Often Web Application uses Windows Service to perform backend activities like cleaning up system or database job. In Azure we have Windows Service when we have application hosted in a VM (Infrastructure as a Service). But in most cases this is not an elegant solution.

    Candidate solution: The best approach is to take CQRS pattern with Worker Role. For CQRS pattern please refer https://msdn.microsoft.com/en-us/library/azure/dn568103.aspx. Another option is to use Web Jobs with Web Apps. But avoid Web Job for large processing as this stays in the same machine where your Web App is. This might create bottlenecks for your web portal for long memory consuming activity. For everything on Web Jobs please refer https://azure.microsoft.com/en-us/documentation/articles/websites-webjobs-resources/. If the processing is very large and need a lot of computing resource please use Azure Batch, refer https://azure.microsoft.com/en-us/documentation/services/batch/ 

    4. File Upload to local. In many Web Applications we have file upload feature. It could be an image or some document. Immediate solution is to upload them and keep it in local web server folder. However this is not a good design in distributed scenario as discussed earlier.

    Candidate solution: Use Azure Blob Storage. This just as amazing as you expect. For .NET API of Azure Blob and how to use please refer https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/ 

    5. 3rd party component. Any 3rd party component which requires installation and has to be there in Global Assembly Cache (GAC) to be avoided. Otherwise we could go for Virtual Machine in IaaS mode.

    Candidate solution: The only option of deploying it to Infrastructure as a Service. Otherwise you can also use Cloud Service and startup task to deploy them. However, all the installer should have silent installation option.

    6. Select right platform for right kind of application. If you need to move Web App as Lift and Shift mode, go for IaaS. Else you must and only consider Web Apps. Cloud Service could be another option but as of today I don't see a reason why one would not select Web App over Cloud Services.

    Candidate solution: There is not on-size-fits-all. So select wisely as per business need.

    7. Authentication and Authorization. When we move on-premises Web Application to cloud the first thing we would miss is the integrated Windows Authentication. So need to plan accordingly.

    Candidate solution: Leverage Azure Active Directory as immediate solution with Directory Sync. But this would require code change as we need to use OAuth, SAML etc. This is a biggest road blocker in migration.  Here is how you can authenticate ASP.NET Web Application with Azure Active Directory https://azure.microsoft.com/en-us/documentation/articles/web-sites-authentication-authorization/

    8. Don't create the deployment slot for Web Load Test. Once you create a deployment slot it creates the web app in the same virtual machine. So by running Load Test would consume the shared CPU and RAM which is definitely a performance issue if we are running a live site.

    Candidate solution: Have a separate Web App created for testing.

    9. Implement SSL. Implement SSL using a valid certificate from a recognize certificate authority. When things are in on-premises we don't really need to think about SSL. However, moving it to public cloud need more caution as it is prone to hack.

    Candidate solution: Valid certificate form CA and CNAME mapping with domain centric binding would make sure of your authenticity. Steps how to implement SSL https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure-ssl-certificate/

    10. Scale-out not Scale-up. By increasing the VM capacity does not guarantee the best performance, select the distributed approach.

    Candidate solution: Use Auto Scaling if possible this reduces the headache of waiting for the things to break. Test-test and Test until you are satisfied.

    Happy migrating…. 

    [Updated on July 10, 2015 with reference links]

    Namoskar!!!

  • Wriju's BLOG

    Azure Readiness Catalog

    • 0 Comments

    All in one Azure Readiness Resource.

    Search, filter and learn

    http://azurepartnerreadinesscatalog.azurewebsites.net

    Namoskar!!!

  • Wriju's BLOG

    Azure PowerShell : Forbidden Error: The server failed to authenticate the request

    • 0 Comments

    You have used Add-AzureAccount command to connect to Azure Account or might have used .publishsettings file. But even after you have successfully connected you get this error every time you want to run any Azure command

    Forbidden Error: The server failed to authenticate the request

    clip_image002

    Your frustration mounts. Many try, many searches in various forums. One simple solution is

    Before you run Add-AzureAccount command run

    Clear-AzureProfile

    This will simply solve your problem.

    Namoskar!!!

  • Wriju's BLOG

    Windows 10 – Latest Developer Resources

    • 0 Comments

    Microsoft Virtual Academy Training A Developer’s Guide to Windows 10

    BUILD 2015 Sessions

    Introducing the Windows 10 App Model - http://channel9.msdn.com/Events/Build/2015/2-617

    What's New in XAML for Universal Apps - http://channel9.msdn.com/Events/Build/2015/2-629

    UX Patterns and Responsive Techniques for Universal Windows Apps - http://channel9.msdn.com/Events/Build/2015/2-658

    All That is New in the Windows Store - http://channel9.msdn.com/Events/Build/2015/2-664

    From the Small Screen to the Big Screen: Building Universal Windows App Experiences with XAML - http://channel9.msdn.com/Events/Build/2015/2-679

    Project Centennial: Converting your Classic Windows App (Win32, .Net, COM) to a Universal Windows Apps - http://channel9.msdn.com/Events/Build/2015/2-692

    Acquiring Users and Monetizing Your Apps - http://channel9.msdn.com/Events/Build/2015/2-736

    XAML Performance: Techniques for Maximizing Universal Windows App Experiences Built with XAML - http://channel9.msdn.com/Events/Build/2015/3-698

    Store: Deep Dive on Publishing Universal Windows Apps - http://channel9.msdn.com/Events/Build/2015/3-710

    Moving to the Universal Windows Platform: Porting an App from Windows 8.1 XAML or Windows Phone - http://channel9.msdn.com/Events/Build/2015/3-741

    Enjoy learning.

    Namoskar!!!

  • Wriju's BLOG

    DocumentDB Add and Read – Simple Approach

    • 0 Comments

    I wanted to create a simple sample which would Add and Read records in DocumentDB.

    Created one Windows Forms Application, added NuGet Package

    image

    Then in the Windows Forms I have added simple Text box to enter data and grid to display it.

    image

    The data model would look like, this has dependency

    using Newtonsoft.Json;

     

    //Employee Data Model
    
    public class Employee
    
    {
    
        [JsonProperty(PropertyName = "id")]
    
        public string id { get; set; }
    
        [JsonProperty(PropertyName = "FullName")]
    
        public string FullName { get; set; }
    
    }

    After that behind the button’s click event, with dependencies

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

    The actual working code,

    //Intializing the connection using the Uri and Key
    
    var client = new DocumentClient(new Uri("https://gids.documents.azure.com:443/"), 
    
        "eBuaGTYZJ+zjyCxbIWNbT5mGgI75Uo42su6PMbK1W6zT0CbaxqfBIXIM/UlZ6AXaBsUscNZN0fFTeDJaxAsSzg==");
    
    //Give a name to a database and create if it does not exist
    
    string databaseId = "hrdatabase";
    
    var db = client.CreateDatabaseQuery()
    
                .Where(d => d.Id == databaseId)
    
                .AsEnumerable()
    
                .FirstOrDefault();
    
    if (db == null)
    
    {
    
        db = client.CreateDatabaseAsync(new Database { Id = databaseId }).Result;
    
    }
    
    //Get a Collection and create if does  not exists
    
    string collectionId = "employee_test";
    
    var col = client.CreateDocumentCollectionQuery(db.SelfLink)
    
                    .Where(c => c.Id == collectionId)
    
                    .AsEnumerable()
    
                    .FirstOrDefault();
    
    if (col == null)
    
    {
    
        var collectionSpec = new DocumentCollection { Id = collectionId };
    
        var requestOptions = new RequestOptions { OfferType = "S1" };
    
        col = client.CreateDocumentCollectionAsync(db.SelfLink, collectionSpec, requestOptions).Result;
    
    }
    
    //There is a input text box, then insert the data (any format)
    
    if (txtFullName.Text.Trim() != "") { 
    
        //Insert Record
    
        Employee emp = new Employee() { FullName = txtFullName.Text };
    
        client.CreateDocumentAsync(col.SelfLink, emp);
    
                
    
        MessageBox.Show("Records Added");
    
        txtFullName.Text = "";
    
    }
    
    //Display
    
    var dataList = client.CreateDocumentQuery<Employee>(col.DocumentsLink).AsEnumerable();
    
    dataGridEmployee.DataSource = dataList.ToList();

    This works pretty well. I wanted to just let you know how simple it is. I did not follow any pattern. You can only become Formula One driver if you know the driving. Back to basic.

    Namoskar!!!

     

  • Wriju's BLOG

    Importing data from SQL to DocumentDB

    • 1 Comments

    I have posted on Blog which shows step by step how to configure and import data from SQL Server Database to DocumentDB. Here is the Channel9 post

    http://channel9.msdn.com/Blogs/wriju/Importing-SQL-Data-to-Azure-DocumentDB

    image

     

    Namoskar!!!

  • Wriju's BLOG

    Effectively use Azure MSDN Account to avoid exceeding the quota

    • 0 Comments

    Many of you use Free MSDN Azure account for Dev/Test. This post is all about using Free Azure account which has a limited quota for use. A lot of times where these kind accounts are temporarily suspected due to the excess use.

    I am writing this based on my personal experience maintaining similar account for Dev/Test about 100+ users. I had to worry about billing and coach people if there is a mistake. 

    Where is the problem?

    Here is how MSDN account works. As an user your get x amount of $ value credited to your account. This is for one month. So you should be able to use it during this one month. But if your bill reach that limit, your account will be suspended for the remaining days of that period. Let say you have used it only for 19 days then next 20 days you cannot use it anymore. Neither you can download anything. Because Azure charges you for all the downloads. It will be activated again once new billing cycle starts.

    What is the solution?

    Solution is that you need to tell MSDN to charge against your credit card. It can be done through a small setting change in your account. This has two options. 1. You can tell to adjust for current billing only. 2. You can have this setting for the lifetime. As soon as you do this, you account is active again.

    When can this happen?

    This can happen when you use Azure resources a lot and they have high cost associate.

    This can also happen for Non-Microsoft products (interesting)

    So if you are using MSDN account and create one Oracle VM from template image. Or you create a JDK Windows Server from template, almost immediately you account might be frozen. You will get frustrated and call up Microsoft. You will almost yell at them saying that you still have dollar value showing how come they have closed it?

    Hold on!!! It is because your MSDN account does not have Oracle License. I don't know why but it happened once with me for JDK Windows Server machine as well.

    Now these are postmortems. Lets fix them before. Do you really want to be in a face palm situation after all your visionary lectures? No, you never ever wanted to. In front of customer you will definitely lose you credibility.

    Let’s discuss some of the tips to avoid premature suspension of account.

    VMs are mostly costly. So shutdown ALL your VMs on regular basis. Every day. I recommend you use PowerShell it do it. I keep one PowerShell in my desktop to do it. However, Azure Automation is the best way to schedule it. There is a nice step by step guidance on how to create Azure Automation for VM shutdown. http://blogs.technet.com/b/georgewallace/archive/2014/11/05/shutting-down-a-azure-vm-with-azure-automation.aspx. However this is only for specific VM.

    I have a blog post on shutting down all the VMs under all the subscriptions through single PowerShell. Please refer http://blogs.msdn.com/b/wriju/archive/2015/01/09/azure-powershell-shutdown-all-azure-vms.aspx. Let me know if you need any help.

    Think twice before selecting VM size. When your have powerful VMs available like A10, A11, D-Series, G-Series, it is tempting. But select as per your stomach’s capacity. Some of these hungry VMs can eat up all your credits very quickly. Like, if you want to use domain specific scenario then put your Domain Controller in a smaller machine like shared (A0). Because at a given point in time at most 2-3 users will connect to that DC.

    GRS (Geo Redundant Storage) adds additional costs. Many automated scripts available today in internet deploys server based solution and creates GRS storage account to put their VHDs. In Dev/Test you don't really need GRS. LRS is enough. I use a PawerShell script to check it and modify,

    image

    HDinsight (Hadoop cluster) is costly. if you are working on HDInsight then you just don't have any choice. The more bigger cluster you make the more quick it will be consumed. So delete as soon as you are done. Don't forget to take the backup of your script etc.

    Media Services Live Channel. This is yet another culprit. Hides nicely within portal but generates a lot of bills.

    Media Services Streaming. Something also not so cheap.

    Identify orphaned Cloud Services. Any PaaS cloud service which does not have active Production/Staging deployment is adding cost for no reason. So identify and delete them. Also there could be cloud services with VMs where you have deleted the VM but not the cloud service. 

    Choose lower Azure SQL Database (SQL Azure) tier. You really don't need SQL Database with high DTU. This account is for demos so select lower configuration wherever possible.

    Use free Web Apps. Per account one gets 10 free Web Apps (aka WebSites). Use them as much as possible.

    Virtual Network with Point-to-Site or Site-to-Site. Whenever you have Virtual Network with P2S or S2S, you have a dedicated Gateway. This adds quite a lot of dollar value. So if you really need it then use, else delete. Now there is a problem, you might need it frequently with VMs. So you need to Capture the VMs so that they are available in your “My Template” section for another deployment with similar installation inside.

    Remember when preview product is going in GA. Any service which is in preview must go to GA. So the bill will start. Like today you have DocumentDB in preview hence it is free. But from April 8 2015 onwards it will be GA. Keep this in mind and revisit.

    Note: This is purely from my experience. Any suggestions would be helpful. Also this is not recommended in Production scenario.

    Stay happy in Cloud

  • Wriju's BLOG

    When you need to care about Online Payment

    • 2 Comments

    Often times we need to pay using our credit/debit card to many E-Commerce portal. We must verify if the site is PCI compliant.  But how a normal user would know? There are cases we easily fall into the trap. We need to be more careful and understand the complexity and save our hard earned money.

    I was trying to pay in a portal where I got this screen and I wanted to ensure.

    image

    So I checked the SSL in https://www.ssllabs.com/ssltest/ and got the below output

    This seems fine to me but few areas needs little attention

    image

    What worried me here that they are using SHA1 which is kind of not recommended anymore. Following are the few points about SHA-1

    image

    image

    image

    SHA-1 is not a major concern now but eventually will be.

    As per the test web website's guide documentation https://www.ssllabs.com/projects/rating-guide/index.html, this seems manageable.

    image

    Now, I wanted to check their Certificate too,

    image

    Good thing is that they are using SHA256

    As an end user you need to keep your money safe. There is a huge list of sites being compromised. You must check https://haveibeenpwned.com/PwnedWebsites

    image

    PCI DSS Quick Reference Guide v3.0

    Be safe and play safe.

    Namoskar!!!

     

  • Wriju's BLOG

    Azure Runbook Schedule Time Zone

    • 1 Comments

    When we select the time to create the Runbook Automation Scheduler we get confused which timezone it would take. Here are they,

    1. When you use portal to create the Schedule Job for Runbook it takes the browser time and converts it to UTC

    2. When you use PowerShell or SDK then you must use UTC

    image

    Namoskar!!!

  • Wriju's BLOG

    Azure PowerShell : Shutdown All Azure VMs

    • 3 Comments

    To Shutdown all Azure VM you don't need to go to individual and then press the button. But run an elegant PowerShell

    $AzureSubscriptions = Get-AzureSubscription
    foreach ($subscription in $AzureSubscriptions)
    {
        Write-Host $subscription.SubscriptionName
    
        Select-AzureSubscription -SubscriptionName $subscription.SubscriptionName
        #Write-Host $subscription.SubscriptionName
     
        foreach ($vm in Get-AzureVM)
        {
            $name = $vm.Name
            $servicename = $vm.ServiceName
        
            If($vm.Status -ne 'StoppedDeallocated')
            {
                # Add the VM's which should not be shutdown 
                
                Write-Host 'Stopping ' + $name
                Stop-AzureVM -Service $servicename -name $name
                
            }
            # do lots of other stuff
        }
    }

    Namoskar!!!

  • Wriju's BLOG

    Azure PowerShell : Get the List of VM Images

    • 2 Comments

    Addition:

    Thanks Roy Lofthus, I love the comment and hence adding

    You can run below comment to get the grid.

    Get-AzureVMImage | Select * | Out-Gridview –Passthru

    The –Passthru will get the context back to PowerShell window. You can do the further filter etc in that Grid.

    image

    To get all the VM Images you can use

    Get-AzureVMImage | SELECT ImageName

    And the output

    image

    Namoskar!!!

  • Wriju's BLOG

    Azure and PowerShell

    • 0 Comments

    Azure and PowerShell are the couples. If you talk about only one of them then you are not talking complete story. We have got couple of PowerShell modules available in Azure and many things can only be done through PowerShell. Here are few easy steps to connect to Azure through PowerShell

    1. Run “PowerShell_ISE”

    image

    2. Then run PS> Add-AzureAccount

    image

    3. The prompt will come, enter the credential which has access to your Azure Account.

    image

    4. Then you are connected. Just to test run

    Get-AzureSubscription

    This will get you the list of subscription access you have.

    5. Then to set the one you would be working on now, run

    Get-AzureSubscription -SubscriptionName "Your Subscription Name"

    6. Just to confirm you may run

    Get-AzureSubscription -Current

    Namoskar!!!

  • Wriju's BLOG

    Setting up Azure Active Directory and ASP.NET Single Sign On

    • 1 Comments

    SSO has become a piece of cake after Azure AD. Here is a short video on how to do it. http://channel9.msdn.com/Blogs/wriju/Azure-Active-Directory-and-Single-Sing-On#c635422030414273043

    image

    Namoskar!!!

  • Wriju's BLOG

    Selling Azure Open Licensing for Partners

    • 0 Comments

    In Worldwide Partner Conference 2014 we have announced the Azure Open Licensing for Partners. This is going live from August 1, 2014. Here are some resources to help understand

    image

    Watch this video at http://www.digitalwpc.com/Community/Perspectives/Pages/Announcing-Microsoft-Azure-in-Open-Licensing-for-partners.aspx#fbid=PsEQVDjbmOh

    Another very informative blog post Coming Next to Open Licensing: Microsoft Azure

    Ready To Go resources for partners

    image 

    https://readytogo.microsoft.com/global/_layouts/RTG/DownloadCampaign.aspx?campurl=https://readytogo.microsoft.com/global/campaign/pages/(global)%20microsoft%20azure%20in%20open%20licensing.aspx

    Additional Videos at http://microsoft.events27.com/rampup (requires partner login or register in the same portal)

    Namoskar!!!

  • Wriju's BLOG

    SQL Server in Azure VM High Availability and Disaster Recovery

    • 0 Comments

    This is the most commonly asked question on SQL Server in Azure Virtual Machine. How to maintain SQL Server up and running all the time. Options are

    High Availability (Azure)

    1. AlwaysOn Availability Groups (http://msdn.microsoft.com/en-us/library/azure/dn249504.aspx)

    2. Database Mirroring (http://msdn.microsoft.com/en-us/library/azure/jj870961.aspx)

    Disaster Recovery (Azure)

    1. AlwaysOn Availability Groups (http://msdn.microsoft.com/en-us/library/azure/dn690122.aspx)

    2. Database Mirroring (http://msdn.microsoft.com/en-us/library/azure/jj870960.aspx)

    3. Backup and Restore with Azure Blob Storage Service (http://msdn.microsoft.com/en-us/library/azure/dn133143.aspx)

    Hybrid IT : Disaster Recovery

    In this case we can use our on-premises SQL Server and have the HADR setup. Now to do that you have some options as well available.

    1. AlwaysOn Availability Groups

    2. Database Mirroring (http://msdn.microsoft.com/en-us/library/azure/jj870964.aspx)

    3. Log Shipping (http://msdn.microsoft.com/en-us/library/azure/jj889442.aspx)

    4. Backup and Restore with Azure Blob Storage Service (http://msdn.microsoft.com/en-us/library/azure/dn133143.aspx )

    Consideration for Azure HADR

    It is important to understand some important things of Azure. You need to keep the VMs in Availability Set. To keep the VMs in Availability Set you must keep them in same Cloud Service.

    Also it is mandatory that one should know How to Configure Windows Failover Cluster in Azure for AlwaysOn Availability Groups

    Namoskar!!!

  • Wriju's BLOG

    Exchange Web Service get Calendar information

    • 1 Comments

    Now we have our mailboxes and Exchange server serving and storing them in the sever. Using Exchange WebService you can get the information. First build one Windows Application (this case). Add EWS reference from Nuget https://www.nuget.org/packages/Microsoft.Exchange.WebServices/ or you may run this command in Tools > Package Manager Console

    image

    After that a very simple code as below

    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
    
    service.UseDefaultCredentials = true; //Windows Auth, you can pass user id and password too
    
    service.Url = new Uri("https://mail.microsoft.com/EWS/Exchange.asmx"); //URL of the service
    
                          
    
    //Get the next 30 days appointment
    
    FindItemsResults<Appointment> foundAppointments =
    
        service.FindAppointments(WellKnownFolderName.Calendar,
    
            new CalendarView(DateTime.Now, DateTime.Now.AddDays(30)));
    
                            
    
                
    
    foreach (var appo in foundAppointments)
    
    {
    
        //Gather information on each Appointment
    
        //location, datetime, host, attendees, duration
    
        var location = appo.Location;
    
        var dt = appo.ICalDateTimeStamp;
    
        var host = appo.Organizer.Name;
    
        var duration = (appo.End - appo.Start).Minutes;
    
        string data = string.Format("Host:{0}\r\nDate:{1}\r\nDuration:{2}\r\nLocation:{3}\r\n", 
    
                                    host, dt, duration, location);
    
        textBox1.Text += "========\r\n"+data;
    
    }

    Till then enjoy. Its simple.

    Namoskar!!!

  • Wriju's BLOG

    Configure Apache Tomcat in Azure VM

    • 1 Comments

    Step by step demonstration on how to configure Apache Tomcal VM in Azure and run a public facing website. See my latest Chnnel9 video

    http://channel9.msdn.com/Blogs/wriju/Configuring-Tomcat-Server-in-Azure-VM

    image

    image

    Namoskar!!!

  • Wriju's BLOG

    Why you should consider Microsoft Azure IaaS

    • 0 Comments

    Latest Gartner report clearly indicates that Microsoft is leading in the league of IaaS Cloud space. Read the complete report

    http://www.gartner.com/technology/reprints.do?id=1-1UKQQA6&ct=140528&st=sb

    Figure 1.Magic Quadrant for Cloud Infrastructure as a Service

    Namoskar!!!

  • Wriju's BLOG

    Build 2014 some of my favorite sessions on Azure

    • 0 Comments

    What's New for Azure Developers in Visual Studio and Azure SDK

    http://channel9.msdn.com/Events/Build/2014/2-585

     

    Developing Office 365 Cloud Business Apps

    http://channel9.msdn.com/Events/Build/2014/3-573

     

    What's New for ASP.NET and Web in Visual Studio 2013 Update 2 and Beyond

    http://channel9.msdn.com/Events/Build/2014/3-602

     

    Microsoft Azure Storage – What's New, Best Practices and Patterns

    http://channel9.msdn.com/Events/Build/2014/3-628

     

    What’s New in IaaS for Developers

    http://channel9.msdn.com/Events/Build/2014/3-614

     

    Building Enterprise and SaaS Web Apps and Web APIs using Azure Active Directory for Sign In

    http://channel9.msdn.com/Events/Build/2014/3-599

     

    Building Web APIs for Mobile Apps Using ASP.NET Web API 2.1

    http://channel9.msdn.com/Events/Build/2014/3-603

     

    Powerful Mobile Apps with Mobile Services and ASP.NET Web API

    http://channel9.msdn.com/Events/Build/2014/3-623

     

    What’s New with Azure Web Sites

    http://channel9.msdn.com/Events/Build/2014/3-625

     

    Deep Dive into Hidden Gems, Tips and Tricks for Azure Web Sites

    http://channel9.msdn.com/Events/Build/2014/3-624

     

    Azure SQL Database: Under the Hood

    http://channel9.msdn.com/Events/Build/2014/3-630

     

    TypeScript

    http://channel9.msdn.com/Events/Build/2014/3-576

     

    Automation Everywhere with New SDKs, Tools, and Services in Azure

    http://channel9.msdn.com/Events/Build/2014/3-621

     

    Mobile Push Notifications to Any Client with Azure Notification Hubs

    http://channel9.msdn.com/Events/Build/2014/2-616

     

    Internet Explorer as a Web Application Platform

    http://channel9.msdn.com/Events/Build/2014/2-501

    Namoskar!!!

  • Wriju's BLOG

    Learn Modern Data Warehouse with Big Data Analytics

    • 0 Comments

    Another great live discussion is going to happen today. Register http://www.microsoftvirtualacademy.com/liveevents/microsoft-pdw-modern-data-warehouse-with-big-data-analytics

    image

    image

    Namoskar!!!

Page 1 of 26 (626 items) 12345»