How to deploy your Azure DevOps repository to Different Azure Subscription

Problem By default, Azure DevOps provides you an easy way to deploy your codes repository to the same account with your Azure Subscription. For example, when you have [email protected], it will have access to Azure subscription that related with [email protected] The problem is raising when you need to deploy your Azure DevOps repository to the different account or subscription that not related with your tenant. For example, you want to deploy your solution to contoso.com active directory but you only have access to adatum.com. This article will give you an insight into the possibility of the solution. Solution #1 Adding your account in their active directory. You request the administrator of contoso.com to add you as a guest in their azure directory. You request them to give you an access as owner of a resource group or as contributor in a cloud service. In a startup or small business this is possible, but in medium and large enterprise this solution might be not acceptable. You can see the tutorial here Tutorial: Grant a user access to Azure resources using the Azure portal - Azure RBAC | Microsoft Docs #3 Creating service principle to connect between the Azure DevOps to their Azure. Azure DevOps has a feature namely services connection. It can connect the subscription into the Azure DevOps. You can see the video here. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

How Agile implemented in DevOps

Agile is a current software process that is believed to be a solution to build a software. On this article, we discuss how to build a software that implemented Agile and DevOps. For the real example, we will use azure DevOps and eXtreme Programming (XP). Let us get started: #1 Creating a DevOps project After the project is agreed and the contract is raised, the team can start to create a DevOps project. They should do: Choose the process template (in this case we choose Agile). You can learn step by step here Create a project - Azure DevOps | Microsoft Docs Invite your development teams, product owner, and others stakeholder. Set the iteration path. You can learn step by step here Define iteration paths and configure team iterations - Azure Boards | Microsoft Docs Preparing the development environment. You can deploy the development infrastructure in Azure and connecting to your DevOps. You can connect by using service hooks. You use Azure Service Manager if you connect with Azure Subscription that SAME with your Active Directory. You use Azure Classic if you connect with Azure Subscription that different with your Azure Active Directory. You can use Terraform If you want to publish your solution to Amazon AWS. Creating initial project with Visual Studio and push it into GitHub or Azure DevOps. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; #2 Composing the user stories. This step is a casual XP based requirement engineering technique. Creating features, Defining the actor or persona Creating user stories, https://youtu.be/2Qj3x1RnqHA Creating iteration plan with user stories deliverables Discussing the features, user story, and iteration plan with the customer #3 Designing the Solution. You start this step by creating a mockup for your design. You can start with. Creating information architecture (IA). You can create the IA with Mindmap software such as MindManager or XMind. Create low fidelity prototype. You cab create with your pencil & paper or user wireframe tool like PowerPoint or Balsamiq. Discussing the low fidelity and IA with the customer Creating high fidelity with Visual Studio or Visual Studio Codes. Uploading and presenting the High-fidelity prototype to customer #4 Developing the Solution. This step can be the longest step in the project. This is because the solution is developed through one or more of iteration. Of course, this step is executed iteratively. Since we are using XP, the development team (tester) should create a test suite, test plan, and test case. You can see the video here https://youtu.be/0GKPguP4qLU The developer should create unit test in Visual Studio. The developer should create the codes to fulfill the user story. The developer will commit and check-in daily to the repositories. The CI/CD process will deliver the nightly build. The iteration review will be happened in two stages. Internal play testing – with the development team. Customer play testing – with the costumer Revising and getting feedback from the customer or from the defect. Iteration retrospective with the development team and others. It discusses how to improve the next iteration of the development such as: How we communicate with the customer What we need to change in the next iteration How the development progress so far Deploying the solution for the iteration. Continuing to the other iteration #5 Implementing the solution. After the entire iteration is finished, it is a good time to implement and to finish the solution. Confirming the customer that the solution is appropriate to be deployed. After the confirmation, the development team can create documentation such as: User manual Developer manual (optional) Doing several workshops to socialize the system. Gathering the feedback for continuous improvement. Ready for the next improvement and for the next project. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

How to Become DevOps Engineer?

What is DevOps Engineer DevOps engineer is a sensual role in a company that focus in delivering software engineering toolchain and culture in the organization. DevOps engineer is a software engineer that care not only to build a software but also to operation the software. The purpose of the DevOps is to improve the productivity of the developer and the performance of the operation team. It happens by creating a set of culture and computing environments that support their workflow. DevOps is closely related to the cloud computing. Cloud computing empowers the DevOps process to achieve more by reducing the complexity in the infrastructure. On this article, we will discuss how to become DevOps engineer. We will use DevOps toolchain from Microsoft or Amazon AWS interchangeably. The Component of the DevOps We already hear this about its thousands of times. The six practices of the DevOps are: Continuous integration. A practice that integrates your codes into one single repository (such as GitHub). After that, the codes are tested and automated. Continuous delivery. A practice that automatically deploy your tested codes into staging environments or production Microservices. A practice that composes your codes into small pieces that has loosely coupled dependency. Infrastructure as a code. A practice that automatically construct the infrastructure that needed for development and production. Monitoring and logging. A practice that monitors your production infrastructure as well as your application through log and metrics. It also provides alert or automatic action based on the metrics. Collaboration and communication. A practice that delivers the organization an environment to do communication and collaboration that blended with the DevOps initiatives. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; The Domain of the DevOps Knowledge If you want to learn a DevOps and proof your DevOps knowledge you should understand these domains. Domain 1. SDLC Automation. Understanding what DevOps and what toolchain that you can use. Domain 2. Configuration management and Infrastructure as a code (IAAC). Be able to prepare the infrastructure with IAAC method. Domain 3. Managing monitoring and logging. Be able to setup and to configure toolchain that related with monitoring and logging. Domain 4. Applying policies and standard automation. Be able to enforce the security, governance, and policy to DevOps environment. Domain 5. Recovering from incident. Be able to do restore operations in DevOps environment. Domain 6. Managing High Available, Fault Tollerance, and disaster recovery. Be able to design, to implement, and to manage best practices architecture and approaches in DevOps environments. That is the basic of DevOps knowledge domain that you should understand, let's discuss more. In another post.   medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

The Simplicity in User Manual

User manual is still needed. However, it should as simple as possible. The real question is, what the content of user manual that can be as simple as possible and provide simplicity guide for the user. This article will guide it for you. If you are Scrum or XP user, this agile user manual is for you. This is the improvement of my previous post Creating Agile User Manual (ridilabs.net) What you Put in Your Manual Technically not everything on the DevOps work item. You can put the essential information such as Product vision, mission, and success criteria Product version and history Product actor. Who will use the product? Product feature. List of features Product user story Product guide how to use the user story. User story limitation and rules medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

MLOps a DevOps Culture for Machine Learning

What is MLOps and Why You Should Care? MLOps is a DevOps in Machine Learning Project. Just imagine you have a project to build an AI 'empowered' software. You need to build the AI feature through machine learning approach. You should build model, test the model, and implement it into your software. There are extra steps you should fulfill and implement the MLOps means you can make sure that the machine learning activity can be well integrated with your DevOps. MLOps = DevOps + ML Project What is the key difference between MLOps and DevOps? MLOps is an extra step in the DevOps. Therefore, some additional activity will be happened in MLOps. Here are the key deference's MLOps is an iteration of experiment. MLOps provides additional iteration to experiment the model. You can put the experiment before the scrum sprint or includes it in the Scrum. MLOps needs to be monitored. When building the model, you need to understand that the model itself need to be monitored carefully. Imagine you have a DGX1 to play with the dataset, you need to monitor the DGX 1 status with Azure Monitor. MLOps needs automation before the model is built. Imagine you have dataset; you might need to pre-processing first. This extra step is part of MLOps MLOps needs to handle model validation. MLOps doesn't use acceptance test, unit test, or code coverage. It uses different approaches. You might need validation set to validate your model. Doing some statistics measurement for error rate or something like that MLOps needs a special member. MLOps might need more than software engine. Data Engineer, Data Science, or AI engineer can be part of MLOps medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; How do I get started with MLOps? To get started in MLOps you should learn You should learn how to build machine learning models. You can learn here for free You should learn how to scale your AI solution and ML model. You can learn here for free. You can see the implementation of MLOps here Any Quick Reference for MLOps? We have it for you, you can click to download the PDF file. Case study about MLOps – Download Here MLOps infographic – Download Here MLOps how to implement it – Download Here In the next post, we will learn MLOps in step-by-step. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

Beginner Guide for Azure Pipeline

So today, I want to show you how to use Azure Pipeline for Continuous Integration and Continuous Delivery through the Visual Studio 2019. In order to finish this guide you should have Visual Studio 2019 any version https://visualstudio.microsoft.com/ Azure DevOps http://dev.azure.com Azure Subscription https://azure.microsoft.com/ The services can be used for free. Just create an account and you ready to go. Beginner Guide Scenario On this guide, I will create a website with ASP.NET MVC template. After that, we will setup the Continuous Delivery and Continuous Integration directly in Visual Studio 2019. Finally, we will check and validate the setup in the Azure Subscription. This guide will be displayed as step by step scenario. Step by Step Scenario #1 Build Your Website We assumed that you already know how to store your codes to the Azure Repos. If you don't know how to upload your codes to the Team Foundation Control or GIT. There will be a guide namely Beginner Guide for Azure Repos. After you connect to the report, you can build your codes and do the first commit. We expect you can do that and already to do that. #2 Creating Azure Services. You should have azure services. You can create an Azure Website by following this tutorial https://docs.microsoft.com/en-us/azure/app-service/overview. You can create the Azure Portal, Azure CLI, or through Visual Studio. #3 Publish your Codes to the Azure Website After creating an initial website, you can publish the website through the visual studio by right clicking and click publish. In the publishing scheme, you can choose severalways by hosting to the cloud, VM, on-premise, and local folder. We will choose the Azure Web App and select the existing one. When you click the ok button it will connect your deployment model to the cloud. #4 Configure the Continuous Delivery After configuring the cloud, we can configure the continuous delivery as shown below. Please beware that you should have the same App Services with similar App Services. #5 Configure the Azure Pipelines The previous step provides a basic way to do CI and CD. The result of the previous step created an azure pipeline configuration for release and for the build. Visual Studio 2017 hosted will compile your codes, build and test when necessary and then pass away the result to the Release (CD). A developer can modify the release script and the developer script in the http://dev.azure.com Configuring Build Pipeline In the Azure Pipeline, select the edit menu You will see the build steps for the project, you can change it when necessary. For example, you want to do additional tasks, you can click the add button to compress, add some file, put some additional SDK, do some unit test, and many more.   Configure Release Pipeline On this step, you can configure the release activity. Release activity provides some additional action to distribute the solution to the staging or production. On order to do that, you can visit the release menu on the Azure Pipeline features and click edit on the list of release created by visual studio.   That is the basic of the Azure Pipeline with Visual Studio. On the next part, I will create a short video to guide you further on Azure Pipeline. //

Software Testing Tips for Your Software

Building a software is good but testing a software will be great. Today we will discuss what kind of basic testing that you need when you built a software. This article will discuss three fundamental testing that can be done with minimal effort to improve the quality of your software. Unit testing Actor: Developer Unit testing is fundamental test to understand the functionality of the software. The idea of unit testing is to test the method / procedure through a testing framework. Visual Studio 2017 or Visual Studio 2019 helps you through specific features such as: // Unit Test Framework. Visual Studio provides template to create unit test project with MSTest or other compatible framework. It will help you to create skeleton of the unit testing. Live unit test. After you build unit test, you can make visual studio run unit test automatically when codes changed. IntelliTest. IntelliTest help you to create unit test automatically based on several input and output. Although the unit test codes are not created, visual studio provides mechanism to save the tests and reuse later. Please visit further information in Unit Testing Scenario Acceptance Test Actor: Tester, Customer Acceptance test can be used to test the user story or usage scenario of the software. Acceptance test can be helped by the Azure DevOps test plan. You can use test manager to test your software based on usage scenario. You can read further information about Acceptance test through test suite, test plan, and test case. You can learn more at Azure DevOps lab by using Azure Test Performance and Load Test Actor: Tester Staring in Visual Studio 2015, you can do performance and load test by using your local machine or cloud test. You can record your web activity through coded ui test/test recording and then use performance test to simulate the usage of your web application. You can read how to do that here Are you have any other test that you will use to make sure your software great, drop it in a comment   //

Topics Highlights

About @ridife

This blog will be dedicated to integrate a knowledge between academic and industry need in the Software Engineering, DevOps, Cloud Computing and Microsoft 365 platform. Enjoy this blog and let's get in touch in any social media.

Xbox

Month List

Visitor