Sorry, you need to enable JavaScript to visit this website.

Automating Industrialising Microservices

Automating Industrialising Microservices
October 07, 2020

Introduction

It has been observed that web apps and microservices development in Microsoft technology has been on the rise along with target Azure resource provisioning and continuous integration and continuous delivery (CI/CD) pipeline creation. When the need is to develop a standard Visual Studio-based solution along with an Azure resource for DEV/QA environments and CI/CD pipelines by developers, it takes a significant amount of time. Also, generally, CI/CD pipelines created by multiple developers do not follow best practices and organizational standards.

Industrialize and scale microservice generation and bring in allied automation

Based on past experiences, the following needs and challenges have been observed in the CI/CD pipeline for customer scenarios:

  1. Build at scale quickly
  2. Implementation of DevOps automation
  3. Follow best security guidelines/parameters
  4. Improve quality
  5. Empower developers to generate value and productivity
  6. Implement best practices and organization-standard since inception

Automation of the above, especially DevOps automation, is the fastest and most efficient way of addressing the above challenges in the CI/CD pipeline.

Solution

To address the above challenges, a solution has been created which generates scaffolded code for few of the popular templates, but not limited to the following:

  • Dot Net Core MVC Web App
  • Dot Net Core API App with Swagger
  • Angular Web App

Also, this solution has a lot of other capabilities , some of which are:

  • Supports check-in code into Azure DevOps TFVC and Git Repos– Microsoft solution code is mostly maintained and checked into Azure DevOps by most of the organizations and Azure DevOps supports two different types of repositories– Team Foundation Version Control (TFVC) and GitHub Repo. This solution supports both the repositories to comply all such organizational needs.
  • Supports check-in code into GitHub Repo– There are also a few customers who use GitHub as code repository. This solution supports GitHub too.
  • Supports creating a branch under the master or any other branch and checks in code there for Git/GitHub Repo– In Git, developers work in a project under a branch and checks in code. While generating code and checking in, a new branch would be required for developers. The solution supports creating a branch/sub-branch and checks in code there.
  • Supports creating a folder within a branch and checks in code there– Sometimes a specific folder structure is required within a branch while generating code. This solution supports that.
  • Supports creating generate solution with the desired namespace as well as solution and project names – Each Visual Studio solution has its own structure; but, for a variety (Microservice solution structure for customer ABC) all solution structure should be homogeneous. Structure should be homogeneous but namespace and project names should vary based on a logical name (solution short name). Our solution generates code in that way which is fully compliable and does not require any other manual code change.
  • Supports creating Azure DevOps and Jenkins CI pipeline– There are many DevOps tools/services available for the CI pipeline. For Microsoft technology solutions, the most used DevOps tools are Azure DevOps and Jenkins and our solution supports both for the CI pipeline.
  • Supports creating Azure DevOps and Jenkins CD pipeline– There are many DevOps tools/services available. For Microsoft solutions, the most used DevOps tools are Azure DevOps and Jenkins and our solution supports both for the CD pipeline.
  • Supports provisioning and deploying to Azure and the AWS Cloud platform– AWS and Azure two major cloud platforms used by many organizations. All Microsoft solutions require some cloud resources such as Azure Web App/Web API or AWS S3 or Azure SQL to host the application for testing. This solution can provision resources on AWS/Azure and host the application for testing.

Conclusion

HCL has developed a solution that addresses all the challenges mentioned above. We are ready to help customers industrialize and scale microservice generation and bring in allied automation.