9 Key Skills as DevOps Engineer

DevOps Engineer has essential role to make sure the development and operation is efficient. On this post, we discuss 9 keys skill that we need to prepare as DevOps engineer Continuous Delivery: Understanding and implementing continuous delivery systems and methodologies on Azure or AWS.  Cloud Skills & Best Practices: Proficiency in AWS services, tools, and best practices, including designing and building cloud-native systems. Observability (Application Performance Monitoring): Defining and deploying monitoring, metrics, and logging systems on AWS to ensure applications are performing well. Infrastructure as Code: Using infrastructure as code (IaC) tools like Terraform to manage and provision infrastructure. Configuration Management: Managing infrastructure as a service (IaaS) using tools like Ansible, Chef, or Puppet. Containers: Working with containerization technologies like Docker and Kubernetes to deploy and manage applications. IT Operations & Production Systems Management: Implementing and managing systems that are highly available, scalable, and self-healing on Azure. Automation: Automating operational processes using various Azure tools and services. Collaboration & Communication: Working effectively with development teams and other stakeholders to ensure smooth delivery of projects.

Developer Daily Routine in Agile

As a software developer, establishing a productive daily routine is crucial for success, especially when working within the Scrum framework and utilizing tools like Azure DevOps Boards and Visual Studio. Here are some best practices to help you optimize your workflow and enhance your development process. Start your days with the plan Developer can use planner and Microsoft to Do to plan their daily activities for today. Here are the tips.  Check your DevOps Board task, see what you need to do today  Update your planner with your Board task, you can read the DevOps boards task to Planner by using Power Automate. Sync your Planner with Microsoft To Do   Collaborate with Your Teams Do stand up meeting (daily scrum) and do strategic planning session for the next 24 hours. Engage actively, share your progress, and discuss any impediments you're facing. This is the time to synchronize with your team and adjust your sprint backlog if necessary.  Prioritize Your Days Begin each day with a clear understanding of your goals. Review your sprint goals and the tasks assigned to you in Azure DevOps Boards. This will help you prioritize your work and focus on what needs to be accomplished for the day. Coding and Commenting  Visual Studio is a powerful integrated development environment (IDE) that offers a plethora of features to streamline your coding tasks. Familiarize yourself with its debugging tools, code navigation features, and extensions that can enhance your productivity.  use Copilot Chat to learn the latest features and optimize your codes use comment to document your thoughts and codes.  refactoring or optimize when the codes is working. Code Review with your pairs Code reviews are an integral part of the development process. Allocate time in your daily routine to review your peers' code and collaborate on solutions. This practice not only improves code quality but also fosters knowledge sharing within the team. End Your Day with Reflection At the end of your workday, take a moment to reflect on what you've accomplished and what could be improved. Update your tasks in Azure DevOps Boards and Planner for the next Daily Scrum. This reflection will help you stay organized and ready for the following day. Don't forget to learn  Join applied skills, Microsoft Learn challenge, read a book or join MOOC to keep you continuous learning happen.  

Integrating Microsoft Project with Azure DevOps

When you build software, you may want to use software to manage your software Projects, such as Jira and Azure DevOps. Azure DevOps provides an excellent way to manage your software project by delivering valuable features such as Azure Boards. Azure Boards provides sufficient software methods by delivering work breakdown structure, kanban boards, and the status of each project. However, it is only integrated with Azure. A project manager who uses Microsoft Project should estimate and monitor the project using Microsoft Project. The bad news is Azure DevOps integration between Office and Azure DevOps doesn't support Microsoft Project. It only supports Microsoft Excel. Project Desktop doesn't support integration with online services like Azure DevOps. Project Online Web cut the support connection between rows in Project Online. Therefore, the integration between Microsoft Project and Azure DevOps is a nightmare, especially when you can see that Jira can connect with Microsoft Project. This article will discuss some scenarios that you can do to overcome the integration problem between Microsoft Project and Azure DevOps. Option 1: use Azure DevOps entirely. However, you must include the baseline, project budget, and cost estimation. Option 2: use Microsoft Excel and use Azure DevOps integration. Option 3: After importing a project into your Microsoft Project, create a project in the project web app (SharePoint List). You can manage the project together, but there is no Azure DevOps integration.   My recommendation is to use Option 1 and Option 2. Or you can develop your own solution in Power Automate

Setting Up Excel Integration in Azure DevOps

In this article, we want to discuss creating a project report from Azure DevOps into Microsoft Excel. So, let's get started: Download the Azure DevOps Office 2019 here Download Visual Studio Tools - Install Free for Windows, Mac, Linux (microsoft.com) After installing, choose Team Tab and after that click new List You can add server by put https://dev.azure.com/yourorganization/ . The system will show you to authenticate with Microsoft 365 accounts / Microsoft Account After successfully authenticating, try to select your project. You can select existing query by clicking query list or choose new You will tree list as shown below. After that you can create report by creating chart or insert into Microsoft Project.

Quality Assurance of DevOps Project

When we discuss about the quality of software, we discuss about how we can deliver less bugs software and correct. This can be done by having a dedicated members that focusing in quality of a software. It can be software tester, quality assurance engineer, or software development engineering test. This article will discuss what we need to do when we have a DevOps project and need to make sure the quality of the outcome. Failure Reason Let's we ask ourselves, why the result of our DevOps project / Software Engineering project goes wrong? Incorrect requirements Team issues (productivity, miscommunication, mis-coordination) Untested software (have no time to test) Radical changes in software (unstable requirements) Wrong architectural design (wrong technology, wrong design, wrong approaches) medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; What we need to do So how we can make sure the result of the DevOps project is sufficient. And the failure risk can be reduced by the QA role. Failure riskQA ActionTask on DevOpsIncorrect requirements Validate the user stories with the customerCheck the actor or roles. Check the feature Check the user story Team Issues Doing weekly QA based on the outcome/ deliverable Learning the demonstration from the developer teamsCheck the deliverable and commitment of the teams in Kanban board Check the status of the story closed when it is tested Untested SoftwareRetested by doing daily QA with development team Retested by doing weekly QA with the customerPut bugs and additional tasks to developer team Creating test plan, test case, and test suite Creating manual based on test resultRadical Changes in software Creating meeting notes for bugs Creating notes for changes Put bugs and monitor the progress Validates the changes, if changes is approved Wrong architectural designDiscussing the information architecture issues with the development teams Discussing the solution architecture with the development teamsCreating tasks that related with architecture changes. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

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";

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