Mitch Ashley: Hey everybody, welcome. We are live, streaming live, from KubeCon here in Chicago. It’s great to be back at KubeCon. It always seems like we’ve got a great interesting place to go and lots of fun people to meet. Which leads me to my first conversation with Elad Ben-Israel, who’s with Wing Cloud. Welcome, man.

Elad Ben-Israel: Hi, great to be here man.

Mitch Ashley: Good to have you. I’m going to do a little sleight of hand and hand that off first time we’ve met. Well, tell us a little about you and we definitely want to hear about the mission of Wing Cloud in which you’re doing.

Elad Ben-Israel: So I’m a developer, a programmer since basically since I remember myself. I don’t know. I’ve been writing codes in high school and then I’m Israeli since I spent some time in the Israeli military doing coding and then spent some time at Microsoft and Amazon and AWS and did some startups. But basically it’s my first time as a founder. I’ve spent my last five years at Amazon. I built the AWS CDK, which is a tool in the infrastructure is code space, and starting Wing Cloud was for me the next natural step in giving developers a better way to build software for the cloud, build cloud applications. And that’s our mission is to make the cloud a great place to build software. And one of the first things we realized is that the basic tools that developers use to build applications is their programming language and the reality of today’s programming language spaces that all the existing languages are basically designed to tell a single machine what to do. That’s the idea behind the programming language. Like I write code and it runs on a machine.

Mitch Ashley: And you multithread it or parallelize it or whatever.

Elad Ben-Israel: But then eventually they’re kind of locked into this machine, one machine. But when you’re actually building applications for the cloud, you’re building applications that use this distributed computer. They use all these services, managed services that we see all these companies around here. I want to be able to use all of these tools when I’m building my cloud application. And the existing languages just don’t have a way to express both my infrastructure and my application code together in the same language. And the result is the more you lean on the cloud as an application, the more friction there is to deliver it to the cloud.

And that creates a lot of pain across the industry. Like we see both developers and companies really struggle, struggle both in terms of developers are unable to really stay in the flow. To me, that’s always been my obsession is like I want to be able to just go into this zone of building. And to me, this is why I love programming because it’s an art form, it’s a creative activity. And the more you have to step outside of that creative activity and go and deploy your code and configure your microservices, how they connect together and deal with the Kubernetes APIs and clusters, the less you’re able to actually stay in that flow and create.

Mitch Ashley: Give us the day in the life of a developer with Wing Cloud, Winglang language. I’m really curious about this because I totally get it, right? I’m heads down and it’s a big effort to get back where I was to what I was working on just to go over and use a cloud service tool or some other piece of software. How do you build that into the workflow and the mindset of developing code?

Elad Ben-Israel: The basic architecture of that programming stack is that we’re creating the standard library for the cloud like any programming language that has a standard library. Standard library is one of the goals. The purposes of a standard libraries and every programming language is to abstract the platform. It is to give you an API for the platform that you’re using. And when I’m using Java or .NET or whatever, OJS today, Python, I have a standard library that abstracts away my machine so I can have access to my file system and my process management. And the same thing for Wing, but for the cloud. And so we actually have this standard library for the cloud, which we call the Wing SDK, and we’re actually planning to ship it to other languages as well. So not just Winglang as a language, but that standard library gives you primitives for cloud programming.

And when you’re using those primitives in your code, you basically decouple yourself from the platform. And that means practically, for example, that you can run on a simulator. And so one of the things that we’re launching today is support for containers in the Wing simulator, which means again, that you just don’t have to leave your machine, your development environment when you’re creating your cloud application. So you can create buckets and queues and containers and lambda functions. And all of those things are first class citizens of the programming space. And you can iterate them on them locally. And so every change you make, you can instantly see, you can write unit tests that basically cover your entire cloud system and not just your application code. And so your ability to iterate changes from maybe minutes per iteration to milliseconds per iteration, which is to me, again, this is as a developer, that’s the thing that I need to optimize for in order to be productive and in order to stay in the flow.

And once you’ve finished developing a feature, you go and you commit it to your source control and that gets deployed to the cloud and it can actually get deployed to any cloud provider because of that decoupling, we can compile your code to AWS or to GCP or to Azure or to your own custom platform. You can actually have complete customization for your platform and you can even decide which provisioning engine to use. So we actually support Terraform and CloudFormation and it’s an open ecosystem. So we are trying to build Pulumi support and Crossplane support. And so this decoupling in a sense is the key to the value, right? By working at the higher level of abstraction, you get both a really great developer experience, but also in portability and agnostic to the platform that you’re deploying to.

Mitch Ashley: So let me ask, I don’t develop software every day. I’ve been a developer still a little bit tiny bit. So if I’m understanding, it sounds like what you present to the developers, what they’re used to working, in other words, just like in Python, you’d include a package manager to get whatever functionality and then you’re referring it in the language of the programming language, “It’s an object and here’s the attributes. I can do auto complete,” and all those things that you do in an IDE, is that what you’re as opposed to, “I’m going to do a restful call to something and here’s the string of parameters”? And that’s all I know, right? There’s no help in how I use that. I just have to go and look all that stuff up and know what calls to make. Is that what you’re saying is developing it in that environment of the language that you write coding?

Elad Ben-Israel: Yeah, it’s exactly how you would expect it to be really. I feel like to me, I’ve been programming since the nineties and I’m constantly trying to go back to Borland C++ running on my machine, writing my code, compiling and iterating and iterating and iterating. To me, programming is an incremental process. At least in my head, I know that there are some engineers who are very top down thinkers and they would spend a day just thinking about what they want to do and then write the code once and that’s it. But my experience is that most developers are not like that.

Mitch Ashley: Yeah. Most are iterative.

Elad Ben-Israel: Exactly.

Mitch Ashley: Building pieces of it, putting it together.

Elad Ben-Israel: And so you want to write some code and test it and see how it behaves and play with it and tinker with it and change something. And that flow is completely broken in the cloud. You can’t achieve that flow if you really want to use the cloud. And I think one of my criticisms coming into KubeCon actually, probably not a very popular opinion here, is that Kubernetes in a sense is helping to break that experience because of that, Kubernetes users are focusing only on their container. As a developer, when I’m building stuff on Kubernetes, I would usually just build my container. That’s my application.

And so this separation between platform and application happens at the Kubernetes container level, but that means that my toolbox as a developer is constrained again to what’s running inside this one machine. And so if I want a queue or a bucket or an API endpoint or a stream of big data or anything that’s outside of this container, then that’s not my responsibility. And so you see this situation, I’m calling it containerized developers. You see these organizations that basically end up with this situation where developers are honed into this corner and they just build their code and they push it because they need that flow. So they’re basically constrained to just-

Mitch Ashley: Isolate yourself from the things that are going to decide-

Elad Ben-Israel: Isolate it for everything that’s annoying about the environment. But then the result is that these companies are not really leveraging the clouds. You see them point obsessing about-

Mitch Ashley: You’ve got to go learn about all those services or whether you use DynamoDB in a native environment or Kubernetes.

Elad Ben-Israel: And learning is one part, but also integrating and delivering your applications that if I’m, as a developer, wanting a DynamoDB table in such an environment, I need to call my platform team and tell them, “I need this storage.” And then they would provision the… We actually talked to customers like, “Yeah, they asked for a bucket last week, we just deployed it in the staging environment. Now we can’t go to production because we need to go and deploy this bucket to…” That doesn’t make sense. A bucket should be a simple primitive, it should be like an array when you’re writing code. And so in Wing, that’s your experience. It’s like new bucket and then you get a bucket, new queue and you get a queue, and you can just use it as if it was in your space.

Mitch Ashley: So talk a little bit about where you are and product evolution. What’s available today? How can people get access to it? Do they download something, log onto something? Tell us the experience.

Elad Ben-Israel: Yeah. So winglang.io is the homepage for the open source project. And GitHub is another great place. We have a community that’s forming around. The project is amazing. Coming from the CDK was this incredible community that we built around the CDK, this community is even better. I feel like there’s so much passion and excitement about this approach. And even though the project is still very early and there are many things that you can do with it, we see a lot of people coming in and contributing and actually helping us build this. And so our focus is mostly on the open source side right now. And we have some plans for launching a platform.

So again, you can just use this open source project, you can compile and the output is Terraform and JavaScript, and then you can go and deploy to your cloud account and integrate it with your existing processes. And so you can be completely independent with the open source. But what we think is that we can add a lot of value to the delivery phase, which is what happens after you’ve compiled, because we have a lot of understanding of your applications’ anatomy and how it’s structured. And so we believe we can actually create this really appealing delivery experience and operational experience that’s designed for these types of cloud applications. That’s our plan from a commercial standpoint.

Mitch Ashley: A lot of people have done very successfully that, open source, and then offered as a platform or SaaS or some variation of that. So time to value is very quick. I’ve got an account, I have whatever now, I’m hooked up to my environment, I’m ready to go.

Elad Ben-Israel: And it’s not about hosting the open source, it’s not like an open course strategy.

Mitch Ashley: Yeah, we’re not running a query.

Elad Ben-Israel: It’s not a service, right? Development tool. And so the open source, I feel programming languages needs to be open source because the community needs to help shape where this project is going. And so in that sense, that has a life of its own. But I do think that we can provide value downstream for companies, for enterprises to basically close the loop on the production side. And I’m super excited about that. I feel like it’s going to be really fun. I can tell.

Mitch Ashley: So folks can go to GitHub, they can go to winglang.io, download the open source, [inaudible 00:13:43] themselves.

Elad Ben-Israel: There’s also a playground that you can use online and play with it.

Mitch Ashley: Oh, yeah. Check it out on the website, get a quick work. Very cool. So that’s the place to go right now. I mean things are happening very quickly, right? You’re at that stage where innovation’s happening almost every day it seems like. Where do you think you’re going to be in say six months, not very far down the road, but picture into first quarter of next year? What do you think the next set of things that are going to happen for you?

Elad Ben-Israel: So for us, it’s basically helping people use this thing to build complex big applications. Identifying amazing use cases where this shines the most. I feel like there are some use cases where we’re providing a great solution, but it’s not completely game changing. I think that there are definitely use cases where this is game changing, really shifts the innovation cycle for developers. And so for me, the focus is getting those production applications running, making sure that they have the right building blocks in our SDK and the ecosystem and basically this initial platform that we seeing some users starting to use this initial platform for deploying that. And so very excited to very important six months for the company.

Mitch Ashley: Very important stage.

Elad Ben-Israel: Yes, exactly.

Mitch Ashley: If you want to contribute to the open sources that primarily Golang or what languages you’re building it in-

Elad Ben-Israel: We’re using TypeScript, Rust, and Wing actually.

Mitch Ashley: Okay.

Elad Ben-Israel: So what happens happened recently is that Wing has become mature enough so we can actually start writing components of the SDK in Wing. We started with TypeScript because we basically bootstrapped the project from the CDK ecosystem. So we actually leverage a lot of the technologies that I’ve built at AWS and that was a great way to get started. But we were at the point where we were actually able to start using Wing ourselves to basically build Wing and our compiler is written in Rust. So it’s actually really interesting mix.

Mitch Ashley: It’s very good performance and scalability. So was there an ideal scenario like greenhouse projects starting from scratch that’s the best? Or can people who are maybe already working in development and app they’re supporting in production, can you start to introduce it there or we not quite that to that use case yet?

Elad Ben-Israel: I think for some use cases we can easily migrate into Wing, but I think in those use cases, the differentiating value of this unified programming model is not necessarily going to be immediately visible. And I’ll explain. If you are in a containerized world, then you can easily take your containers and deploy them when using it, and you can actually do this today. As I said, we launched this container support. And so you can do new workload and put your image in Dockerfile, it’ll automatically build everything and there’s support in the simulator so you can actually test your applications. So migrating from any container platform should be easy because again, you’ve containerized your application, but I think you’ll see most of the value when you’re starting to add more resources around it.

Mitch Ashley: You can do all the other things.

Elad Ben-Israel: And in those cases, I think a lot of new projects, but new projects, not completely new, but basically new microservices. Let’s say you have a new microservice in your system and you want to try out Wing, it’ll technically supposed to integrate pretty nicely with your existing environment because again, you’re getting a Terraform that you can go and deploy into your account. And so if you’re building this new microservice and have a bunch of other microservices in your system or resources and data, then it should be easy to take Wing for a spin and try to use it for those use cases. And I hope you won’t be able to go back. Right? I feel like it’s an irresistible experience.

Mitch Ashley: Well, and maybe even just the contributing the development that will also hook people in. So everybody go to winglang.io as well as GitHub and you can get ahold of the source. You can go try out the sandbox environment that you have. So Evan, is that your first name?

Elad Ben-Israel: Elad.

Mitch Ashley: Elad. Thank you. Elad Ben-Israel. It’s going to be a long way.

Elad Ben-Israel: You’re just getting started.

Mitch Ashley: Yeah, just getting started.

Elad Ben-Israel: Want some coffee maybe?

Mitch Ashley: I think I’ve had too much already. Wish you the best of luck. It’s so much fun to be at this stage and engaging with people and getting feedback of hope you go the right direction. So I wish you great success. Come back and tell us how it’s going.

Elad Ben-Israel: Will do. Thanks for having me.

Mitch Ashley: You bet. Be sure and check it out. This is the fun kind of projects to get involved in and it’s early enough you can have whatever role you want to have. So it’s great about open source and new technology. So check out Wing. We’ll be back in just a minute with our next interview.