

What new or hot DevOps/SysAdmin technology do you recommend learning? - ujjain

What new or hot technology do you recommend learning for people that do DevOps&#x2F;SysAdmin type positions, where to expand from Linux and Puppet.
======
wallflower
If you are not a developer already, I highly recommend learning how to code in
a mature scripting language like Ruby or Python. Most sysadmins who have Linux
heritage can code mean awk/bash/shell scripts but are scared of objects and
stuff like hashes.

Start learning about real-time data and stream-based logging. LinkedIn and
Netflix are pushing the bar higher with their Apache incubated to independent
project open source contributions. As businesses try to gain more
competitive/operational advantages/efficiencies, real-time data is becoming
more important. Why ask what the customer did last week if they can see what
the customers are doing _right now_.

The "grand-daddy" article: "The Log: Real-time data's unifying abstraction"

[https://engineering.linkedin.com/distributed-systems/log-
wha...](https://engineering.linkedin.com/distributed-systems/log-what-every-
software-engineer-should-know-about-real-time-datas-unifying) (discussed
[https://news.ycombinator.com/item?id=6916557](https://news.ycombinator.com/item?id=6916557))

[http://techblog.netflix.com/2014/01/improving-netflixs-
opera...](http://techblog.netflix.com/2014/01/improving-netflixs-
operational.html)

[https://engineering.linkedin.com/stream-processing/moving-
fa...](https://engineering.linkedin.com/stream-processing/moving-faster-data-
streams-rise-samza-linkedin)

[https://engineering.linkedin.com/data-streams/apache-
samza-l...](https://engineering.linkedin.com/data-streams/apache-samza-
linkedins-real-time-stream-processing-framework)

------
chuhnk
1\. Learn how AWS or GCE works, not just with the command line tool but the
APIs too. Fundamentally understand how all the offered technologies can be
used together to host a platform for a business. While we still have bare
metal and managed hosting, the world is moving to the cloud and your first
priority should be to move with it.

2\. Extend your skills into managing distributed software such as zookeeper,
cassandra, etcd. In a cloud based world, machines can disappear at any time,
hell entire Availability Zones can vanish because of an issue with the hosting
provider. Fault tolerance is of the utmost importance. Distributed software
such as zookeeper and cassandra are normally run in multiple AZs to tolerate
such failure.

3\. Learn about Docker and container orchestration. Like it or not, containers
are the new level of abstraction and you should understand how they work.
Knowing how to run a container isn't enough though, you need to understand how
to run hundreds of them in an environment, which means some sort of system
that handles orchestration. Look into Kubernetes, Mesos and Docker Swarm. All
of these are in fairly early stages of public use - Mesos has been battle
tested at Twitter for 4-5 years though).

I think these 3 things are really key for any person managing systems now and
in the foreseeable future.

------
atsaloli
In addition to learning new/hot technology, I'd recommend making sure you've
got your basics in (and I'm not suggesting you don't).

See the "Fundamentals" section in System Administration Body of Knowledge
([http://sabok.org/sabok.html#_fundamentals](http://sabok.org/sabok.html#_fundamentals))

------
tete
Maybe not exactly new, but hot and for sure something you don't want to miss
and probably don't know yet:

Learn how your operating system's network stack works, how you can manipulate
behavior with sysctls or kernel arguments, maybe dive into stuff like the
BSDs.

Also you may want to extend your horizon and get into nginx, smtp, shell
scripting, etc., if you don't know them well. All of those offer way more than
the basics and things can come in handy.

You might want to go into the field of virtualization, but please don't start
out with Docker. Docker is nice, but you really want to understand the basics
first (LXC, virtualization in general). There are awfully lot of bad Docker
setups, just because it is hot.

Another thing that one can spend quite a while getting into is uwsgi. One can
use it for way more than managing Django or Flask applications.

Securing services with SSL is also something a lot of people seem to do wrong,
so actually understanding the details of what you do might be something you
might want to dig into.

When it comes to DevOp tools you might want to take a look at agent-less
alternatives to Puppet (Ansible, Rex, cdist).

Another interesting thing is logging. The Elastic Search/Kibana stack is hot
and relatively new (at least the latest/upcoming release of Kibana).

------
include
Terraform, Ansible, Consul

------
c4urself
SaltStack or Ansible

------
davismwfl
Ansible

