Tuesday, January 14, 2020

How to create Ubuntu 16.0.4 Virtual Machine (VM) in Azure? Create Ubuntu 16.0.4 Virtual Machine (VM) in Azure and Connect using SSH keys from locally into Azure Virtual Machine

How to Create Virtual Machine in Azure?

Creating Virtual Machine is easy and straight forward. Let us see how to do that.

Pre-requistes:

1. Make sure you create SSH keys locally in your local machine - windows or Apple. You can create SSH keys by executing below command:
ssh-keygen

and then copy key using below command:
sudo cat ~/.ssh/id_rsa.pub

Steps to create Virtual Machine in Azure 

1. Login to Azure portal, go to portal.azure.com
2. Click on Virtal Machines.


3. Now enter the details as below or give values per what your subscription and requirements:


4. Also enter username as azure (make sure your key has this name and copy content of ssh keys


5. Then under management, choose options as below:

Make sure you choose Boot Diagnostics off, by default it will be on.

Once done, click on Review + create
It should pass the validations as shown below:


6. It may take more than a couple of mins to create the VM.

7. Once created, Click on virtual machines.

8. You should see the new VM is running like below:



9. Now select that instance, click on connect


Then choose SSH 


10. Copy the value as it shows below in your local terminal(iTerm for Apple laptop) or Git bash for Windows laptop.


11. Paste the value as below in the terminal, remove -i <private key path>


ssh -i  devopscoaching@13.66.4.124
Now it should show you that you are connected to Azure.



Thursday, January 2, 2020

Challenges in DevOps - Top 10 challenges in implementing or adopting DevOps - DevOps Challenges

DevOps...It is no more a buzzword..You hear this word pretty much every day during your coffee break at work :-)

Transforming to DevOps requires a change in culture and mindset. One of the key benefits of DevOps is to remove silos (the communication barriers between teams) between development and ops teams.  Adopting DevOps to an organization always comes with a lot of challenges. Transitioning to DevOps requires a change in culture & mindset and much more. Let's look at the top 10 challenges and identify ways to overcome them.

  1. Cultural change, change in the mindset - Cultural change is the first hurdle any company needs to overcome quickly for adopting devops fully. People should be bit open and welcome this new process change for embracing devops.
  2. Not driven top-down, it should be bottom-up - Adoption should come up from ground up, can’t be a top down initiative. Devops starts with a couple of developers and ops folks working together on automation.
  3. New tools.. new skills - Learning and Adapting to new set of tools are the key for practicing devops. Teams also should be open for hiring resources with CI/CD and devops skills if they don’t have one.
  4. Not picking the right project to get started - It is better to find an existing application or small product (that has full SDLC life cycle) to remodel it into devops in incremental baby steps, earning small but solid wins along the way. This gives confidence to the teams.
  5. Not moving away from legacy systems and infrastructure - By migrating monoliths into microservices architecture with automation and continuous delivery can bring faster development.
  6. Business expecting quick results after DevOps adoption - Devops change does not happen overnight, it must be smooth and gradual. Business should have some patience to see results.
  7. Not automating fully - Pipeline with leaks - Automation should be 100 percent. Pipelines also should integrate with code quality tools such as SonarQube. By doing few things still manually would enable for human error and can slow things down.
  8. Not integrating QA automation in CI/CD pipelines - CI/CD pipeline is not fully complete without integrating QA automation execution. Both has to work together, not in silos.
  9. Dev and Ops team having completely separate tools set - Both dev and ops need to work together and identify the right tools set. Need to ensure that is aligned within the goals for the organization.
  10. Quantifying the impact to top management - This is probably the difficult challenge to overcome. Its first important to benchmark your current state. After that perform maturity assessment every two sprints and compare the results to see if there are any improvements. Looking at SonarQube dash board for reducing code quality defects. Also, scheduling a feedback session with actual users of the application to measure the success also helps.

How to Setup SonarQube on Azure VM | Install SonarQube Server on Ubuntu 18.0.4 VM in Azure Cloud

SonarQube is one of the popular static code analysis tools. SonarQube enables developers to write cleaner, safer code. SonarQube is open-sou...