Jessica Deen and Mathias Olausson at TechDays

DevOps, containers and tools with Jessica Deen [interview]

As is tradition this time of year, Microsoft TechDays took place last week. It is the biggest Microsoft conference in Sweden for those who want to understand the very latest as well as get a strategic overview of the ever-changing technical landscape.It fits everyone from the most deep-diving technologist to the strategically-minded leaders and almost everyone will walk away from it a little bit smarter.

We at Solidify are proud to be able to say that we joined the conference as both speakers and listeners. Our very own Microsoft MVPs Taavi Koosaar and Mathias Olausson held sessions on continuous delivery, applied DevOps with containers and cloud as well as on application security. In addition, Mathias paired up together with Microsoft League of Extraordinary Cloud DevOps Advocate Jessica Deen for a pre-conference talk on containers, cloud, microservices and applying DevOps to modern applications.

Afterwards, we were honored to have Jessica for ourselves for a short interview and talked about everything from containers and Kubernetes to upcoming trends and crossfit. Take a look:

Interview

Solidify: First of all, thanks for doing this. It’s really cool to meet another member of the League*. 

Jessica: Thanks for having me, it’s an honor to be here and to be a part of this.

So for those who can’t make it here today (Oct 23rd), would you please give a short summary of your talks here?

Sure. First off, I’m a cloud developer advocate for Microsoft. I specialize in Linux, open source, containers and DevOps and all of my talks focus around that. The workshop I’m doing for the pre-conference in conjunction with Mathias is talking about modern DevOps as it pertains to cloud container technology. I went through the different container technologies that we have available on Azure and how you can even link third-party open source services and products. Then my session tomorrow will be a deep dive into DevOps with Kubernetes and Helm as well as show real-world scenarios with a variety of different Kubernetes-related tools.

Many have seen your talk at Microsoft Build where you also talked about Azure and Kubernetes, namely best practices around those. Your talks here are also highly related to this – why, would you say, is this such a trending topic?

Containers is really opening up this shift into a new era, a new technology world. Think about 10-15 years ago and everyone had at max one device per person, or even shared one home computer. Now we have multiple devices per person. There are more devices coming online, companies as a whole are getting younger, meaning that there are more companies being launched. On top of that, the companies that are launching are selling products that they don’t technically own. Take for example Uber – a car service that owns no cars, or Facebook the marketing service that does no ads on their own. The same goes for AirBnB, which is a rental service that owns no properties.

So we’re in this digital e-commerce world, a new age for technology. The question then becomes “how can we meet that type of growth and demand?”. Containers really sets us up for that microservices, cloud-native infrastructure we’re moving towards.

We completely agree. It’s fascinating how much has happened in such a short time. 

Absolutely, and it’s only going to increase.

Moving away from containers a little bit, you’re a member of the LoECDA that works hard to promote DevOps. What would you are some keys to creating awesome DevOps teams?

That’s a great question. First off, even with containers, the one thing I try to reinforce is that containers are valuable because they’re build on DevOps practices. One of the main things that makes a DevOps team great is teamwork. You can implement Devops practices such as infrastructure as code, source control, CI/CD or monitoring anytime. But is that DevOps on its own? Not really. That’s because you also need culture. You need people and the right products.To phrase it best: you need three different components and with the union of those components, you’re able to deliver value. That’s the ultimate focus for DevOps. To really create a good DevOps team, you need to make sure you’re working with the right people and the right practices to enable the continuous delivery of value.

If you aren’t delivering value, what are you doing and why are you doing it?

That’s great. It ties a lot into how Donovan Brown and the League often defines DevOps. But when working to implement these practices with the right people and the right products, what would you say are some common challenges? What are some things to keep in mind as you take on this transformation?

To recognize that this industry is changing and that technology is changing. The ways of the past and the traditional won’t work the same way anymore, so we have to become comfortable with change. If you’re not and don’t want to learn new things, maybe it’s time to reevaluate what you’re doing and why you’re doing it.

I think the common challenge is fear. It’s human nature to fear change, but with the digital shift and the way technology is heading, we have to accept that fear.

That reminds me of an old sports quote regarding performance: “You need to be comfortable being uncomfortable”. 

Absolutely. There are so many situations in which you’re not comfortable. Sticking to the sports angle, it’s uncomfortable whenever you’re losing or you’re working out, but you also know that that’s what’s needed in order to improve.

Everyone always asks me “where do I start with DevOps?”. The first thing I always tell them is to get comfortable with the fact that you don’t know. The industry changes so fast that I don’t know everything. Something new is launched every single day and the only reason I think I’ve learned as much as I have is that I’ve realized how much i don’t know.

And as you mention, with all of these fast changes coming your way, adversity will strike you. You’re going to feel pressured, whether or not you’re a startup or a large company and maybe it’s about just accepting that fear. On that note, there’s a lot of pressure to increase security with DevOps. What would you say are some ways to ensure security while moving towards this digital transformation?

That’s one of the reasons I love containers – it lets you focus on security. In fact, the 5 best practices I go through whenever I talk about Kubernetes are best practices because they are security practices. I’ve been asked to separate some best practices related to Kubernetes and some related to security, but I can’t. It’s a trick question. Best practices are only best practices if they also include security, for that is what we’re all concerned about. I don’t care if you’re in Dev or in Ops, we all have to worry about it. With that, some of the things to focus on – especially if you’re using containers, are these:

Focus on building small containers. Don’t build any extra dependencies or other vulnerabilities that you don’t need.

Focus on using architecture that will allow you to manage your security is another best practice.

Set resource requests and limits, so that you’re not leaving anything in a memory leak that somebody could tap in to.

Make sure to use availability monitoring and telemetry tools to gain insight into what’s running and where. Using Helm charts will allow you to quickly update and iterate, especially in Kubernetes deployments.

Again, all of those are best practices because they’re focused on security.

Wow, a lot of good tips in there. Many companies can certainly find something to improve upon there. Moving on, what are some new and upcoming tools to work with when doing DevOps? You’ve been talking a lot about Kubernetes and Helm, what makes them so valuable?

Kubernetes solves a bunch of problems from the DevOps world. The age-old saying “it works on my machine” is a serious issue. Then on the IT part of it we have IT people needing help to integrate new code in a secure and safe manner. Add a little repetition across various environments such as dev, QA, test, prod and you have a big problem. Containers solves that. For developer, it enables a “write once, run everywhere” type of architecture and for the operations it enables portability where you can be sure it’s going to be the same anywhere I put it because it’s now immutable. Kubernetes is incredibly powerful and offers things like scaling, lead balancing, service discovery, securely managing secrets and many other benefits. But because it’s also so complex, it can be overwhelming and challenging to manage. Here’s why Helm as a package manager is important. It aims to simplify the management of even the most complex workloads.

Another really popular tool that’s not as well-known as Helm is Draft. Draft actually simplifies the Helm and Kubernetes development specifically for developers. Previously, the traditional developer didn’t have to consider the infrastructure side of things. Now you have to care about where your application is running, who’s going to access it any any other security concern. But when you’re already writing a program you don’t want to also have to learn how to write Helm charts and Kubernetes deployments and all these things that you didn’t sign up for. Draft simplifies that by creating a generic Helm template for you, which will allow your infrastructure architect to come in, edit as needed and then handle your Kubernetes deployment while you focus on your application architecture.

So it’s about removing “the chasm of despair” while still focusing on what you do best? 

Absolutely. It’s empowering you to work together and offers richer collaboration as well as a more portable and immutable both infrastructure and application architecture.

While on the topic of trends, what are some other upcoming trends that organizations should keep an eye on?

Right now, I think organizations are still focused on getting to the cloud. What tool to use, being behind on DevOps practices and so on. Here we have a wide variety of tools to use such as Azure DevOps, CodeFresh, Jenkins, CodeShip, TravisCI, etc. There’s a reason there are so many CI/CD tools that enables continuous integration and deployment to the cloud. Gartner has done several studies that show that by 2020, over 50% of the workload will be run in the public cloud. A few years ago, that number was estimated to be at around 65-70% that by 2025.

In short, I think the biggest trend is going to relate to moving from on-prem to the cloud or a hybrid scenario. Serverless is also becoming very popular as well as using functions with Azure functions or Lambda.

Looking at what all of these have in common, it’s about lessening the overhead and making the application delivery as lightweight, portable and scalable as possible. You need that when looking to push updates much more often.

We’re almost done now, but life isn’t all about technology. What are your top 3 beginner crossfit tips?

That’s a good one. A lot of it comes down to getting used to the barbell. Don’t try to push yourself with weights that your body is not accustomed to. One important movement is the clean movement, either power clean or squat clean. Anyway, the three tips are:

  1. Find a box (crossfit gym)
  2. Take the fundamentals course
  3. Practice the power clean every day

Takeaways

As you see, Jessica and the League are sitting on a huge amount wisdom and many good tips to follow. What’s becoming clearer by the day is how important staying updated is – if you’re not looking to move towards DevOps and the cloud, you’ll soon find yourself behind. Whether or not Azure, Kubernetes or Helm are the right choices for you seems to be of less importance. What matters is accepting the fact that the world is changing and that you need to change with it.

 

Have you started your DevOps journey? Let us know in the comments below!

*Two years ago, we were visited by Donovan Brown. Read up on his interview here.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.