Azure is one of the leading cloud service providers and supports a powerful set of DevOps services. In this blog, we talk about what makes Azure a good fit and a good choice to use for DevOps.
This blog is a part of our Azure DevOps training program which covers all about Azure DevOps Certification [AZ-400] and towards the end, I will be sharing the link to FREE Class for AZ 400 where you can get a clear insight on each concept.
This blog covers the following topics:
- What Is Azure DevOps?
- What Can Azure DevOps Do?
- What About My Existing CI/CD Tooling?
- What If We Are Not A Microsoft / .Net Organization?
- “Ops” in Azure DevOps
- What are the Azure DevOps benefits?
- Azure DevOps Pricing
- So, Is Azure DevOps Right For Me?
What Is Azure DevOps?
Azure DevOps (formerly Visual Studio Team Services) is a Software as a service (SaaS) platform from Microsoft that provides an end-to-end DevOps toolchain for developing and deploying software. It also integrates with most leading tools on the market and is a great option for orchestrating a DevOps toolchain.
With a FREE tier to get started and no need to run your own agents, you can quickly get up and running with the many tools available. It has a lot of inbuilt functionality that allows teams to get up and running with managing their project and automating their workflows to increase productivity with a very short initial learning curve.
Signing up to use Azure DevOps is really simple and requires just a Microsoft Account and a few details about your organization. You can sign up by visiting the Azure DevOps Services web page and clicking ‘Start for free’.
What Can Azure DevOps Do?
Azure DevOps comprises a range of services covering the full development life-cycle. At the time of writing these are:
Projects
Once logged into your Azure DevOps dashboard the first thing you will see is a prompt to create a project. Creating a project is as simple as providing a name/description & setting the publicity of the project. Additionally, you can choose between using Git and Team Foundation Source Control and your team’s agile method.
Read Our Blog on Veracode
Boards
Boards within Azure DevOps mimic the functionality of Atlassian’s Issue & Project Tracking Software, Jira. Within Boards, you can create Kanban boards, story items, feature items, backlog items, sprints, and query items to query your entire project items. Essentially, Boards is your ultimate, built-in agile project planning and management tool and has all of the functionality you would expect to find in a stand-alone piece of software with the ability to link work items and tasks with your pipelines.
If you’ve never used Agile methodologies before, reading our Agile Methodology and DevOps blog post will help you understand more about it.
Repos
The Repo’s functionality differs between choosing Git or Team Foundation Source Control as your Git version when creating a project. Within repo’s, you can create or import repositories and manage them using your standard git GUI or git CLI. All of the functionality you would expect from Git is there with the added benefit of linking commits and pull requests to Work Items and CI.
You can find out more about Git and Version Control Systems by reading our Git Workflow blog.
Additionally, Azure DevOps boasts an inbuilt IDE for quickly editing code within your project files too.
Also read A basic overview of how Git branching DevOps can be used to implement a Branching Strategy in an Azure Environment.
Pipelines
Pipelines within Azure DevOps is the CI/CD tool that allows the building, testing, and deployment of code using DevOps practices.
Build Pipelines that provide you with the functionality required to build and compile your application code using a host of pre-defined build tasks. The ability to link your Build Pipelines with either GitHub or Azure Git Repositories means you use CI to automatically trigger your builds and report their status on every commit, pull request, or merge. In previous versions of Azure DevOps (VSTS) build pipelines could be managed using the web GUI, however, in the current version, the only option to create and manage build pipelines is by using YAML pipelines.
Release pipelines are very similar to build pipelines however are for deploying your applications to your servers. Release pipelines can still be created using the GUI (and exported to YAML if required). Creating release pipelines is a very intuitive, user-friendly drag and drop process and within a few minutes, you can be deploying your applications to your servers with very little, if any, coding.
You can read our Azure Pipelines vs Jenkins blog to know more about Azure pipelines and their advantages.
Test plans
Test plans provide an integrated planned and exploratory testing solution and support advanced test management solutions for customer feedback, UAT, Automation testing, and manual testing.
Artifacts
Apart from the above-mentioned tools, Azure DevOps can also be used to orchestrate third-party tools.
You can find out more about Azure Artifacts in our [AZ-400] Microsoft Azure DevOps Solutions: Artifacts blog.
What About My Existing CI/CD Tooling?
One of the advantages of using Azure DevOps is how flexible it is. It’s extensible (via a Marketplace) and flexible enough to leverage your existing tools. For example, if you wanted to use Azure Resource Manager for infrastructure as code you can, but equally you can provision and manage Azure infrastructure using third-party tools such as Ansible, Chef, Puppet, and Terraform.
Also Read Our Blog On Azure Policy Compliance.
What If We Are Not A Microsoft / .Net Organization?
Azure DevOps is not focused on organizations that are end-to-end Microsoft or Windows, instead, it provides a platform that is:
- Flexible: You don’t have to go ‘all in’. It is possible to adopt each of the services independently and integrate them with your existing toolchain, most popular tools are supported.
- Platform agnostic: Designed to work with any platform (Linux, macOS, and Windows) or language (including Node.js, Python, Java, PHP, Ruby, C/C++, .Net, Android, and iOS apps) Azure DevOps is not just aimed at organizations building and shipping .Net code.
- Cloud Agnostic: Continuous Delivery is supported to AWS and GCP as well as to Azure.
So that was the Dev side of Azure. Now we move to the Ops side.
“Ops” in Azure DevOps
Operations require stability, reliability, performance in the Development practices while at the same time bringing Development into the management of the Production environment. These tools are:
Check Out: Our blog post on Microsoft Azure DevOps Certification Path. Click here
Blueprints
Simplify largescale Azure deployments by packaging key environment artifacts, such as Azure Resource Manager templates, RBAC (role-based access controls), and policies, in a single blueprint definition. Easily apply the blueprint to new subscriptions and environments and fine-tune control and management through versioning.
Kubernetes Service
Azure Kubernetes Service (AKS) is an open-source container orchestration service that is used to deploy, scale, and manage Docker containers and container-based applications in a cluster environment.
Some of the benefits of using Azure Kubernetes Services are:
- Efficient resource utilization
- Security and compliance
- Quicker development and integration
Also Read: Our blog post on Rugged DevOps. Click here
Automation
Azure Automation is a service in Azure that allows us to automate the existing management tasks, start or stop a Virtual Machine, running backups, and even automate tasks in other cloud services like AWS. To use Azure Automation, we would require an Azure Automation account. Create a Runbook which would serve as a repository for custom scripts and workflow for automation.
The Infrastructure as a code (IaC) for automation can be created using Azure Resource Manager Template, Terraform, and Ansible. Also, Configuration as Code can be created using Chef, Puppet, Ansible, and Power Shell DSC.
Monitor
Azure Monitor is a monitoring solution for Azure that collects metrics and logs from all of your Azure resources and can be used to create alerts, monitor performance, troubleshoot issues, and create dashboards so that you have full visibility of your Azure estate and a means to act when problems arise. We can perform various things using Azure Monitor like:
- Practice full-stack continuous monitoring.
- Configure actionable alerts across Azure services.
- Collect, query, and analyze logs to gain insights and mitigate issues.
- Use built-in container monitoring for Azure Kubernetes Service (AKS)
Also Read: Our blog post on Azure Certified DevOps Engineer. Click here
What are the Azure DevOps benefits?
Reliability: As a SaaS offering, it is reliable, scalable, and globally available. It is also backed by an SLA of 99.9% uptime and by 24×7 support.
Access to the latest features: Users get access to new features every 3 weeks. Microsoft is transparent, has published the product roadmap, and is committed to rapidly iterating on the feature-set.
End of the upgrade cycle: For organizations running on-premises CI/CD tooling, upgrades are a regular headache. By moving to a SaaS model, you no longer need to worry about patching and upgrading the toolchain.
Also Read: Our blog post on Azure DevOps Environments. Click here
Azure DevOps Pricing
Given there is a lot of open-source tools that can be combined to deliver the functionality that Azure DevOps does, it’s important to know that you can get started with Azure DevOps for free if you’re working on an open-source project or if your team is smaller than 5. Concurrency using the Free Hosted Build Agents is where the free tier limitation begins – but you can solve that by running your own self-hosted build agents.
So, Is Azure DevOps Right For Me?
Azure DevOps is a mature, feature-rich platform. The flexibility of supported languages, platforms, and cloud vendors make it a viable option for a huge range of organizations. However, if you’re currently running an on-premises Team Foundation Server moving to Azure DevOps would be a natural upgrade for you.
Read About: Our Blog on DevSecOps Git Scanning.
Related/References
- [AZ-400] Microsoft Azure DevOps Certification Exam: Everything You Need To Know
- [AZ-400] Azure DevOps Certification Path
- [DOFD] Jenkins Overview and Installation Pre-requisites.
- CI/CD Pipeline | Continuous Integration | Continuous Deployment
- [AZ-400] Roles And Responsibilities As An Azure DevOps Engineer
- [AZ-400] Microsoft Azure DevOps Training: Step By Step Activity Guides/Hands-On Lab Exercise
- [AZ-400] Azure DevOps Services for Beginners
- Azure DevOps Environments | How To Setup DevOps Environment | Approval Checks | Azure DevOps Pipeline
- Branching Strategy DevOps | Git Branching Model | Git Branch Policy | Restoring A Deleted Branch
- SonarCloud Azure DevOps | Integrating SonarCloud In Azure
Next Task For You
Begin your journey towards becoming a Microsoft [AZ-400] Certified Azure DevOps Engineer and earning a lot more in 2020 by joining our FREE Class.
The post Azure DevOps For Beginners appeared first on Cloud Training Program.