DevOps Tools
To expedite and actualize DevOps process apart from culturally accepting it, one also needs various DevOps tools like Puppet, Jenkins, GIT, Chef, Docker, Selenium, Azure/AWS etc to achieve automation at various stages which helps in achieving Continuous Development, Continuous Integration, Continuous Testing, Continuous Deployment, Continuous Monitoring to deliver a quality software to the customer at a very fast pace.
Tools Required for
- Version Control System
- Configuration management
- Ticketing System
- Resource Monitoring
- Provisioning
What is CI and CD
- Continuous integration is a software development practice where developers regularly merge their code changes into a central repository, after which automated builds and tests are run. The key goals of continuous integration are to find and address bugs quicker, improve software quality, and reduce the time it takes to validate and release new software updates.
- Continuous delivery is a software development practice where code changes are automatically built, tested, and prepared for a release to production. It expands upon continuous integration by deploying all code changes to a testing environment and/or a production environment after the build stage. When continuous delivery is implemented properly, developers will always have a deployment-ready build artifact that has passed through a standardized test process.
CI and CD enables agile teams to increase deployment frequency and decrease lead time for change, change-failure rate, and mean time to recovery key performance indicators (KPIs), thereby improving quality and delivering value faster. The only prerequisites are a solid development process, a mindset for quality and accountability for features from ideation to deprecation, and a comprehensive pipeline.
DevOps as a profession – DevOps Engineer
When the company’s management decides to shift to DevOps,
the need arises to train IT department specialists to master certain practices
and use new tools. In this case, either developers or system administrators
need to assume new job responsibilities.
A better alternative
may be hiring a professional with a clear understanding of the DevOps approach
and an ability to set all the necessary processes properly.
After getting software requirements specifications, a DevOps engineer starts
setting up the IT infrastructure required for the development. When the IT
infrastructure is ready and provided to developers, testers, and other
specialists involved in the development cycle, a DevOps engineer ensures that
the development and testing environments are aligned with the production
environment.
If you ask the DevOps engineer what exactly they do, the answer will likely mention “automation”. What they actually mean is the following:
- Automating software delivery from the testing environment to the production.
- Managing physical and virtual servers and their configurations.
- Monitoring the IT infrastructure’s state and the application’s behavior.
Things to know to become a DevOps engineer
1.Linux and/or Windows Administrator
2.Programming Skills
3.Cloud Management Skills
4.Practical Experience with Containers and orchestration
Below is a more comprehensive list of tools most commonly required to get a job in DevOps:
- Version control systems (Git, Team Foundation Server (TFS), Apache Subversion, etc.).
- Continuous integration tools (Jenkins, Travis CI, TeamCity, and others). ·Software deployment automation platforms (Chef, Puppet, Ansible, etc.).
- Systems monitoring tools (Grafana, Zabbix, Prometheus, and the like).
- Cloud infrastructure (AWS, Microsoft Azure, Google Cloud Platform (GCP), Alibaba Cloud, and more).
- Container orchestration tools (such as Kubernetes, Docker Swarm, Apache Mesos, OpenShift, Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS), WS EKS)
DevOps engineers’ average salary in the US is twice as high as that of a system administrator. The reason is quite simple —a competent DevOps engineer can greatly increase the efficiency of software development and operations.
More: https://www.scnsoft.com/blog/how-to-become-a-devops-engineer
Azure DevOps Features
You can use one or more of the following features based on your business needs:
1.Azure Boards delivers a suite of Agile tools to support planning and tracking work, code defects, and issues using Kanban and Scrum methods.
2.Azure Repos provides Git repositories or Team Foundation Version Control (TFVC) for source control of your code.
3.Azure Pipelines provides build and release services to support continuous integration and delivery of your apps.
4.Azure Test Plans provides several tools to test your apps, including manual/exploratory testing and continuous testing.
5.Azure Artifacts allows teams to share Maven, npm, and NuGet packages from public and private sources and integrate package sharing into your CI/CD pipeines.
Azure DevOps supports adding extensions and integrating with other popular services, such as: Campfire, Slack, Trello, UserVoice, and more, and developing your own custom extensions. Azure DevOps provides extensive integration with industry and community tools. It is far from the closed-off single vendor solution that was the early version of TFS. As noted above, there is a market place which makes hundreds of extensions available, so if Azure Develops doesn’t do something out of the box, odds are a tool exists in the market which does.
Pricing:
https://azure.microsoft.com/en-in/pricing/details/devops/azure-devops-services/
To Create an DevOps Account / Organization:
Sign up with a
personal Microsoft account
1.Visit https://azure.microsoft.com/services/devops/
2.Click Start free
3.Either Login with Existing Microsoft Account or Create a New one.
An organization is created based on the account you used to sign in. Sign in to
your organization at any time,
(https://dev.azure.com/{yourorganization}).
Create a Project to get started
- If you signed up for Azure DevOps with a newly created Microsoft account (MSA), your project is automatically created and named based on your sign-in.
- If you signed up for Azure DevOps with an existing MSA or GitHub identity, you’re automatically prompted to create a project. You can create either a public or private project.
- A public Git Hub repository is accessible to everyone, whereas a private repositoryis accessible to you and the people you share it with. In both cases, only collaborators can commit changes to a GitHub repository.
Create Users
1.Create an outlook ID
2.Activate your Subscription (FREE account or Azure Pass Sponsorship or get
owner rights other users subscription)
3.Visit https://portal.office.com
4.Go to Azure Active Directory and create users user1@orgname.onmicrosoft.comand
user2@orgname.onmicrosoft.com
Invite team members
1.Create couple of outlook ids
2.Use primary email id and visit https://dev.azure.com/.
3.Start Free
4.Create a project to get started
a. Project Name = “Demo Project”
b. Description = “For Demo”
c. Visibility = “Private”
d. Expand Advanced, Version Control = Git, Work Item process = “Agile”
e. Create Project
5.Invite Users
a. Use bread crump and navigate to Organization
b. Select Organization settings.
c. Select UsersàAdd new users.
d. Users = <Email Id of another User), Access level = Basic, Add to project = <project created before>, Azure DevOps Group=Project Contributors
Note: Youwill have to now login as another use and accept the invitation. Do the same in different browser..
Start to Learn Complete Azure DevOps Online