Go to the U of M home page
Showing posts with label DevOps. Show all posts
Showing posts with label DevOps. Show all posts

Wednesday, March 6, 2024

Tony's tech terms: DevOps

In AppDev, we deploy our application code in two kinds of environments. Either to a server that runs a Linux operating system, or using a container to our Traefik service. The term for automating server and container configuration is called DevOps.

The application code is the development, or “Dev” part of DevOps. Managing the server or container configuration is the “Ops”, or operations part. Those two responsibilities are sometimes managed by separate teams. That can make the work of troubleshooting slow and frustrating.

We can move much faster if we have the level of access we need to configure things for ourselves. However, we’re not Linux administrators. That’s why we rely on OIT to set the servers up for us and handle things like operating system updates. We also rely on the development community so we can use tools that provide Infrastructure as Code (IaC).

Infrastructure as Code means that we encode our server or container configuration in a human-readable way that is automated and repeatable. That way, when we need to move to a new server or create a new container, we can repeat it as often as we need.

Since the configuration is readable, we can also review our configuration changes like we review our application code. Any configuration change we make gets reviewed by at least one person on the team.

The work to transform our infrastructure to use containers is DevOps work. In fact, last year we hired a DevOps Engineer to assist us with this transformation.

What's next after the move to containers? We deal with a lot of secrets, like API keys and Oracle database passwords. Our processes for updating those are only semi-automated. Once the University decides on a secret management solution, we want to fully automate those processes.