This presentation is about System administration with automation , it includes information about System administration and how automation can be used to progress and become efficient without human assistance.
2. What do you mean by :-
Systems Administration is the installation and maintenance
of computer systems.
System administrators need to manage the operating
system, applications, and hardware for the system.
This includes kernel reconfiguration, security, backups,
patches, networking, user accounts, printers, application
installations and setup, performance, capacity planning,
and anything else that is required to keep the system
working and the users busy
3. It is done by :-
A system administrator, or sysadmin, is a person who is
responsible for the upkeep, configuration, and reliable
operation of computer systems; especially multi-user
computers, such as servers.
The system administrator seeks to ensure that the
uptime, performance, resources, and security of the
computers he or she manages meet the needs of the
users, without exceeding the budget.
8. What Should Be Automated
System administration is a tough job and there is one truism about it:
No task is fun more than twice. Repetition is mundane!
Human involvement is prone to errors. The rule of the thumb is: If it
has to be done twice, automate it!
Chances are high it will be done again and again in the future.
Simple tasks can be automated quickly. Time-consuming tasks will
take longer to automate.
Whatever the time required for automation is, it will be saved in the
future.
Corporations are now beginning to realize the value of automation.
But there are guidelines that must be followed to make the
automation worthwhile.
10. This is the most common type of automation done
by SAs. You might hear something like this: “I wrote
the program last night before I went home. It will
output what Tim wants. I know it works on IBM AIX
5.2. I guess it should work on any UNIX platforms.
• But you need to test it. Well, it may work with our
LDAP database, but I was not thinking about that
when I wrote it and that would be too much work
for me.”
• As you can see, these scripts were developed to
meet a sudden need.
• Many parameters are hard-wired and that’s why
they are fast. Porting the program to other
environments is not an intention.
Quick,
efficient
programs
11. These programs or scripts exist because someone
decides to dedicate certain resources, time, and
funds to the program. Usually a team of people
work on it for a brief or extended time.
It has some level of resemblance to a software
development life cycle (SDLC) project. There is an
initial goal list, a framework, specific tools for
program development, and a test plan.
This type of automation, along with management
commitment, has the greatest payback.
It is well-documented and readily used by various
teams within the corporation.
Well-
planned
programs
with broad
goals
12. Automation Guidelines
List al End-User Objectives –
Find out and document the end-user base that will benefit from
the script or program.
Then list the actual goals that they have in mind.
Typically the end-user is a group of employees, one or more
managers, a division, clients, or the whole enterprise
Let’s take an example.
You are writing a script to list down-rev software packages on all
hosts.
You need to get all SAs to provide you a list of OS packages,
patches, applications, hardware PROM versions, and so forth, and
up-to date release numbers for each.
13. List Key Characteristics of the Target Environment
For the automation to have a significant impact, it is necessary to
understand relevant characteristics where it will be used, such as
hardware platform, operating systems, and applications.
In the previous example, you need all server names where the script will
be executed and what is installed on the system.
This will help you select the right tools to develop the script.
The tools used should be compatible with the server operating
environment.
14. Test Often
Testing is like drinking a glass of linseed oil.
No one likes it, and it will never be high on any IT administrator’s agenda.
But testing still remains the best way to identify bugs before the code hits the
production servers.
There are many small IT shops where there are no production servers.
If you develop and test scripts, programs, or even HTML pages on a
production server, try to separate your work directory from the production
tree.
When I first started coding, I wrote long chunks of code before running it for
the first time.
Bad idea! As you write, you should test along the way.
Sometimes it is cumbersome because it requires compiling, linking, and so
on, but it is worth its time.
15. Get Feedback About the Automation
Keep in regular touch with the end-user community.
Conduct official and written surveys.
Discuss the automation with them.
Have they forgotten about the automation?
If not, is it doing what it is supposed to do?
Is it easy to use?
17. Unix Shell
A shell is a language and interface to an operating
system.
All UNIX operating systems ship with a few shells such as
Bourne (sh), Korn (ksh), and Bourne Again Shell (bash).
A shell and PERL are commonly used by SAs for scripting.
They are well-suited for small jobs and jobs that require
calls to certain OS commands.
They are glue that combines other tools.
18. Dos Batch File
DOS batch files are text files that DOS and Windows use
to run a set of commands.
A well-known DOS file in older Windows versions was the
autoexec.bat file.
It is ideal for small jobs and can be written by knowing
DOS commands.
19. C/C++ Language
These are popular among software developers.
They are commonly used among teams, whose code
must finally be glued together as part of a larger,
complex program.
Most OSs ship with libraries that work well with C and C+
+.
C is flexible, and C++ supports object-oriented principles.
20. Perl
This is actually an acronym for Practical Extraction and
Reporting Language.
It is popular and robust programming language commonly
used for creating CGI programs on Web servers because it is
faster than UNIX shell script programs.
It can also read and write binary files, and it can efficiently
process very large files.
It was developed by Larry Wall and his motto was “to serve
the programmer and not the language.”
21. MySQL
MySQL is a popular Open Source database.
By 2004, it had over 5 million installations worldwide.
It is an attractive alternative to complex, high-cost
databases.
It is commonly used for Web sites, enterprise
applications, and packaged software.
It is fast, reliable, and available on several platforms such
as UNIX, Windows, Mac OS, and Linux.