Stéphane Eyskens is a Cloud Architect and Digital Transformation advocate, blogger, author, and speaker. He has a particular interest in Hybrid Architecture, Modern Authentication & Security in general. Stéphane is a Kubernetes lover and an AI enthusiast. He manages to interact with every architecture stakeholder (EA, Security, Infra, Application) as well as C-levels. Stéphane is an all-rounder as he is equally proficient in development, infrastructure, and security. His key competencies are mentoring, results-driven, technology enthusiast, and cloud minded. Considering Stéphane’s contribution to the community he has been awarded as the Microsoft Azure MVP for more than a decade.
Containers are linked to cloud-native; you probably hear quite often about cloud-native architectures and collaborative approaches. You can achieve cloud-native without containers. But containers are very beneficial, and they bring the extra mile in terms of container orchestrators, how you can deploy and release applications, resilience, and so on. Containers help in optimizing infrastructure because containers are lighter than the virtual machine and bring portability. They also bring a lot of benefits but at a certain cost. Firstly, you need to learn containers and have your landscape ready for containers, and then you can try to leverage cloud providers to make your journey easier. In general, the reason why you would go for containers is mostly to gain flexibility, gain efficiency in releasing applications, and so you would reach a better time to market and you could optimize costs.
One of the easiest and best use case for Containers are Microservice Architectures. The whole point of microservices is to gain the agility to have different teams working on different services at the same time i.e., scalability. All of these can be very well accommodated, and thanks to Containers for providing it. On the other hand, you will not have all the benefits of containers when you do a lift and shift. For example, if you have a monolithic application on-premises running on a plain old IIS web server then you will need a Windows container. But in that case, if your goal is just to migrate something because you don’t want to refactor the application then you can also use containers. The major use cases from companies are more in microservice architecture because there is also a growing adoption of this. Microservice and Containers play well together and anything that is web plays very well with containers.
The Azure offering is expanding year after year. Today, you have simple container services like Web App for containers. Web App for containers is just Azure Web Apps, but you can run containers inside those Web App. Next in line is, Container Instances, it is very interesting for background jobs, event handlers, or event-driven architectures, where you can spin up a container. Container Instances can run on both Windows and Linux containers. Then you have more sophisticated container services like AKs, and Azure Red Hat OpenShift data. Finally, you have the Container Apps which is the last point container service in Azure. Many Azure services shipped themselves as Containers, like Logic Apps, Azure Functions, and some cognitive services.