Elad Ben-Israel, Wing Cloud | KubeCon + CloudNativeCon North America 2023
Wing Cloud, the company behind the open source programming language Winglang that unifies cloud infrastructure and application code into a single model across all clouds, announced their Kubernetes Simulator that enables developers to understand and test their applications locally. Learn more from Elad Ben-Israel at KubeCon.
Transcript
This is Textron tv. Hey everybody. Welcome.
We are live streaming, live from KubeCon here in Chicago. It's, uh, 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, uh, conversation with iad, Ben Israel, who's with Wing Cloud. Welcome in. Hi.
Hi. Great to be here, man. Good to have you.
I'm gonna do a little slight of hand and hand hand that off first time we've met. Uh, well tell us about a little about you and we definitely wanna hear about sort of the mission of Wing Cloud in which you're doing. So, I'm, I'm a developer, a programmer since, basically, since I remember myself.
I dunno. I've been, I've been writing codes, um, um, in high school and then I, 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. And, but, uh, basically it's my first time as a founder.
Uh, I've spent the last five years at my last five years at Amazon. I build, uh, uh, the A-W-S-C-D-K, which is, uh, a tool for infrastructure in the infrastructure is code space. And, and starting Wing cloud was, for me, the next kind of natural step in giving developers a better way to build software for the cloud, you know, build cloud applications.
And that's our mission is, is to make the cloud a a great place to build software. And one of the first things, uh, 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 and you Multi-thread it or parallelize It or whatever. Yeah.
But then eventually they, 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, that use this distributed computer, right? Uh, they use all these services, managed services that, you know, we see all these companies around here, like, I wanna be able to use all of these tools when I'm building my cloud application.
And the existing language is just, don't, just, just don't have a way to express both my infrastructure and my application code together in the same language. And, and that result, 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, and that creates a lot of pain across the industry.
Like we see both developers and companies really struggle, right? Like, struggle both in terms of like, developers don't, are unable, unable to really stay in the flow. To me, that's always been like, yeah, the cognitive, my obsession, you know, is like, I wanna be able to just like go into this zone of building.
And to me, this is why I love programming because it's, it's, it's an art form, right? Like it's a creative activity. And the more you have to like step outside of that creative activity and like go and deploy your code and configure your, your, you know, your microservices, how they connect together and, uh, deal with the Kubernetes APIs and clusters, it's like the less you're able to actually stay in that flow and, and create.
And so, So give us the kind of day in the life of a developer with Wing, cloud Wing Lane, right? Yeah. Language.
I'm really curious about this because I totally get right. You know, 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?
So The, the basic architecture of, 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, the purposes of a standard libraries and every programming language is to abstract the platform, right?
Like it's to give you an API for the platform that you're using. net or whatever, you know, um, uh, uh, JS today, Python, my favorite Python, I have a standard library that abstracts away my machine, right? So I can have access to my file system and my process management and, 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, uh, and we're actually planning to, to ship it to other languages as well. So not just Wing Lang as a language, but, 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, and that means practically, for example, that you can run on a simulator. And so one of the things that we're, we're launching today is like, 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, 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, and so your ability to, to iterate changes from maybe minutes per iteration to milliseconds ator, which is to me, again, this is to, 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're finished, once you've finished and you know, uh, uh, uh, develop developing a feature, you go and you commit it to your source control. And, and that gets deployed to the cloud and it can actually get deployed to any cloud provider because, 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 customize, have complete customization for your platform, uh, and you can even decide which, uh, provisioning engine to use.
So we actually support Terraform and cloud formation and, and it's an open ecosystem. So, you know, we we're trying to build Lummi support and cross plane support. And, and so this decoupling, in a sense is the key to the, to the value, right?
Like it by, by, by working at the higher level of abstraction, uh, you get both a really great developer experience, but also in, you know, com uh, portability and, um, uh, agnostic to like the platform that you're deploying to. So, Let me ask, I don't develop software every day. It's been a developer still a little bit tiny bit.
So if, if I'm understanding, it sounds like what you present to the developers, what they're used to working in, in other words, just like in Python, you'd include a package manager to get whatever functionality. Yep, yep. And then you're referring it to the, to the, in the language of the programming language and it's an object, and here's the attributes and Exactly.
I can do auto complete. Exactly. And all those things that you do in an IDE.
Yep. Is that what you're, as opposed to, I'm gonna do a restful call to something and here's the string of parameters and you know, I kind of, that's all I know, right? Mm-Hmm.
It's, 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 kind of what you're saying is developing it in that environment of the language that you write coding?
Yeah, it's exactly How would you Yeah, it's exactly how you would expect it to be, really, I feel like to me, I've, I've been programming since the nineties, and I'm kind of constantly trying to go back to like borland c plus plus running on my machine, getting, writing my code, compiling and iterating and iterating and iterating. To me, the programming is a, is an, is an incremental process, right? Like, it's not like a, I'm at least in my head, right?
Like I, I know that there are some engineers who are very top down thinkers, and they would spend a, you know, a day just thinking about what they wanna do and then write the code once and, and that's it. But my experience is that most developers are not like That. Yeah.
Well, sir, it's iterative. Exactly. Kind of building pieces of it, putting it together, test it, and see how it behaves, and play with it and tinker with it and change something and, and that flow complete, it's completely broken in the cloud.
It's really like, you can't achieve that flow if you really want to use the cloud. And I think one of the things that, one of my criticisms and coming into CubeCon, actually probably not a very popular opinion here, is that Kubernetes, in a sense is, is, is helping to, to break that experience because Kubernetes, because of that, Kubernetes users are focusing only on their container. You know, like 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. Mm-Hmm.
But that means that my, my my, so 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, uh, a stream of big data or anything that, that's outside of this container, then I'm, I'm, that's not, that's not my responsibility. And so you see this situation, I'm calling it like containerized developers.
Mm-Hmm. You know, you see these organizations that basically end up with this situation where developers are like honed into this corner and they just build their code and they push it and, and because they need that flow. So they, they're basically constrained to like, just Isolate Yourself from isolated things.
They're gonna decide for everything that's like annoying about the environment. But then the result is that these companies are not really leveraging the clouds like you see them. It's a good point.
Kind of obsessing about You've gotta go learn about all those services or, you know, whether you use Dynamo db a Yeah. You know, innovative environment or Kubernetes And learning is one part, but also integrating and, and delivering your applications that you, if I'm as a developer wanting a dynamo DB table, I in, in such, in such an environment, I need to call my platform team and tell them, you know, I need this storage. And, and then they would provision the di we actually talked to customers like, yeah, you know, they asked for a bucket last week, we just deployed it in the staging environment.
Um, now we can't go to production because we need to go and deploy this bucket to that doesn't make sense. Right? A bucket should be like a simple, primitive, it should be like an array, you know, when you're writing code and Sure.
And so in wing, that's, 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. So, um, talk a about, a little bit about where you are and kind of product evolution.
What, what's available today? How can people get access to it? Do they download something, log onto something?
Yeah. Tell us the experience. io is the homepage for the, for the, for the open source project.
And GitHub is another great place. We have a community that's forming around. The project is amazing.
I'm actually like, you know, coming from the CDK was this incredible community that we built around the CDK, uh, this community is, is even better. I feel like there's so much passion and excitement about this approach. Um, and even though the project is still very early and, you know, there are many things that you can do with it, we see a lot of people coming, coming, coming in and contributing and actually, you know, helping, helping us, you know, build this.
And so our focus is mostly on the open source side right now. Mm-Hmm. And we have some plans for, uh, launching, uh, a platform, you know, so you can, so again, you don't need, you don't, you can just use this, uh, open source project.
You can compile and the output is Terraform and JavaScript, and then you can go and deploy your cloud account and integrate it with your existing processes. And so you can be completely independent with the open source. Uh, 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, right.
Um, because we have a lot of understanding of your, your applications, anatomy, and how it's structured. And, and so we believe we can actually create this really appealing delivery experience and operational experience that's based for, that's designed for, for these types of cloud applications. And so that's, that's our plan from a, from a commercial, uh, standpoint, A lot of people have done very successfully that Right.
Open source and then offered as a platform or SaaS or some variation of that. So time to value is very quick. Just Exactly.
I've got an account, I have whatever now. Exactly. I'm picked up to my environment.
Exactly. I'm Ready to go. And it's not about hosting the open source, it's not like a, an open course Strategy.
Yeah. We're not running it for, because It's not a service. Right.
Clouds the development tool. And so the open source, I feel programming language languages needs to be open source because the community needs to help shape where the, where this project is come going. And so in that sense, you know, that, that has a life of its own.
But I do think that we can provide value downstream, uh, for, for enter for companies, for enterprises to, to, to make, to basically close the loop right from, from on on the production side. Uh, and I'm super excited about that. I feel like it's be really fun.
I can tell. io, download the open source, yeah. Rent themselves.
Oh. Or There's also a playground that you can use online. Oh, okay.
And play with it. Oh yeah. Check it out on the website, kinda get a report.
Very cool. So, so that's the place to go right now. Um, tell us where do you, 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 gonna be in say, six months, not very far down the road, but kind of picture, you know, into first quarter of next year. What do you think the next set of things that are gonna happen for You?
So for us, it's basically getting, you know, helping, helping people use this thing to build complex, big, big applications. Identifying amazing use cases where this shines the most. I feel like there are some use cases where we're, we're providing a great solution, but it's not completely game changing.
Yeah. Yeah. Uh, I think that there are definitely use cases where this is game changing, right?
Like really shifts the, the, 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 RSDK, uh, the ecosystem, uh, and uh, basically the, this initial platform that we, you know, seeing some users starting to use this initial platform for deploying that. And, um, so very excited to very, very important six months for the company.
Very important stage. Yes, Exactly. If people want to contribute to the open source that primarily Golan or what, what languages We Are building it, we're using TypeScript.
Oh, TypeScript Rust. Okay. Rust and Wing, actually.
Okay. So what happened, what happens happened recently is that Wing has become mature enough so we can actually start writing components of the SDK in Wing. Mm-Hmm.
Um, we started with TypeScript because, uh, we basically bootstrap the project from this 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 are at the point where we're actually able to like start using Wing ourselves to basically build wing, um, and our compiler written in Rust.
So it's actually really interesting. This is very Good mix. Yeah.
Performance and scalability. Um, 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, an app they're supporting in production, can you start to introduce it there?
Or are we not quite that to that? Yeah. In this case yet?
I think, I think for some use cases we can, you can easily migrate into wam, but I think in those use cases, the value, the, the differentiating value of this unified programming model is not necessarily gonna be immediately visible. I'll explain. If you are in a containerized world, then you can easily take your containers and deploy them using, and you can actually do this today.
Like we, as I said, we launched this container support. And so you can like, do new workload and put your image in Docker file, it'll automatically build everything and, uh, there's support in the simulator so you can actually test your applications. So migrating from any container platform should be easy, right?
Like, because again, you're containerized, you've containerized your application, but I think the value, you'll see most of the value when you're starting to add more resources around it and you can do all the other things. And in those cases, I think a lot of new projects, but also, but new projects, not completely new, but basically new microservices. Let's say you have a new microservice in your, in your system and you wanna try out wing, it'll inter, 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, you have a bunch of micro other microservices in your system or resources and you know, data, then it should be easy to take wing, uh, for a spin and try to use it for those use cases. And I hope you won't be able to go back, right? Like, I feel like it's, it's an easy resistible experience.
Well, And, and maybe even just the contributing the development that will also hook people in course. io, uh, as well as GitHub and you can get ahold of the source. You can go, uh, try out the kind of sandbox environment that you have.
So, um, Yvan raised that your first name ELD Elon. Thank you Elon Ben. He is real.
It's gonna be a long way. Um, we should, you're just getting started. Yeah, just getting started.
Want some coffee? Maybe. I think I've had too much already.
Um, wish you the best of luck. It's, yeah, 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. Will do. Alright.
Thanks for having me. You bet. You sure.
And check it out. You know, this is the fun kind of projects to get involved in and it's early enough, you know, 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.





