Showing posts with label sdk. Show all posts
Showing posts with label sdk. Show all posts

Reading Notes #212

2015-12-07_0722Cloud


Programming



Reading Notes #210

2015-11-22_2132Suggestion of the week


Cloud


Databases


    Reading Notes #200

    2015-09-06_2133Suggestion of the week


    Cloud


    Databases


    Books

    • Microsoft Azure Essentials Fundamentals of AzureMicrosoft Azure Essentials_ Fundamentals of Azure (Michael S. Collier & Robin E. Shahan) - This week a felt like returning to the sources, and read the essentials. Difficult to summarize a summary, but all principal family of features are approached and the “must have” tools are over… Even some scenarios. A really good book, evenmore it’s for all.

    Reading Notes #199

    ElasticDBSuggestion of the week

    • First look at Application Insights (Andrei Dzimchuk) - Excellent post. Perfect to make your idea about why and how we should use Application Insights. Nice touch to the config.

    Cloud


    Programming

    Databases

    Miscellaneous



    Azure SDK 2.7 my savior

    Recently, I got a very unpleasant problem: I needed to remove all my Microsoft Azure accounts from Visual Studio. An error was popping every time Visual Studio was trying to connect to Azure preventing me to anything else. It could happen to everyone, so I decide to share that story so other could save time and energy trying to fix that.

    The Context


    Long time ago I created my Azure account using my Hotmail account. I modified the administrator to my Outlook.com when it came-up (approx. two years ago). When I installed Azure SKD 2.6, the problem started.

    The Error


    In Visual Studio 2013 Update 4 or VS 2015 RTM, every time VS was trying to connect to Azure, I was receiving this error message.

    VS2013_loginError_VS2013_2015-06-27_0736
    Every time Visual Studio 2013 Update 4 or VS 2015 try to connect to Azure...


    The Fix


    If you only need Visual Studio, remove the "damaged" Azure account. If you need Visual Studio to work with Azure you have two options:

    1. Azure SDK 2.5 will work, if that is an acceptable workaround. You would need to make sure Azure SDK 2.6 was never installed on the machine, otherwise it will still have the offending dll.
    2. Install Azure SDK 2.7 and/or Visual Studio 2015. In my case, it fixed everything!

    ~Frank


    Reading Notes #196

    Win10Suggestion of the week


    Cloud


    Programming


    Miscellaneous


    ~Frank


    Reading Notes #195

    VS2015_2015-07-27_0945Suggestion of the week


    Cloud


    Database


    Programming


    ~ Frank


    Reading Notes 193

    chaos-monkey-3_480Suggestion of the week


    Cloud


    Programming


    Miscellaneous


    Image from  Inside Azure Search: Chaos Engineering

    The Journey of an Azure SDK upgrade

    JourneyRecently, with my team, we needed to upgrade a web solution to Azure SDK from 2.4 to 2.5.1. The upgrade was much longer and complex then expected, so I decide to share what we learn so maybe other could benefit from our experience.

    The problem


    The upgrade of the code and library was not really a problem. The documentation is available on MSDN and it's easy to follow. Few breaking changes were part of the version 2.5. One is the reason of this post: Diagnostics configuration must be applied separately after deployment[...]

    Continue reading full article here



    ~Frank


    Reading Notes #171

     

    Different readings which kept my interest during the week.


     Windows 10 free Update

    Suggestion of the week

    • Walyou (Jasmine Henry) - This is why you should care about Windows 10.

    Reading Notes #164

    happy-movember-magnet

    Suggestion of the week


    Cloud


    Programming

     

    Miscellaneous

    ~Frank B

    Upgrade an Application Windows Azure OS Family

    Recently I add to upgrade an web site running in Azure Webrole from Azure OS famille 1.6 to a more recent version. While the migration was not complicated I encounter some little particularity that I found could be interesting to share.

    The Context

    The website was a Visual Studio 2010 project using Azure SDK 1.6 and a library call AspNetProvider that was part of Microsoft's sample few years ago to manage session and membership. Using the AspNetProvider library the session was saved in Azure blob storage, and the membership was saved in an SQL database.

    The Goal

    The application must stay a Visual Studio 2010 project, but using the most-recent Azure SDK and Azure Storage Client as possible.

    The Solution

    • Azure SDK 2.1
    • Azure.StorageClient 4.0
    • Universal Provider version 2.1
    • OS famille 4

    The Journey


    Migration from SDK 1.6 to SDK 2.1


    Azure SDK version 2.1 is the higher version compatible with Visual Studio 2010. And can be downloaded from Microsoft's website. Once it is installed, just open the project in Visual Studio and right-click on the Azure Project. By clicking on the upgrade button the magic will happen. Some errors could stay but the hard work will be done for you.


    Migration from AspNetProvider to UniversalProvider


    we need to remove all reference to the AspNetProvider library. Just expand the resources node in the Solution Explorer and delete the reference. One thing important is that since we are using Visual Studio 2010 the latest version of the UniversalProvider we can use is 1.2. More recent version are using .Net 4.5 and this is not compatible with the present solution. To get the reference added to the project just execute the following Nugget command:
    Install-Package UniversalProvider -version 1.2

    Check the web.config file to clean the membership connections.

    Migration of the Azure Storage Client


    This one is the easiest, just remove the reference in the reference node and then execute the following Nugget Command:
    Install-Package Azure.Storage.Client

    Migration of the membership data


    The AspNetProvider was using prefixed SQL tables: aspnet_user, aspnet_membership, etc. The new membership manager is using another sets of tables. We must migrate the data from one set to the other one. Here a SQL script that will to exactly that. The script can be run multiple times because it will only copie the unmoved data.
    -- ========================================================
    -- Description:    Migrate data from asp_* tables 
    --                 to the new table used by Universal provider
    -- ========================================================
    
    DECLARE @CNT_NewTable AS INT
    DECLARE @CNT_OldTable AS INT
    
    -- --------------------------------------------------------
    -- Applications -------------------------------------------
    
    INSERT INTO dbo.Applications (ApplicationName, ApplicationId, Description)
        SELECT    n.ApplicationName, n.ApplicationId, n.Description 
        FROM    dbo.aspnet_Applications o 
        LEFT    JOIN dbo.Applications n ON o.ApplicationId = n.ApplicationId
        WHERE    n.ApplicationId IS NULL
    
    SELECT @CNT_NewTable = Count(1) from dbo.Applications 
    SELECT @CNT_OldTable = Count(1) from aspnet_Applications
    
    PRINT 'Application Count: ' + CAST(@CNT_NewTable AS VARCHAR) + ' = ' + CAST(@CNT_OldTable AS VARCHAR)
    
    -- -------------------------------------------------------- 
    -- Roles --------------------------------------------------
    
    INSERT INTO dbo.Roles (ApplicationId, RoleId, RoleName, Description)
    SELECT    o.ApplicationId, o.RoleId, o.RoleName, o.Description 
    FROM    dbo.aspnet_Roles o
    LEFT JOIN dbo.Roles n ON o.RoleId = n.RoleId
    WHERE n.RoleId IS NULL
    
    SELECT @CNT_NewTable = Count(1) from dbo.Roles 
    SELECT @CNT_OldTable = Count(1) from aspnet_Roles
    
    PRINT 'Roles Count : ' + CAST(@CNT_NewTable AS VARCHAR) + ' = ' + CAST(@CNT_OldTable AS VARCHAR)
    
    -- --------------------------------------------------------
    -- Users --------------------------------------------------
    
    INSERT INTO dbo.Users (ApplicationId, UserId, UserName, IsAnonymous, LastActivityDate)
    SELECT o.ApplicationId, o.UserId, o.UserName, o.IsAnonymous, o.LastActivityDate 
    FROM dbo.aspnet_Users o LEFT JOIN dbo.Users n ON o.UserId = n.UserID 
    WHERE n.UserID IS NULL
    
    SELECT @CNT_NewTable = Count(1) from dbo.Users 
    SELECT @CNT_OldTable = Count(1) from aspnet_Users
    
    PRINT 'Users count: ' + CAST(@CNT_NewTable AS VARCHAR) + ' >= ' + CAST(@CNT_OldTable AS VARCHAR)
    
    -- --------------------------------------------------------
    -- Memberships --------------------------------------------
    
    INSERT INTO dbo.Memberships (ApplicationId, UserId, Password, 
    PasswordFormat, PasswordSalt, Email, PasswordQuestion, PasswordAnswer, 
    IsApproved, IsLockedOut, CreateDate, LastLoginDate, LastPasswordChangedDate, 
    LastLockoutDate, FailedPasswordAttemptCount, 
    FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, 
    FailedPasswordAnswerAttemptWindowsStart, Comment) 
    
    SELECT o.ApplicationId, o.UserId, o.Password, 
    o.PasswordFormat, o.PasswordSalt, o.Email, o.PasswordQuestion, o.PasswordAnswer, 
    o.IsApproved, o.IsLockedOut, o.CreateDate, o.LastLoginDate, o.LastPasswordChangedDate, 
    o.LastLockoutDate, o.FailedPasswordAttemptCount, 
    o.FailedPasswordAttemptWindowStart, o.FailedPasswordAnswerAttemptCount, 
    o.FailedPasswordAnswerAttemptWindowStart, o.Comment 
    FROM dbo.aspnet_Membership o
    LEFT JOIN Memberships n ON  o.ApplicationId = n.ApplicationId
                          AND o.UserId = n.UserId
    WHERE n.UserId IS NULL AND n.ApplicationId IS NULL
    
    
    SELECT @CNT_NewTable = Count(1) from dbo.Memberships 
    SELECT @CNT_OldTable = Count(1) from aspnet_Membership
    
    PRINT 'Memberships count: ' + CAST(@CNT_NewTable AS VARCHAR) + ' >= ' + CAST(@CNT_OldTable AS VARCHAR)
    
    -- -------------------------------------------------------
    -- UsersInRoles ------------------------------------------
    TRUNCATE TABLE dbo.UsersInRoles
    INSERT INTO dbo.UsersInRoles SELECT * FROM dbo.aspnet_UsersInRoles
    
    
    SELECT @CNT_NewTable = Count(1) from dbo.UsersInRoles 
    SELECT @CNT_OldTable = Count(1) from aspnet_UsersInRoles
    
    PRINT 'UsersInRoles count: ' + CAST(@CNT_NewTable AS VARCHAR) + ' >= ' + CAST(@CNT_OldTable AS VARCHAR)


    Migration from OSFamilly 1 to 4

    Open the file .cscfg and edit the OS Family attribute. It's in the ServiceConfiguration node.
    <ServiceConfiguration servicename="MyApp" osFamily="4" osVersion="*" ...>    


    Wrapping up

    The only step left is to deploy in the staging environment to see if everything is working as expected. would recommend also to plan to upgrade as soon as possible because the Azure SDK 2.1 official retirement date is November 2015. I hope this post could help you, even if you are migrating from and to a different version. Any comments, suggestions and/or questions are welcome.


    ~ Frank Boucher


    Reading Notes #136

     

    Suggestion of the week


    Cloud


    Programming


    Miscellaneous



    Reading Notes #62

    Cloud
    Programming
    […]Read this getting started tutorial to walkthrough how you can build (in less than 5 minutes) a simple Windows 8 “To-do List” app that is cloud enabled using Windows Azure Mobile Services. Or watch this video of me showing how to do it step by step.[…]
    Miscellaneous