Showing posts with label docker. Show all posts
Showing posts with label docker. Show all posts

Reading Notes #392


The suggestion of the week


Cloud

  • Andrew Connell's Blog (Andrew Connell) - This nice post is the second of a series of three. It explains how to do every step but also why the author decided to do that.

Programming


Miscellaneous


~

Reading Notes #391


Suggestion of the week

  • How to Use Github Professionally (Aaron Stannard) - This post is great! Tons of information and best practices (with an explanation of why its a best practice).

Cloud


Programming


Books

Living with the Monks: What Turning Off My Phone Taught Me about Happiness, Gratitude, and Focus 

Author: Jesse Itzler

I really enjoyed this book. Yes it's light and funny, but don't get fool, there is a deeper message here. I think Jessy wins his challenge by going into a monastery so we don't have to. We all have what it takes to live a more purposeful life, we just need to pause. Showdown, to go faster, do less to do more... Embrace the silence.



~

Reading Notes #387

Cloud


Programming


Podcasts


Books



Dare to Lead: Brave Work. Tough Conversations. Whole Hearts. (Brené Brown) - A nice book. pack with a lot of information. A lot's of stories to emphasize her points, I always like that. It was maybe a little too much cartesian for me... many steps. Or maybe I was not in a good mindset. Good book however.








~

Reading Notes #386

Cloud


Programming


Databases


Miscellaneous


~


Reading Notes #385


Suggestion of the week

Programming


~


Reading Notes #381

Suggestion of the week


Cloud


Programming


Miscellaneous


Books

Author: Eric Barker

Nice book. There is always a good story to make a correlation with his current point. Then it could go in a different direction with another story. All the stories are complementary and are adding layer by layer to the more complex message that is delivered to us. Easy to read, enjoyable from the beginning until the last word.

Reading Notes #380

Suggestion of the week

Cloud

Programming

Miscellaneous


~

Reading Notes #379


Cloud

Programming

~

Reading Notes #378



Cloud

Programming

Miscellaneous

Reading Notes #377

Cloud


Programming


Miscellaneous


Books



Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones (James Clear) - An excellent book that is very pleasant to read. I really appreciated the way things are broken in tiny pieces. I don't think this book re-invented the molecular physic, but by cutting, dissecting our habits that way it's hard to think that you can fail. It's easier to get started right now; even starting new habits before finishing the book!






~

    Reading Notes #373

    Cloud


    Programming


    Books



    Donald Miller

    A really interesting book that helps to focus and keep in mind the most important. I didn't read it with a purpose of business really, but it did make me remember past experiences and it was easy to make the relationship between success and when the story was clear. Take the time to read it, do the exercises/ reflections required... it's worth it.










    ~

    Reading Notes #372

    Suggestion of the week

    Cloud

    Programming


    Miscellaneous

    Reading Notes #370

    Cloud


    Programming


    Databases


    Miscellaneous



    Reading Notes #369

    Cloud


    Programming


    Miscellaneous


    ~

    Reading Notes #368

    Reading Notes #368

    Cloud


    Programming


    Miscellaneous


    Books

    Tribes: We Need You to Lead Us 

    Author: Seth Godin 

    A book that will polarize you. In my case, I really enjoyed it until the last page. I felt motivated, and it and was nice.

    Reading Notes #363


    Cloud




    Programming




    Databases




    Miscellaneous


    ~


    Reading Notes #359

    DockerDesktopCloud


    Programming


    Databases


    Miscellaneous


    Books

    How to Be a Bawse_cover
    How to Be a Bawse A Guide to Conquering Life
    Lilly Singh
    Not only the message is strong, but the way she delivers it is awesome. Many times I laugh and nod of the head... Definitely a great book to read at the end of the year when resolution time is not far...









    ~

    Reading Notes #353

    aliasesSuggestion of the week



    Cloud



    Programming



    Books

    The_FIrst_20_HoursThe First 20 Hours: How to Learn Anything...Fast (Josh Kaufman) - That was a very interesting book. I devoured it much faster than I thought! As I was reading it, I was thinking... hey as a developer/programmer I already do a lot of those things... Things change so fast, technology changes... And a few pages later, the author was saying the same thing. :) It looks like we can adapt to many deferent situations. The author share with us a few journeys as he was learning new stuff. While I may not be interested to learn how to play to Go, I found all part of the book very interesting as those journeys a pact with tons of information.
    ISBN: 1591845556 (ISBN13: 9781591845553)


    Miscellaneous


    ~

    How to create an Azure Container Instance (ACI) with .Net Core

    For a project I just started, I need to create Azure resources from code. In fact, I want to create an Azure Container Instance. I already know how to create a container from Logic Apps and Azure CLI/PowerShell, but I was looking to create it inside an Azure Function. After a quick research online, I found the Azure Management Libraries for .NET (aka Fluent API) a project available on Github that do just that (and so much more)!
    In this post, I will share with you how this library work and the result of my test.

    The Goal


    For this demo, I will create a .Net Core console application that creates an Azure Containter Instance (ACI). After it should be easy to take this code and migrate to an Azure Function or anywhere else.

    hello-container

    The Console Application


    Let's create a simple console application with the following command: dotnet new console -o AzFluentDemo cd AzFluentDemo dotnet add package microsoft.azure.management.fluent The last command will use the nuget package available online an add it to our solution. Now we need a service principal so our application could access the Azure subscription. A since way to create one is the use Azure CLI az ad sp create-for-rbac --sdk-auth > my.azureauth This will create an Active Directory (AD) Service Principal (SP) and write the content into the file my.azureauth. Perfect, now open the solution, for this kind of project, I like to use Visual Studio Code so code . will do the work for me. Replace the content of the Program.cs file by the following code.

    using System;
    using Microsoft.Azure.Management.Fluent;
    using Microsoft.Azure.Management.ResourceManager.Fluent;
    using Microsoft.Azure.Management.ResourceManager.Fluent.Core;
    namespace AzFluentDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                string authFilePath = "/home/frank/Dev/AzFluentDemo/my.azureauth";
                string resourceGroupName  = "cloud5mins";
                string containerGroupName = "frank-containers";
                string containerImage  = "microsoft/aci-helloworld";
                // Set Context
                IAzure azure = Azure.Authenticate(authFilePath).WithDefaultSubscription();
                ISubscription sub;
                sub = azure.GetCurrentSubscription();
                Console.WriteLine($"Authenticated with subscription '{sub.DisplayName}' (ID: {sub.SubscriptionId})");
                // Create ResoureGroup
                azure.ResourceGroups.Define(resourceGroupName)
                    .WithRegion(Region.USEast)
                    .Create();
                // Create Container instance
                IResourceGroup resGroup = azure.ResourceGroups.GetByName(resourceGroupName);
                Region azureRegion = resGroup.Region;
                // Create the container group
                var containerGroup = azure.ContainerGroups.Define(containerGroupName)
                    .WithRegion(azureRegion)
                    .WithExistingResourceGroup(resourceGroupName)
                    .WithLinux()
                    .WithPublicImageRegistryOnly()
                    .WithoutVolume()
                    .DefineContainerInstance(containerGroupName + "-1")
                        .WithImage(containerImage)
                        .WithExternalTcpPort(80)
                        .WithCpuCoreCount(1.0)
                        .WithMemorySizeInGB(1)
                        .Attach()
                    .WithDnsPrefix(containerGroupName)
                    .Create();
                Console.WriteLine($"Soon Available at http://{containerGroup.Fqdn}");
            }
        }
    }

    In the first row, I declare a few constants. The path of the service principal created earlier, resource group name, the container group name, and the image I will use. For this demo aci-helloworld. Then we get access with the Azure.Authenticate. Once we got access, it's y easy and the intellisense is fantastic! I don't think I need to explain the rest of the code as it already self-explanatory.

    Got an Error?


    While running you main in contour an error message complaining about the namespace not being registered or something like that ( I'm sorry I did not note the error message). You only need to register it with the command:

    az provider register --namespace Microsoft.ContainerInstance

    It will take a few minutes. To see if it's done you can execute this command:

    az provider show -n Microsoft.ContainerInstance --query "registrationState" 

    Wrap it up


    And voila! If you do a dotnet run after a minute or two, you will have a new web application running inside a container available from http://frank=containers.eastus.azurecontainer.io. It's now very easy to take that code and bring it to an Azure Function or in any .Net Core Application that runs anywhere (Linux, Windows, Mac Os, web, containers, etc.)!


    In a video, please!


    I also have a video of this post if you prefer.



    References




    ~

    Reading Notes #349

    playWithDockerCloud


    Programming


    Miscellaneous


    ~ Enjoy!