DevOps Roadmap
1. Programming Languages
Popular Programming Languages in 2021:
Python, Golang, Javascript, Ruby
2. Server (Operating System) Administration
Popular Server Operating System in 2021:
Linux, Unix, Windows
3. Network and Security
TCP/IP
Protocols: DNS, HTTP/s, FTP, SSL
4. Web and Application Server, Caching Server and Database Server
Web and Application Server
Traditional Web Server:

In Web 1.0, it is a static world. The client sends a request and the web server serves static content. The web server is like a file server over HTTP Protocol.
Request
HTTP/1.0 defines eight request methods.
- GET (Request resources)
- HEAD (Request metadata only, check status code, find out the size of a file)
- POST (Request response of the server with enclosed data in the message body)
- PUT (Request target resource creates or updates its state with the state defined in the message body)
- DELETE (Request target resource deletes its state)
- CONNECT (Request the intermediary establishes a TCP/IP tunnel to the orign server identified by the request target. It is often used by HTTP proxies with TLS
- OPTIONS (The OPTIONS method requests that the target resource transfers the HTTP methods that it supports. This can be used to check the functionality of a web server by requesting ‘*’ instead of a specific resource.)
- TRACE (The TRACE method requests that the target resource transfers the received request in the response body. That way a client can see what (if any) changes or additions have been made by intermediaries.)
PATCH method was added later. The PATCH method requests that the target resource modifies its state according to the partial update defined in the representation enclosed in the request.
HTTP/1.1 HTTP/2.0 HTTP/3.0
Response
In HTTP/1.0 and since, the first line of the HTTP response is called the status line and includes a numeric status code (such as “404”) and a textual reason phrase (such as “Not Found”).
HTTP/1.1 200 OK
The response status code is a three-digit integer code representing the result of the server’s attempt to understand and satisfy the client’s corresponding request. The way the client handles the response depends primarily on the status code, and secondarily on the other response header fields. Clients may not understand all registered status codes but they must understand their class (given by the first digit of the status code) and treat an unrecognized status code as being equivalent to the x00 status code of that class.
zero or more response header fields, each consisting of the case-insensitive field name, a colon, optional leading whitespace, the field value, an optional trailing whitespace and ending with a carriage return and a line feed
Content-Type: text/html
an empty line, consisting of a carriage return and a line feed;
an optional message body.
Common Web and Application Server in 2021
Apache, Nginx, Tomcat, IIS, Jetty
Caching Server
Common Caching Server in 2021
Redis, MemCache
Database Server
Common Database Server in 2021
NoSQL: Mongo DB, Cassandra, AWS DynamoDB, Google Datastore
SQL: Oracle DB, MySQL/Maria DB, PostgreSQL, MSSQL
5. Infrastructure as code
Configuration Management
Ansible, Puppet, Chef, Salt Stack
Container
Docker, rkt, LXC
Container Orchestrators
Kubernetes, Openshift, NoMad, Docker Swarm
Infrastructure Provisioning
Terraform, AWS Cloudformation, Azure template, Google Deployment Manager
6. CI/CD (Continuous Integration and Continuous Delivery)
Jekins
Team City, Circle CI, Travis CI, AWS Code Pipeline, Google Cloudbuild
Gitlab CI, Bitbucket Pipeline, Github Action
7. Monitoring and Logging
Monitoring
Zabbix Prometheus, Prometheus, Grafana
DataDog, New Relic, CheckMK
Logging
ELK, Graylog, Splunk
8. Cloud Platform
AWS
Azure, GCP
OpenStack, Alicloud, IBM Bluemix