What a time to start a new job. In June, in the midst of COVID-19-related economic upheaval around the world, Container Solutions named its new chief technology officer. Ian Crosby replaces CS co-founder Pini Reznik in the CTO role (Pini is now our chief revenue officer).
Ian, a native of Nova Scotia, Canada joined our Amsterdam office in 2016, after working in the defense industries and at web startups and airlines. Two years later, he returned to Canada to start CS’ North American office. The 37-year-old (‘though I feel like I aged 20 years this year’ he says) lives in Montreal.
Ian talked to me about the impact of the pandemic and what’s next for CS, its customers, and the Cloud Native industry. (This interview has been edited for length and clarity.)
Heather Joslyn: What is your vision for CS's approach to technology and engineering in the next few years?
Ian Crosby: I think what's interesting about Container Solutions is that we're a technology-first company. And so when the company first started, as is no doubt obvious by the name, we bet hard on container technology as it was just coming out. And Jamie and Pini, as founders, saw a lot of the potential that was there and decided to bet big on it.
We started very early on working with Mesos and very early versions of Kubernetes. We were working a lot with the innovators and early adopters, the ones who want to try out this cutting-edge technology, to help them set this stuff up.
But what we've seen over the years is that the ecosystem has evolved and there's been a lot of new technologies coming up, but the core has remained the same. Essentially we've been setting up and helping companies manage these clusters for the past four years or so. It's been more the clientele that has changed rather than the technologies. Which in itself, it's interesting because as it spreads into more industries and different groups, you see new challenges, etc.
But one of the things that we want to focus on is continuing to look forward to the kind of [McKinsey] Horizon 2 to Horizon 3 stuff. What are the things that are (or will be soon) coming at us, in terms of new technologies, trends, and paradigms, which are going to change the way that we're working? As a group of technology enthusiasts, this is something which is very interesting to us, of course. But also we see it as something that we owe our clients.
We come in to clients as industry experts. It's expected that we can not only help them set up the right platform for today, but also make sure that it's going to be a fit for the future as well. That any system we help design and build is something which can adapt and evolve— and if we look at what's coming down the road in a couple of years, what we're building today is still going to be relevant.
That's one half, and the other half is around open source. As you know, we're strong believers and strong users of open source at CS. We promote it widely with all of our clients. We use it quite a lot ourselves. By default, everything that we build in-house, we'll make it open source and we push clients to do the same (when possible). We have many people within the company who contribute to open source and community projects. It hasn't been sufficiently structured. So what we want to do is put more focus, more structure into our own involvement in open source.
It's one thing to write a tool and make it available on GitHub, and it's completely another thing to invest in it, so that it becomes something which is valuable for the community. This is something that we also want to focus on: giving our people the time and the means necessary to really contribute to open source and to look at the projects we currently have internally—which ones might actually be really valuable for it, for the community—and put the right effort there.
How do you see yourself working with the CS Labs arm that Adrian [Mouat] runs?
That's a big part of this. Open source is getting a much tighter integration with Adrian and CS Labs. We're going to be working very closely together and have more involvement from the core of CS into CS Labs.
In general, that's the vessel we're gonna be using to manage all of this open-source work.
How did the pandemic and the resulting business challenges shape your plans?
Being a consultancy, we've seen the two sides of this. Some of the clients we work with, in the travel space for example, took a hard hit to their business and had to scale back projects and try to find alternative options. Then in the retail and online space, they saw traffic shooting up overnight. And then it's like, how do we deal with this? Those clients were looking for more involvement from us in order to help them solve these new challenges.
What we're starting to see now is that the initial panic is passing. A lot of companies who were kicking the can down the road on Cloud Native transformation, realised that they're out of time. So they are now focusing on this, and it has become priority one.
Specifically for us, we had already started moving towards a remote-first structure. [The COVID-19 crisis] triggered a sharp acceleration on that. It's allowed us to move a lot faster than we had been, to make sure we have the tools and the processes in place. At the same time, with the work that we do with clients, [we had to] ensure that everything we used to do on site (workshops, training, etc) are possible to do remotely.
So that's what you're hearing from clients more: they realise they need to stop kicking that can down the road, in terms of Cloud Native transformation.
Yeah, exactly. Specifically the ones that have seen traffic jump, are realising that there's this old legacy setup they have, which was good enough, but it just doesn't stand up to this new scale. So they need to look at how can they modernise, how can they improve, and how can they leverage Cloud Native to do that.
What kinds of new challenges do you see CEOs, heads of IT, facing in the new environment? Other than needing to hurry up and do their Cloud Native transformation.
In [the tech industry] in general, we're in a better place than most. Whereas we are used to things changing and a certain amount of uncertainty. But of course nobody was ready for this amount of change. Being able to properly react and adapt to change, while always an important quality in tech, has become essential.
We must become comfortable with uncertainty, and always looking at how to reduce risk. So, if you’re planning a large-scale IT project, you want to identify potential risks straight away. You also need to be prepared to change direction and adjust your plans as you go. Any plan which only delivers value after two years is not going to survive contact with reality.
If we look at remote work, in most tech companies—even if it wasn't universal—we have the tools and processes available to adapt easier than in other industries.
But we have seen a lot of the maybe more traditional, larger enterprises all of a sudden, have to learn how to work remotely when this wasn't part of their culture before. What tools can help you? What practices do you have around communication and being able to work asynchronously? It becomes really important.
What role do you see CS playing in helping them with those challenges?
On the remote-friendly side, this has been something we've promoted pretty strongly with clients. Along with adopting new technologies, this is something that you need to prepare for. If you want to be able to bring in the kind of talent that you need, this is something which engineers are looking for more and more. So helping them to adopt that.
In terms of risk reduction, and developing evolutionary systems and strategies, this has always been at the core of what we do at CS. Cloud Native transformations are more about changing the mindset and ways of working than the actual technology.
You wrote something at the beginning of the year about things to look forward to and looking ahead to 2020. Obviously none of us knew what 2020 was going to be like. But what are some new developments in technology that you are most excited about right now?
I think a lot of that is still valid, Like I mentioned earlier, Cloud Native in general, and Kubernetes specifically, is becoming the standard and expanding to more and more verticals and industries. It opens the way for building platforms on top of this, which is a really interesting paradigm. As this expands into new industries, it opens up new use cases.
One interesting example is edge computing. If we look at stuff like 5G coming in, Internet of everything, we’re taking the technologies and moving it into this newspace, it provides a lot of opportunity. But there are also challenges which these technologies weren't made to solve— around networking, or I have to spin up and manage hundreds of different [Kubernetes] clusters, for example. We’re now seeing people try and solve these challenges, either adapting the existing tools, or creating new, complementary ones.
Another interesting trend we're seeing recently is kind of a backlash on these cutting-edge technologies. We're seeing some high-profile examples of people moving back to monolith-style architecture, for example. Or service mesh, which is one of the really hot trends. Many people have started asking if this is really something that they really need? Or Kubernetes itself, is this always the right solution? And of course the answer is no, but we’re seeing more of these conversations around, yes, we have new and exciting technology but that doesn't mean that everybody should adopt it in all cases.
We’re taking a more critical view of: what are our problems in this specific use case?”. Do these technologies solve this for us or not? The tradeoff between using something cutting edge, which is likely to change frequently and potentially isn't as mature—Is that worth the benefits that we get from it?
Having this much more critical view is something which is really needed as the pace of technology in the space has just been really, really quick the past few years.
Another thing: Originally, one of the thoughts about cloud was that it was going to be very environmentally friendly. You don't all need your own data centers now. You can all leverage the cloud because it's shared resources. It would be so much more efficient and so much better for the environment.
But what we've seen is that—because it's so easy and relatively cost-friendly and kind of invisible—that I can go in two minutes, spin up this 50-node Kubernetes cluster and then maybe I forget about it and it runs for a month and nobody notices. We've actually seen that it's been negative in terms of climate impact, and we're starting to see this pushback against the cloud.
People are looking for a cloud that's powered by renewable energy. And we're starting to demand this kind of information from the public clouds. Looking at, what is the carbon footprint of my applications and how can I run this more efficiently? Which has positive impacts in terms of environment, but also in terms of cost savings.
I saw recently, for example, that one of the large banks in the U.S. is going to offer to give carbon footprint information about clients' investment portfolios. Because people are starting to demand this information now, we have to figure out how to provide it. I think that this is a really good direction for us in the Cloud Native space.
In terms of the pure technology side of things. I'm still really excited about MLOps, which is the idea of taking all of these tools and practices that we've been using in Cloud Native and applying it to machine learning and data science. I think there's huge efficiency which can be gained there.
Cloud Native infrastructure, which is kind of really at the core of what we do, has been evolving as well, as we've seen this infra-as-code, taken a little bit literally with tools like Pulumi. And TerraForm recently released a cloud development kit. So it's more about programming your actual infrastructure. This direction, I think, is really interesting as well.
Who do you think is the ideal Container Solutions engineer—what characteristics do you seek?
On the one hand, we’re looking for people who have some solid experience in this space, someone who has set up and has managed Cloud Native environments in the past. We’re generally pretty agnostic in terms of specific technology or tools.
And the other side is the consulting side of things, which is either experience with consulting or somebody who's very comfortable in having discussions about, what is the best solution and specifically, explaining to clients that what they're asking for is not necessarily what they need.
We’re not about providing staff augmentation, or blindly implementing what has already been defined. The core of what we do is building relationships with our clients where we work together to determine what is the solution that fits their particular needs. So an ideal engineer at Container Solutions, has of course top notch technical skills, but also the ability to quickly understand the challenges facing clients and determine the most appropriate solutions. And the communication skills necessary to explain the pros, cons, and risks of any particular option.