Azure - Email Service [SendGrid]

       

Scenario: Contact Us form on Web app to send email

Solution:

SendGrid is a cloud-based email service which provides reliable transactional email delivery
  1. Navigate -> Azure portal
  2. Search -> Send Grid
      1. Resource Group
      2. Name
      3. Free Plan- 100 [per month]
      4. Recurring Billing [On]
  3. Create account on Saas provider [Send Grid]
    1. Manage
    2. Create account at SendGrid with personal details
    3. Create API Key
    4. Get API Key
    5. Visual Studio -> appsetting.json ->   "SENDGRID_API_KEY": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

Azure - App Service

      

Scenario: Build a ASP.NET core web app and host it on Azure.

Solution:

Azure App Service is platform for building web applications.
  1. Navigate -> Azure portal
    1. Resource Group
    2. Publish-> Code
    3. Runtime stack - > .NET 6.0
  2. Visual studio
    1. Solution -> Publish
    2. Target -> Azure
    3. Azure App Service (Windows)
    4. Sign in to Azure
    5. View -> Resource Group
    6. Publish (pubxml)

Azure- Application Insights

     

Scenario: Monitor your applications logs, analytics and alerts.

Solution:

Azure Application Insights provides analytical data about your application. You create a new resource to monitor a new application. Then use instrumentation key to configure the Application Insights SDK, which links your telemetry to the resource.
  1. Navigate -> Azure portal
  2. Search -> Application Insights
    1. Name
    2. Resource Group
    3. Region
    4. Mode [Classic or Workspace-based]
    5. Review + Create
  3. Search for the newly created application Insights and copy the instrumentation key [Connection Strings]
  4. In Project -> appsettings.json add below "ApplicationInsights": {  "ConnectionString": "InstrumentationKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"  }
  5. Enable Application Insights [server-side telemetry]
    1. Project > Add Application Insights Telemetry
    2. Select subscription -> Resource > Register.
    3. Nuget package -> Microsoft.ApplicationInsights.AspNetCore, should have been added
  6. Enable for web applications [client-side telemetry]
    1. _ViewImports.cshtml -> @inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
    2. _Layout.cshtml -> @Html.Raw(JavaScriptSnippet.FullScript)</head>
  7. On application run telemetry would start flowing
    1. Live Metrics- Machine metrics.
    2. ILogger logs - Application logs

Azure- Create new account [Free]

    

Scenario: Create a new Azure account for evaluation/development [free].

Solution:

If you are new to Azure and want to evaluate it, you can use it for free, for 12 months. There are more than 25 services which are free for ever and others would be charged after the evaluation expires.
  1. You get $200 Azure credit for the first 30 days. After that you move to pay as you go pricing.
  2. Services which are free for 12 months and others which are free for ever:  https://azure.microsoft.com/en-us/pricing/free-services/
  3. To create free account
    1. Navigate -> https://azure.microsoft.com/free/
    2. Login using Microsoft account
    3. Verify account using phone number
    4. Need to provide for credit card and other personal details
    5. Signup
  4. To monitor your usage, go to subscription, which provide details on the usage and charges.

Azure- Set Budget

   

Scenario: If you are new to Azure as an individual or even a full fledged enterprise solution you want to monitor and get alerts on the forecasted/actual pricing.

Solution:

As someone just started exploring Azure, I was bit worried about the cost to me for using the services. So I decided to create budget and set alerts so I have better visibility and control over costs
  1. https://portal.azure.com/
  2. Search --> Budget
  3. Create new budget
    1. Name
    2. Reset Period [Monthly, Quarterly..]
    3. Creation -Expiration date
    4. Amount
    5. Alert conditions
      1. Forecasted
      2. % Actual
  4. Create

Move Github Sub Repository back to main repo

 -- delete .gitmodules git rm --cached MyProject/Core git commit -m 'Remove myproject_core submodule' rm -rf MyProject/Core git remo...