What Do I Need To Be: System Network Administrator ?
Telegraf, InfluxDB, Grafana… Or Sentry, Telegraf, InfluxDB, Kapacitor are TIG and STICK stacks for data visualisation, that is monitoring of your servers / or network-attached devices that are processing some kind of data. But, for your ease, below are things that will ease your process of getting better in being System Network Administration — a list of what you would be better to know.
What are the things that one System Network Administrator must know?
If you are System Network Administrator, or certified for some another role — then, you have to know couple of things:
- Very good knowledge of the system administration of MS Windows systems and Linux.
- Hosting/ how to host a server and what type of server to use (dedicated, shared…)
- Network protocol knowledge, especially how protocols like HTTP, HTTPS, UDP, TCP, TCP/IP, FTP, SFTP, SSH, RDP, as you need to understand concept of the network and how data travels from point A to point B.
- Monitoring/ data-visualization (TIG, Gus, sTICK and other stacks)
- DNS records management (A, AAAA, NS, DNS, MX, SRV, DKIM, TXT, CNAME, TTL)
- Understanding, at least, some of the programming languages — but, of course to know a bit of Python, Visual Basic/ C#, C++, as well as mark-up languages like: HTML, CSS, PHP/Perl and/or other.
- If you have understanding, or even better: knowledge in some of the above mentioned languages you will understand better how some programs work, how whole processes at some point work which will ease your daily tasks. For example: if/else/then/else if or elif (conditional) statements, understanding/ knowledge of variables, type of variables (string/integer/float/tuple… <- as different programming languages have different type of variables.
- Knowledge of data structure in environment where you work
- Knowledge how DHCP (intentionally here separated from protocols) “translates” for example: www.google.com to 142.251.37.110*. DHCP uses so called “DORA” type of work — which would mean:
Discover, Offer, Request, Accept.
- Knowledge of VPN ( or Virtual Private Network)
- Knowledge in virtualization
- Knowledge/ understanding of MySQL/PostgreSQL — SQL in general
- Knowledge in using some of ticketing systems
- Knowledge in Office 365 environment
- Knowledge of using Office products (non cloud Office products, ex.: 2017)
- VoIP usage (Softphone/Phone working via SIP or SIP-Phones)
- Knowledge working in Google Docs/Sheets
- Know to adapt fast to new environment and be a quick learner; learn pro-actively from sources: t | h | e | s | e | on YouTube, Edureka!, Udemy … Each letter from “T | H | E | S | E “ represents a URL — a tutorial for beginners totally free, so you can start refreshing or learning new things.
What is Full-Stack Developer? Can Python run or make a web-page?
Python is a very powerful programming language, with lots of “modules” or packages ready to be installed via “pip” or Python Installer Package. Whether your IDE is MS Visual Studio or MS Visual Studio Code or the one that I prefer mostly: PyCharm is something that is matter of what you like more and knowledge of it’s concept.
- To answer the question, can we make a website with Python — no, but, with Django (in the case I am presenting today as framework for Python)- we can build very powerful webpages. Something similar is Flask as well.
How to make web-page with Python using Django framework?
- In your Terminal inside IDE, after activation of virtualenv(ironment), in PyCharm it is activated by default, type command:
- pip install django — if you want to specify which version you want then you type command like this pip install django==X.YZ (version). While writing this latest Django (which will be installed without specifying version) is 4.2 .
- After installing it, you need to run commands like django-admin startproject name_of_your_project
- New folder will appear with the name_of_your_project, and CD into it.
- Once in you can type command: ls to see that manage.py is there.
- File manage.py is used instead of django-admin and for other things as well; such as makemigrations, migrate, runserver etc.
- Once project is created and you are in the (cd-ed) dir/ folder of project, run command: py manage.py startapp name_of_app
- Then inside of the project folder you will have “main files” __init__.py. This is an empty file. …
- asgi.py. This file contains the configuration to run the App as ASGI. …
- wsgi.py. This file also contains the configuration to run the Application as WSGI. …
- manage.py. …
- urls.py. …
- settings.py. …
- models.py. , while in
- App folder you will find admin.py, apps.py, models.py, views.py, url.py, test.py
Example of how to build e-commerce site with Python and Django:
Full-Stack Developer:
Full stack developer is a developer that knows to work with BACK-end (server) programming language: like Python, and front-end; like HTML, CSS, JavaScript, TypeScript, PHP, and other FRONT — end / what you see when back-end and front-end combined show — the web page.
Once you get to the point where you know to cover back-end development, bash, shell, PHP, JavaScript, HTML, CSS/ SASS, WordPress, Python, Django, Perl, or C#, C++, .NET framework also HTML, CSS/SASS, WordPress, Visual Studio/ Visual Studio Code, PyCharm along with the previous list of knowledge as Network Administrator; then you can say that you are a FULL-STACK DEVELOPER.
Please, feel free to comment — what would you change? What would you add? What is your choice of tools?