As COVID-19 cases continued to spread around the world, hundreds of large corporations and multinationals are asking employees to work from home. Observing this trend, BestDotNetTraining (an online training portal for top technologies) is launching a series of webinars on Cloud Computing. This will cover Microsoft Azure – Administration, Development, DevOps, AWS, Docker, Microservices, Azure Data Engineering and more. These technology webinars will be free of cost.
The Microservices batch goes live on 6th April (Monday), 7:30 – 9:30 AM (IST), followed by a series of Webinars on Top Azure, AWS and Data Engineering Interview Questions and FAQs starting from 8th April.
In this period, where upskilling is not an option but a
necessity, professionals working from home can find some time and invest in
upgrading their existing skills.
We have thus started a series of free live technology
webinars by top Cloud Computing Experts and Mentors in the IT Industry, Mr.
Sandeep Soni, (Certified Azure Solutions Architect), Mr. Rahul Rampurkar
(Certified AWS Certified Architect), and Mrs. Vandana Soni (Azure Data Engineer
Use this period of lockdown as an opportunity to learn, excel and find your way to the top. COVID-19 is an eye-opener and has educated people about switching to online learning. This sudden, but the smooth shift has raised awareness on the benefits of online learning and pursuing courses online.
Tuple is a sequence of immutable Python
objects. Tuples are sequences, just like lists.
The main difference between
the tuples and the lists is that the tuples
cannot be changed
unlike lists. Tuples use parentheses whereas lists use square
Creating atuple is as simple
as puttingdifferent comma-separated values. Optionally, you can put these
comma-separated values between
parentheses. For eg,
(‘physics’, ‘chemistry’, 1997, 2000)
tup2 = (1, 2,
3, 4, 5)
tup3 = “a”, “b”, “c”,
The empty tuple
is written as two parentheses containing nothing.
tup1 = ();
create a tuple
containing a single
value, we have
to include a comma even though there
is only one value.
tup1 = (50,)
indices, tuple indices start at 0 and they can be sliced and concatenated
Accessing values in Tuples:
(‘physics’, ‘chemistry’, 1997, 2000)
tup2 = (1, 2,
3, 4, 5, 6, 7 )
print (“tup1: “, tup1)
print (“tup2[1:5]: “, tup2[1:5])
To access values
in tuple, use the square
brackets for slicing
along with the index or indices to obtain
the value available at that index. For eg,
When the above code
is executed, it produces the following result, tup1 : physics
tup2[1:5] : [2,
3, 4, 5]
Tuple Assignment :
b = 3, 4
print b 4
>>> a, b, c = (1,2,3), 5, 6
print a (1, 2, 3)
>>> print b 5
>>> print c 6
Once in a while, it is useful
to perform multiple
assignments in a single statement and this can be done with tuple assignment:
b, c, d = 1, 2, 3
more than 3 values to unpack
left side is a tuple of variables; the right side is a tuple of values.
Each value is assigned to its
respective variable. All the expressions on the right
side are evaluated before any of the assignments.
The number of
variables on the left and the number of values on the right have to be the
Such statements can be useful shorthand for multiple assignment statements, but care should be taken
that it does
not make the code more difficult to read.
One example of tuple assignment that improves readability is when we want to swap the values of two
variables. With conventional assignment statements, we have to use a temporary variable. For example, to swap a and b:
temp = a a = b
b = temp
If we have
to do this often, such an approach becomes cumbersome. Python
provides a form
of tuple assignment that solves this problem neatly:
Tuples as return values :
def swap(x, y):
return y, x
Functions can return
tuples as return
values. For example, we could write
a function that
swaps two parameters:
Then we can
assign the return value to a tuple with two variables:
a, b = swap(a,
def swap(x, y):
x, y = y, x
case, there is no great
advantage in making
swap a function. In fact, there
is a danger in trying to encapsulate swap, which is the following tempting
If we call swap like this swap(a, b)
then a and x are
aliases for the same value.
Changing x inside
swap makes x refer to a different value, but it has no effect
on a in main. Similarly, changing y has no effect
on b. This function runs without
producing an error message, but it doesn’t
do what we intended. This is an example of a semantic error.
Basic tuples operations,
Concatenation, Repetition, in Operator, Iteration :
Tuples respond to the + and * operators much like strings;
they mean concatenation and repetition here too, except
that the result is a new tuple,
not a string.
In fact, tuples respond
to all of the general
sequence operations we used on strings in the previous chapter.
len((1, 2, 3))
(1, 2, 3) + (4, 5, 6)
(1, 2, 3, 4, 5, 6)
‘Hi!’, ‘Hi!’, ‘Hi!’)
3 in (1, 2, 3)
for x in (1,2,3) : print
(x, end=’ ‘)
1 2 3
Built-in Tuple Functions :
No longer available in
Gives the total length of
Returns item from the
tuple with max value.
Returns item from the
tuple with min value.
Converts a list into
the following tuple functions-
The len() method returns
the number of elements in the tuple.
Following is the syntax
for len() method- len(tuple)
tuple – This is a
tuple for which number of elements to be counted.
This method returns the number of
elements in the tuple.
The following example shows the usage of len() method. tuple1, tuple2 = (123, ‘xyz’, ‘zara’),
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
Tools Required for
Version Control System
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
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
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
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.).
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.
To Create an DevOps Account / Organization: Sign up with a
personal Microsoft account
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,
Create a Project to
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.
1.Create an outlook ID
2.Activate your Subscription (FREE account or Azure Pass Sponsorship or get
owner rights other users subscription)
4.Go to Azure Active Directory and create users email@example.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..
Azure DevOps (formerly Visual Studio Team Services) is a hosted suite of service providing development and collaboration tools for anyone who wants an enterprise-grade DevOps tool chain. 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.
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 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 March 17, 2006.
Studio 2005 Team System
Studio Team System 2008
Foundation Server 2010
Foundation Service Preview
Foundation Server 2012
Foundation Server 2013
Foundation Server 2015
Studio Team Services
Foundation Server 2017
Foundation Server 2018
Azure DevOps Services
Azure DevOps Server 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.
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.
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.