What is Azure DevOps?

Great News!
Now attend Azure DevOps Demo webinar by Sandeep Soni which is conducted on 11th October, from 5:30pm to 7pm. Register for the AZ-400 course by filling this Form: https://forms.gle/NxcBxkWk65teKXZq8

Azure DevOps Introduction

Azure DevOps (formerly Visual Studio Team Services) is a hosted suite of services providing development and collaboration tools for anyone who wants an enterprise-grade DevOps toolchain. Azure DevOps can help your team release code in a more efficient, cooperative, and stable manner. Azure DevOps 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.

you can quickly get up and running with the many tools available.

  • Git repositories for source control
  • Build and Release pipelines for CI/CD automation
  • Agile tools covering Kanban/scrum project methodologies
  • Many pre-built deployment tasks/steps to cover the most common use cases and the ability to extend this with your own tasks.
  • Hosted build/release agents with the ability to additionally run your own
  • Custom dashboards to report on build/release and agile metrics.
  • Built-in wiki

Azure DevOps is available in two different forms:

  • Azure DevOps Server, collaboration software for software development formerly known as Team Foundation Server (TFS) and Visual Studio Team System (VSTS)
  • Azure DevOps Services, cloud service for software development formerly known as Visual Studio Team Services and Visual Studio Online

History: This first version of Team Foundation Server was released on March 17, 2006.

Product name Form Release year
Visual Studio 2005 Team System On-premises 2006
Visual Studio Team System 2008 On-premises 2008
Team Foundation Server 2010 On-premises 2010
Team Foundation Service Preview Cloud 2012
Team Foundation Server 2012 On-premises 2012
Visual Studio Online Cloud 2013
Team Foundation Server 2013 On-premises 2013
Team Foundation Server 2015 On-premises 2015
Visual Studio Team Services Cloud 2015
Team Foundation Server 2017 On-premises 2017
Team Foundation Server 2018 On-premises 2017
Azure DevOps Services Cloud 2018
Azure DevOps Server 2019 On-premises 2019

Traditional Software Development Life Cycle

The developers create applications and the operations teams deploy them to an infrastructure they manage.

Responsibility of Developers.

1.Develop Software Applications
2.New Features Implementation
3.Collaborate with other Developers in Team.
4.Maintain Source Repos and deal with versions.
5.Pass on the code to the operations team.

Responsibility of IT Operations

1.IT Operations determine how the software and hardware are managed.
2.Plan and Provide the required IT Infrastructure for Testing and Production of Applications.
3.Deploy the Application and Database.
4.Validate and Monitor performance.

Waterfall Model:

In the below diagram you will see the phases it will involve:

How the traditional Systems worked:

Tasks would be divided into different groups based on specialization

1.Group to write specification
2.Group that Develop application.
3.Group that Test the application.
4.Group to configure and manage VM
5.Group to that hands over VM to another group to install database
6.and so on…

A system / process is created for each action and each group operations in isolation from others. Groups communicate with each other in a very formal way, such as using ticketing system.

Drawback:

  • This requires handoffs from one group to another. This can introduce significant delays, inconsistencies and inaccuracies.
  • Lack of a common approach among the groups contributes to the problems of long build times and errors.
  • And blame game begins.

What is Agile Methodology

Agile is a process by which a team can manage a project by breaking it up into several stages and involving constant collaboration with stakeholders and continuous improvement and iteration at every stage. There are no surprises. Continuous collaboration is key, both among team members and with project stakeholders, to make fully-informed decisions.

Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal….

The three pillars of Scrum are transparency, inspection and adaptation. The framework, which is often part of Agile software development, is named for a rugby formation. Scrum is one of the implementations of agile methodology. In which incremental builds are delivered to the customer in every two to three weeks’ time.

Get Complete Microsoft Azure DevOps training

Azure DevOps Development and Operation

https://www.youtube.com/watch?v=0voV4-MUOGg


Click to below link – DevOps Lessons from Formula 1
https://www.devopsgroup.com/blog/devops-lessons-formula-1-part-2/

DevOps Practices

  • Agile planning. Together, we’ll create a backlog of work that everyone on the team and in management can see. We’ll prioritize the items so we know what we need to work on first. The backlog can include user stories, bugs, and any other information that helps us.
  • Continuous integration (CI). We’ll automate how we build and test our code. We’ll run that every time a team member commits changes to version control.
  • Continuous delivery (CD). CD is how we test, configure, and deploy from a build to a QA or production environment.
  • Monitoring. We’ll use telemetry to get information about an application’s performance and usage patterns. We can use that information to improve as we iterate.

How DevOps Works?

Under a DevOps model, development and operations teams are no longer “siloed.” Sometimes, these two teams are merged into a single team where the engineers work across the entire application lifecycle. Starting from design and development to testing automation and from continuous integration to continuous delivery, the team works together to achieve the desired goal. People having both development and operations skill sets work together and use various tools for CI-CD and Monitoring to respond quickly to customers need and fix issues and bugs.

Benefits of DevOps over Traditional IT

Speed + Rapid Delivery + Reliability + Scale + Improved Collaboration + Security

With DevOps, teams:

1.Deploy more frequently
In fact, some teams deploy up to dozens of times per day. Practices such as monitoring, continuous testing, database change management, and integrating security earlier in the software development process help elite performers deploy more frequently, and with greater predictability and security.
2.Reduce lead time from commit to deploy
Lead time is the time it takes for a feature to make it to the customer. By working in smaller batches, automating manual processes, and deploying more frequently, elite performers can achieve in hours or days what once took weeks or even months.
3.Reduce change failure rate
A new feature that fails in production or that causes other features to break can create a lost opportunity between you and your users. As high-performing teams mature, they reduce their change failure rate over time.
4.Recover from incidents more quickly
When incidents do occur, elite performers are able to recover more quickly. Acting on metrics helps elite performers recover more quickly while also deploying more frequently.

How you implement cloud infrastructure also matters. The cloud improves software delivery performance, and teams that adopt essential cloud characteristics are more likely to become elite performers.

The information here is based on DevOps research reports and surveys conducted with technical professionals worldwide.

Organizations that have implemented DevOps saw these benefits:

1.Improved Quality of Software Deployments -65%
2.More frequent Software Releases –63%
3.Improved visibility into IT process and requirements –61%
4.Cultural change (Collaboration and Cooperation) –55%
5.More responsiveness to Business Needs –55%
6.More Agile Development –51%
7.More Agile Change management process –45%
8.Improved Quality of Code –38%

Learn Microsoft Azure DevOps Online

Cloud Computing Job Roles – Azure Cloud

It’s raining jobs in Cloud!

  • Companies of all sizes are moving in greater numbers to the cloud while cloud providers continue to grow their operations to support more and more workloads.
  • An IDC report released in 2012 estimated a worldwide growth of 14 million Cloud-based jobs by the end of 2015.
  • There are about 100 jobs chasing each qualified candidate at this point in time, according to technical recruiters.

With cloud many roles will be redefined or replaced with new roles.

  1. Cloud System Engineer / I.T. Professional
    • Responsible to implement and operate Virtual Systems that support cloud implementation.
    • To build and configure Virtual Network and provision Virtual Machines, Storage Accounts, Databases, Network Load Balancer, Gateways etc.
    • They’re responsible for the scale-in/scale-out infrastructure.
    • Should have system engineering experience, holistic understanding of the Internet and hosting from the network layer up through the application layer.
    • Should have experience in 24×7 hosting environment.
    • Should have knowledge of using maintaining and monitoring tools, scripting, configuration manager tools, network security, firewalls, etc…

  2. Application Developers / Software Engineer
    • Responsible for design and development of different types of software applications that integrate with cloud service providers.
    • Developers can take advantage of managed services such as databases, storages, queues, caches, workflows, and more to bring new applications to market quicker and cheaper than ever before.
    • They need to understand how these managed services can be used to build highly available, fault-tolerant and scalable applications.
    • Increasingly, job requirements for developer opportunities are adding Cloud Computing as a must-have skill.
    • Required credentials: Computer Science engineering with 2+ years of professional experience in software development. Must have an excellent understanding of at least one language like C#, Java, PHP, Python, etc.
  3. DevOps Engineers
    • Responsible for Automation of deployment and configuration of applications.
    • DevOps represents a merger between development and operations. It breaks down the barrier of developers and operations engineers with the goal of streamlining the application lifecycle.
    • The role often is responsible for managing the infrastructure through version-controlled source files that can be used to recreate Cloud environments in hours and minutes instead of weeks and days under the traditional model.
    • DevOps is more attainable now than it ever has been with the ease of automation for infrastructure and software services, making it a natural choice for developers and/or system administrators with scripting experience.
  4. Cloud Architect
    • Should possess a strong understanding of how to design and build Cloud environments to ensure that systems are scalable, reliable, secure and supportable and that they achieve business performance and budgetary objectives.
    • Their knowledge of a Cloud platform is broad enough to know which services are best suited for any particular situation including whether or not a hybrid environment makes sense.
    • Should have significant experience designing, installing and administrating virtualized environments. They lead migration projects to move companies into the Cloud.
    • They design for disaster recovery and mitigation.
    • They will be required in companies which build applications and/or infrastructure in the Cloud.
    • There are various certifications that, when combined with experience, can help Cloud architects stand out. Additionally, they must stay update-to-date on the latest and greatest features of Cloud platforms to stay competitive in the market.
    • Required credentials: Engineers with 8 to 10 years of experience dealing with large-scale, multiplatform networks, expert level knowledge of Linux and Windows OS. High-level understanding or programming languages. Significant experience designing, installing and administrating virtualized environments.
  5. Cloud Services Developer
  6. Cloud System Administrator
  7. Cloud Sales Executive
  8. Cloud Consultant

Cloud Computing Platforms and Certifications

Deployment Models in Cloud Computing & Advantage and Disadvantages

There are three main deployment models in Cloud Computing.

1.Private Cloud:

  • A private cloud hosting solution, also known as an internal or enterprise cloud, resides on the company’s intranet or hosted data center where all of your data is protected behind a firewall.
  • This can be a great option for companies who already have expensive data centers because they can use their current infrastructure.
  • You go for a private cloud when you have strict security and data privacy issues.
  • Cons: The main drawback people see with a private cloud is that all management, maintenance, and updating of data centers is the responsibility of the company.

2. Public Cloud:

  • These are the clouds which are open for use by the general public and they exist beyond the firewall of an organization, fully hosted and managed by vendors.
  • Your data is stored in the provider’s data center and the provider is responsible for the management and maintenance of the data center.
  • Because you are sharing computing resources among a network of users, the public cloud offers greater flexibility and cost savings.
  • This is a good option if your demand for computing resources fluctuates. You have to purchase the capacity on the basis of usage and can scale up or scale down server capabilities based on traffic and other dynamic requirements.
  • This type of cloud environment is appealing to many companies because it reduces lead times in testing and deploying new products.
  • Cons: They are more vulnerable than private clouds and there is no control of resources used or who shares them.
  • Note: Even though you don’t control the security of a public cloud, all of your data remains separate from others and security breaches of public clouds are extremely rare.

3.Hybrid Clouds:

  • They consist of external and internal providers, namely a mix of public and private clouds.
  • Secure & critical apps are managed by an organization and the not-so-critical & secure apps by the third party vendor. For example, you can use a public cloud to interact with the clients but keep their data secured within a private cloud. Most companies are now switching to Hybrid clouds.
  • Ideal in situations where you have planned is to migrate to a complete cloud solution as existing hardware expires or you have some applications or hardware that are not ready for the cloud.

Advantages and Disadvantages of Public Cloud

Advantages of Cloud Computing:

  1. Lower Computer Cost.
  2. Improved Performance.
  3. Reduced Software Cost and Instant Software Updates.
  4. Unlimited Storage Capacity.
  5. Universal Document Access.
  6. Increased data reliability.
  7. Device Independence.

Disadvantage of Cloud Computing:

  1. Requires a constant Internet connection.
  2. Does not work well with low-speed connections.
  3. Features might be limited based on the provider you choose.
  4. Can be slow.
  5. Stored data might not be secure.
  6. If your data is stored abroad whose policy do you adhere to?