-->

17/08/2020

Adding Swagger to Existing .Net Core WEB API Project

In this article we will see How we can add Swagger to an existing WebAPI project.

First why we need swagger here in this case?

Unlike SAOP based web sevrices or WCF Services, WebAPI are RESTFul. That means there is no WSDL in WebAPI. So Unless you prepare proper documentation about the methods, parameters and outputs, its hard to any consumer of the service to interpret them.

This is where swagger comes into the picture. If you use swagger and SwaggerUI in your WebAPI project, it pretty much takes care of the documentation part. It not only gives you the complete details of methods, parameters and outputs of the sevice, but also provides a UI component where consumers can test the service, without any third party tools.

15/08/2020

Azure DevOps 101 - Creating your first Build and Release Pipelines for automated deployments to DEV, QA and PROD

DevOps: I cannot do justice to DevOps in a single article. Its an Ocean. But for our purposes here is what i would say if some one asks me about it.

"DevOps is a practice in which all the stakeholders were actively involved in entire lifecycle of product from Development , Testing, Productionizing and Production Support."

Core values of DevOps defined by CAMS - Culture, Automation, Measurement and Sharing.

This is eagle eye view of the core values.

Lets talk about second core value, Automation. Its not about just automation of everything in software life cycle.

Automation: It talks about fastening stages of SDLC with continuous integration and delivery thus reducing effort and time to roll new changes. Multiple changes getting tested and deployed in a day - make people's life a lot better. Please keep in mind "Automation" in DevOps means giving prefference to "People over Process over Tools". 

Please reffer to various guides or gurus for deep dive into DevOps.

Our objective here is to implement CI/CD (Continuous Integration / Continues Delivery) in Azure and learn how to cofigure your first Azure Devops Build and Release pipelines. Using which we will push our code to various stages DEV, QA and PROD. 

27/07/2020

Terraform - Provisioning Infrastructure level Security in AWS

A year ago I have created an article showing how to create infrastructure-level security in AWS step by step. Now its time to automate the provisioning process using Octopus and terrafrom.

We have done it manually from AWS Management console.

Here is the link for the earlier article. 

Here are the components we intend to create using terrafrom.
We will be creating VPC, Public and Private Subnets, RoutTables, Security Groups, Inbound / Outbound rules for communication channels on each of the security groups.

20/07/2020

IaC - Terraform Automation using Octopus Deploy


Octopus is a enterprise mainstream release management tool, but now its avilable for developers via cloud under tha name of "Octopus Cloud". 
We don't need a "build server" as its is hosted by Octopus cloud and we utilize its resources for our deployments.

In this article we will learn how to deploy our "Infrastructure as Code" using Terraform and Octopus deploy. Beofre that, if you need to familiarize with terrafroms basics, go to earlier article.

I need to highlight couple of features we look, for considering this combination of Terraform and Octopus deploy.

#1. Configuration Management Vs Provisioning: 
We are not looking for Configuration management, as Chef and Puppet does better in that department. We want Provisioning tool which creates Infrastructure in the same state no matter what order the resources were mentioned and no matter how many times the tools was deployed.

#2. Idempotent:
This feature is the ability to create the infrasturcture in exact same state even after multiple runs. Terraform doesnt suffers from "Configuration Drift" unlike Cheff and Puppet.

#3. Economic: 
We are dealing with what a single developer can do on his dev machine. So unlike Cheff and Puuppet we dont need a "MasterServer" to save the state or to run the centralized updates. We can either use a shared location or in our case an S3 bucket for saving the state.

15/07/2020

IaC "Infrastructure as Code" using Terraform - Basics

Infrastucture as Code became a critical part of Devops. Some of the Infrastructure management tools that we know are CloudFormation famous for AWS, ARM for Azure, CDM for Google cloud platforms.

Terraform is a IaC tool which can translate HCL (Hasi Corp Language) to API calls which can be interpreted by various cloud platforms. Ths making it cloud-agnostic tool.

Another reason for using Terraform is it has a planning step when compared to other IaC tools. We will look at that feature in this article further down.

CloudFormation(AWS), ARM(Azure) and CDM(Google) are firstparty IaC tools, this means they will handle all infrastructure management tasks specific to that cloud platform. But these tools are not suitable for most of the thirt party service integration. Terraform addresses this issue with cloud-agnostic and better support for thirdparty service integration.

For more details please visit https://www.terraform.io/

18/02/2020

Power Apps - Test Studio - Automation Testing

At last we got feature of automated testing, improving "Application Life Cycle Management" for Power Apps. (Watch in Full Screen)


In this post we will learn how we will use Test Studio for Power Apps.

12/02/2020

PowerApps - Beyond 500 item limit and Delegation Warning. The "XXXXX" part of this formula might not work on large datasets.

This is the most common warning which is overlooked by the Power app developers as its just "Warning".



We see the function work and fetch the results, and thus ignore the warning. I have seen  many of the powerapps that were productionized have these warnings.

Please make a note:

"That is not just a technical warning, its a future functional error".