You just had a beer with your colleagues and didn’t understand a word they were saying. It’s like they were speaking in some strange DevOps-Cloud-Mandarin-Chinese dialect. No worries, take a look at our lexicon of basic DevOps and cloud-related terms and concepts. This wasn’t intended to be a comprehensive reference, but rather a gentle intro and just-enough-guide to get you going.
Cloud – physical or virtual servers where your applications are running. These servers can be located on unknown location outside your company or well-known location right in your basement. It doesn’t matter. Server location is completely irrelevant to users. They take server existence for granted. Like electricity or running water. You might have heard the famous joke “There is no cloud, it’s just someone else’s computer”.
Container – new virtualization method (something similar to traditional virtual machines, only much more optimized!). Also, a new (practically standard) way of packaging and delivering applications. Most-popular type of containers are Docker containers.
Kubernetes – runtime platform for containers. If we think of containers as something similar to virtual machines, then Kubernetes is something similar to hypervisor. It does a massive job of running containers, scaling containers in case of increased load, restarting containers in case of errors, scheduling containers on different nodes in order to balance load, handling networking so all containers can talk to each other and much more. Kubernetes is open-source product that originated in Google. Today we have other products based on Kubernetes, some of them are Red Hat OpenShift and IBM Cloud Private.
12-factor Apps – guidelines describing a new way of designing and implementing applications optimized for running in the cloud. In the beginning, there were 12 of these guidelines. Hence the name. Meanwhile, couple of new ones emerged so today we also hear of “15-factor Apps” and “Beyond the Twelve-Factor App”. Guidelines deal with things like how to properly store source code, externalize configuration, create application logs (and so on…) in a way that maximizes benefits of cloud environment. You can take a look for yourself here [https://12factor.net/].
Microservice architecture – architectural choice that promotes building large applications by linking smaller units – microservices. Microservices are small(ish), independent parts of business logic that are independently implemented, deployed and run. Microservices are typically packaged in containers and run on a platform such as Kubernetes. Microservice architecture promotes independence of different functional parts of the system. Each part can be developed independently, by its own cross-functional team, using technology that best suits the needs. Microservice architecture also enables better system scaling – in case of increased load on particular part of the system, it is possible to spin up additional instance of that particular part (microservice) instead of additional instance of the whole application. This approach significantly saves resources!
DevOps – a term that describes culture in which Development people and Operations people work together from the very beginning of the project to define and automate process of packaging, installing, promoting and running applications across all environments. There are two key aspects of DevOps culture. The first one is organizational since Dev and Ops must work together in order to deliver value (working software), instead of stepping on each other’s toes. The other one is technical and deals with automating as much of application lifecycle as possible to save time and reduce operational risk.
Delivery pipeline – process that aims to automate as many steps as possible, from building and packaging application to installing and running it in runtime environment. This process is typically defined using tools such as Jenkins, IBM Urban Code Deploy, Gitlab, etc. and includes steps such as build, automated test, installation in test environment, manual user test, installation in production environment… YMMV.
CROZ – trusted partner you call for all-things-DevOps and -cloud.