Due to the popularity of Infrastructure concepts like DevOps, CI/CD, Automation, Cloud, and Containerization, here is the general industry trend seen among infrastructure over the last few years.
There is a general trend towards more automation and CI/CD due to the insertion of Dev Ops practices and ideas in most organizations. Couple this with the move towards Agile and DevOps and you are seeing the infrastructure position ,whether it is titled System Engineer, System Administrator, DevOps Engineer, Infrastructure Engineer etc, move into coding/orchestrating sophisticated self-provisioned offerings. What does that mean? Infrastructures are not expected to provide AWS style automated pipelines that do everything from delivering working code from source to production, but also create production systems in a similar manner. This expectations is driving a bevy of other skills sets into the Infrastructure role and expectations are super high if you are in this kind of position in terms of technical capabilities.
You now must know a programming language not as a dabbler or hacker, but as someone who can create/build/manipulate product customer-facing software to be DevOps in 2020. This means not just BASH shell scripting, but a full blown language like Python, Java, .Net, Go etc. Probably in that order is preferred. you will still be required to know Bash because it is everywhere. So there is a trend for everyone to know the companies product language (Java, Python, etc) so that can support it and troubleshoot it from an infrastructure perspective. Bash is still king for most infrastructure teams with Python and Go in that order for most shops that are not Windows based. For Windows-based shops it is mainly Powershell, .Net and Python. Java is not favored in most early adopters to startups, but is still used with Enterprises and late adopters not for automation but for product support.
In addition, you must have an orchestration tool in play in your infrastructure. So technologies, like Jenkins, Bamboo, TravisCI, TeamCity, Gitlab and Github Actions (pending) are all emerging with Jenkins being the dominant player currently. Jenkins is slowly losing respect though as it is not emerging tech and doesn’t have great API integration without a lot of manipulation. The plugin community that enables integrations is not keeping things up to date as quickly as desired and thus people are looking more and more at Gitlab or Github actions or paying for Enterprise versions to cover the gap. Most Enterprises are also locked into their current tool already through configuration investment and/or licensing.
While this is dipping in popularity in part due to the rise of Immutable infrastructure concepts like Docker and VM Images for every provider (AMI, VMWare, etc) the configuration technologies in this space are extending like crazy to cover other areas such as cloud provisioning. That being said Ansible is the rising star here with old holdouts like Chef, Puppet and newcomer Salt still present but seemingly losing ground.
This is a training area tied close to the provider of infrastructure (if you are using AWS you use AWS Cloudformation, Microsoft Azure uses Azure Resources Templates, etc) but multi-cloud was the battle cry in 2019 and it will be in 2020 as well. Since Hybrid cross-cloud is a target especially with Kubernetes there is a push to have Infrastructure Provisioners that go “across” cloud providers and data center boundaries. The only tool that does this at present that almost every Dev Ops Engineer I know either loves or hates (no middle ground) is Hashicorp’s Terraform. Classes on this are hot right now. There are no real cross competitive tools as of my most recent knowledge in late 2019.
Immutable infrastructure as an architecture is on the rise in most organizations coupled with cloud and containers. As such there is really only one tool that does this well and that is Hashicorp’s Packer. Few are offering good classes on this, but since this will generate VM and Container images that can be run across cloud providers it is gaining in popularity. Needs a Configuration Management tool (see above) to function properly.
Containerization and Container Orchestration
This is an overwhelmingly popular area of technology and the emerging trend here is mainly around Container Orchestration and not Container Run-Time technologies themselves of which Docker remains king. Kubernetes is the Container Orchestration alpha predator and has eaten and dominated all other competitors by far. The hype train on this is strong and many organizations are pushing for this without regards to impact or value. As such many are looking to speed to market for their Kubernetes initiatives so IBM/Redhat Openshift, Rancher, Platform9, Pivotal are key technologies. Managed Services in the cloud like cloud provided Kubernetes like Azure Kubernetes services or Amazon’s Elastic Kubernetes Service are also included in this trend. Trend-wise Enterprises are using IBM/Redhat Openshift while smaller companies are looking at Rancher (FOSS). Everyone is looking at the cloud provided Kubernetes services like Amazon Elastic Kubernetes Services, but something to note is that most infrastructures are still using Virtual Machines.
DevOps is emerging mainly under a focus on tools while de-emphasizing its cultural and silo-breaking roots to a certain degree so any classes that focus on metrics(prometheus, grafana, graphite, nagios, cloudwatchm datadog) are going to be popular. Anything doing with Continuous Integration/Continuous Delivery/Continuous Deployment in almost any of the popular tool configurations (i.e. CI/CD with Jenkins, Maven, and Artifactory) is also in trend. DevOps classes are anything that brings all the afore mentioned tools together into a cohesive delivery system are going to be amazingly popular as well.
Trends here depend which provider they are using, but everyone is now chasing a cloud provider. Either because their clients are wanting it or they see the obvious benefit of hybridizing their cloud infrastructures. AWS is seen as the leader and thus AWS trainings are favored, but multi-cloud is the battlecry of most Enterprises who are either chasing customers or who are worried about competition on other fronts from Amazon.com. Since AWS funds most of Amazon.com operating capital, business-wise Enterprise leaders are looking to avoid funding Amazon.com invasion into IoT, Machine Learning, Last Mile Delivery, Streaming Services etc. That all being said, most are still looking at AWS as their dominate cloud provider but with an eye on Hybrid data center computing.