Azure Account vs DevOps Account
Introduction
Two key components in the Microsoft Azure ecosystem often causing confusion are the Azure Account and Azure DevOps Account. In this technical article, we'll unravel the intricacies of these accounts, exploring their purposes, features, and how they complement each other in the realm of cloud computing.
This is Part 1 of the series...
Setting the stage
If you google the word "devops", mostly it will bring back lots of entries talking about DevOps as a methodology (it's pillars & practices, history, reason why you should it, etc.); on this article, I'll assume that you are somehow familiar with the methodology already and your are looking for hands-on, "it depends"-free information, if so, you are in the right place as I'm going to talk specifically on Microsoft's Azure DevOps Services, from this point forward, AzDO for short.
Section 1. Azure Account vs DevOps Account
Let's start with the definitions as short and simple as possible...
What is the Azure Account?
The Azure account grants you access to the "Azure cloud computing platform" and it serves as the user's identity within the Azure ecosystem; it is linked to Azure Active Directory (Azure AD) and through this association, users gain the ability to authenticate, access, and manage Azure resources securely though the Azure Portal a web-based interface for managing Azure resources.
The Azure Account is intricately tied to a Subscription, it is a logical container for resources with associated costs; you can add payment methods (most commonly used are credit cards) to pay for the use of these resources.
What is the Azure DevOps Account
The DevOps account grants you access to the suite of Azure DevOps services: Repos for version control, Boards for work tracking, Pipelines for continuous integration and deployment, Test Plans for testing, and Artifacts for package management.
Each user typically has a unique Azure DevOps account associated with their organization's Azure DevOps instance and we pay for our service consumption by means of a Subscription.
In summary
With the Azure Account you access Azure's cloud computing platform to provision and consume resources like Databases, VM's, Web Apps, etc. whereas DevOps Account grants you access to DevOps Services like Repos, Boards, Pipelines to support the software development lifecycle... let's create both.
Section 2. Azure Account & Subscription
Microsoft Azure typically (1) requires users to sign up for an account using a Microsoft email address, such as an Outlook or Hotmail email, I'm assuming that you already have one of these and go to Azure Sign-Up page, there will be two options:
- Start free, this will create the Account along with an special type of disposable Subscription with $200 USD worth of credit for you to try any Azure resources within 30 days; if you are new to Azure I strongly suggest you to pick this option.
- Pay as you go, for this, you will have to provide a credit card (Visa/Mastercard/Amex) to pay for any consumed Azure resources; use this if you have experience with Azure or other vendors.
So, click the one best for, you'll see a similar screen as the one shown below:
Choose the location that matches your billing address. You cannot change this selection later.
Microsoft will guide you thorough the rest of the process, it is a very straight forward process for you to provide information about you and the payment method(s) for the subscription.
(1) Open the account with non-Microsoft accounts (e.g. Gmail) is possible but outside of this article's scope
Later on Part 3, we will need the Subscription Id and name to create our Service Connection, so, have this information handy 😉
Section 3. Azure DevOps Account (AzDO) & Organization/Project
Go to Azure DevOps Service portal and using the same Microsoft email account used for your Azure Account, your will see two options:
- Start free, this will create your AzDO account with Azure Repos service; if you are new to AzDO and you wish to continue with the instructions on my blog posts, use this option.
- Start free with GitHub. By far, the world's leading host for Git projects is GitHub; for advanced users only.
Click on Start free and after you agree on the terms of services, you'll see a similar screen as the one shown below:
Organization
Two important notes on this screen:
- Name of your DevOps organization. As far as I know, there's no limit to the number of organizations you can create, Microsoft gives a very good explanation here What's an organization?
- Location to host your projects. This has nothing to do with billing, from MSFT article Find or change your organization geography: "...choose your organization's region based on locality and network latency, or because you have sovereignty requirements for data centers."; choose the nearest location to you for starters, this can be modified later if needed.
Microsoft will guide you thorough the rest of the process, just a few clicks and you will be all set!
One last thing at Organization level we need to configure, go to Billing and link to the Subscription you created previously.
Projects
As from Microsoft article About projects and scaling your organization
A project in Azure DevOps provides a place for users to plan, track progress, and collaborate on building software solutions. A project represents a fundamental container where you can store data and source code.
Yes, you can create multiple Projects in a single Organization, and just as easy, delete existing ones, you can even recover projects deleted by mistake.
Now, click on + New project and you will see the following window...
I recommend the following options:
- Visibility. Choose Private! Assuming that you don't want to inadvertently expose sensitive info to the internet, right? Nothing wrong with Public thought, but it is only for people knowing what they are doing.
- Version Control. No doubt, Git is the way to go here! Git is a distributed version control whereas Team Foundation (TFS) is a centralized version, not going to entertain the discussion of distributed vs centralized version control system here (not in scope)... I will just say that I use both and the best way forward is Git ... if you want to know more check this article Choosing the right version control for your project
- Work item process. Defines how you would like to manage your work tracking objects (e.g. Epics, features, user stories, task, etc.). Azure Boards offers various processes to choose from: Basic, Agile, Capability Maturity Model Integration (CMMI), and Scrum; I suggest you to pick Basic, it is simplest model that uses Issues, Tasks, and Epics. Read this article About default processes and process templates for additional.
Once you click Create and the project is up & running, click on it and go to Project Settings, from the General Section click on Overview and scroll down a bit, you will find something like this:
As you can see you, each Project has it's own Boards, Repos, Pipelines, Test Plan and Artifact and you can customize your Project's services offering by turning them off... leave it as is, I just want you to be aware of it 😉
Section 4. Bridging the gap
Now that we have our Azure Account & Subscription in one hand and our Azure DevOps Account & Organization in the other, the final step is to connect them!
Why?! Perhaps you found this article in the web and missed to read that this is part of a series called The Anatomy of a Resilient Azure DevOps YAML Pipeline (Series presentation) where I'm explaining how to create an AzDO YAML pipeline to automate the creation of Azure resources!
In order to do this, from your AzDO Account & Organization click on Organization Settings then click on Connect directory, select your directory from the dropdown menu, and Connect; this article gives a step-by-step guide Connect your organization to Microsoft Entra ID
Congratulation, you completed Part 1. Azure Account vs DevOps Account of the The Anatomy of a Resilient Azure DevOps YAML Pipeline, you are ready to move forward to Part 2. Repository hosting & branching strategy.