Episode Summary
Corey Quinn talks with Elad Ben-Israel, CEO and Co-founder of Wing Cloud, about the creation of Wing, a revolutionary programming language designed to simplify cloud application development. Elad shares his experiences at AWS and the journey to developing Wing Cloud, highlighting the challenges developers face with existing cloud paradigms and how Wing aims to seamlessly integrate infrastructure and application code. The conversation goes further into Wing's open-source nature, its design philosophy focused on making cloud development more accessible, and the delicate balance between commercial interests and open-source contributions.
Episode Video
Episode Show Notes & Transcript
Show highlights:
(00:17) - Corey Quinn introduces Elad Ben-Israel
(02:27) - Elad Ben-Israel discusses the motivation behind creating Wing,
(06:28) - Elad presents Wing as a programming language designed to add an architectural dimension to cloud programming
(09:45) - The demarcation between application and platform is explored
(13:27) - Introduction of the "platform provider" within Wing
(22:18) - The Importance of Choice in Cloud Development
(31:22) - Getting started on Wing
(33:14) - Closing remarks
About Elad Ben-Israel:
Elad has been coding since he remembers himself, which is quite a long time ago, and always had an unexplained attraction to developer tools. He created the AWS CDK when working at AWS and is now the co-founder and CEO of Wing Cloud, which is building Winglang, a programming language for the cloud.
Links Referenced:
- Winglang.io
- Winglang on GitHub - https://github.com/winglang/wing
- Winglang Slack Community - https://winglang.slack.com/join/shared_invite/zt-23emj8uue-ZF4ijRNtdDOLO5F7iIz~NA#/shared-invite/email
- Elad Ben-Israel on LinkedIn: https://www.linkedin.com/in/hackingonstuff/
Transcript
SITC-541-Elad Ben-Israel-001
===
Elad Ben-Israel: Wing has this concept called platform provider. And a platform provider is kind of like this adapter that takes an app, a wing application, and compiles it to a specific cloud implementation.
Corey Quinn: Welcome to screaming in the Cloud. I'm Corey Quinn. Today I'm talking with Elad Ben-Israel the CEO and Co-founder of Wing Cloud. But before that happened, he was at AWS and started building something called the CDK. Thank you so much for joining me today. Uh, what's it like to have inadvertently become a cult leader?
Elad Ben-Israel: You mean the CDK, huh? Exactly.
Corey Quinn: It turns. I, uh, I gave a talk at this, uh, last year. It was a video of a pre-recorded talk, and I showed up dressed in a cultist robe with burning candles in the background, and talked about how I thought the CDK was a cult. And now I'm driving membership in the cult. I, I get four more people to sign up.
Corey Quinn: I get [00:01:00] a free toaster. It seemed like this weird, esoteric thing that once I started using it, I suddenly understood why people liked it so much, and I still use it today fairly consistently. Which I have to ask, did you expect that to be the
Elad Ben-Israel: reaction? That it would be a cult? Um, no, I mean, I, I built it because I needed something like this personally, so I always knew it gives a lot of value to developers that try to build stuff on the cloud, and, and that's always been this, you know, the driving force about, around everything that I've done, including what we're doing today.
Elad Ben-Israel: So I'm, I'm glad you're, I'm glad you're enjoying it.
Corey Quinn: And now you've decided, you, you looked around at the entire ecosystem and saw, at least in the CDK side, that something at least I could, I figured out pretty early on was that TypeScript is sort of the, uh, the first-class citizen, so to speak, of the language. And yeah, you can use it in [00:02:00] Python and a bunch of other things, but it's, it's not as well documented, doesn't do things quite as you might expect them to.
Corey Quinn: So that's what I learned TypeScript to do. Now it seems like you looked at this and decided, ah, the real problem with all of this is that there didn't have its own language. So you went off and started up Wing. Lang, I think is, is what we're calling it, or Wing, depending on a level of familiarity. Why did you decide let's build a new programming language for funsies?
Elad Ben-Israel: Yeah, it wasn't a small decision, as you can imagine. I think that one of the things that bothered me with the CDK.
Elad Ben-Israel: Didn't, didn't manage to do with the CDK is encapsulate both the application and the infrastructure of the application together in a single model. And the more I've been building applications in the cloud, the more I've been talking to customers and build applications in the cloud with it. They're building applications in serverless or Kubernetes.
Elad Ben-Israel: I'm realizing [00:03:00] that. That developers really are not empowered to use the cloud. Um, and one of the reasons is don't have the right tools. The primary tools that, a tool that developers use to express their systems. And so if you think about the CDK, the CDK has been really great at describing the infrastructure of the application.
Elad Ben-Israel: But then that's not the whole story, right? Like when you're building something on the cloud, you have both infrastructure and application code, or you know the runtime code that's actually running on inside. Compute services, whether they're containers or Lambda functions, and, and they're interacting a lot with the, these resources, these cloud resources.
Elad Ben-Israel: And so every time you cross the boundary between the runtime code and the infrastructure, you basically escape the abstraction. You end up with IAM policies and environment variables and bundling and packaging, and a lot of hairy problems that are not really. [00:04:00] Important, right? Like they're, they're just mechanical boilerplate that you need to like, understand and, and constantly do again and again.
Elad Ben-Israel: Suddenly you're reading
Corey Quinn: the code and it's, oh, here's a hear doc. And uh, it winds up just dropping a whole bunch of, oh, suddenly you're looking at raw cloud formation or IAM policies, or god forbid, a AWS's management policy language.
Elad Ben-Israel: Yeah. You constantly like. Have to like shift your gaze between the infrastructure and the application.
Elad Ben-Israel: And so that was one of the motivations for Wing Laying is the language. Because if you think about, one of the way I, I like to think about it is traditional programming languages are a way for a developer to describe what a machine is doing overtime. It's basically you write some code, you compile it, you get an executable, and then it's a bunch of instructions that the CPU executes.
Elad Ben-Israel: So that's basically kinda like the time dimension. But when you're building applications on the cloud, you also have a space dimension, right? Like you have like the architecture of your system. In [00:05:00] fact, that's actually the, the. The entry point is the architecture. When you, when you built up on the cloud, you first draw a rectangle and say, okay, this is my system and here's the API, and here is, you know, the API invokes this container.
Elad Ben-Israel: This container talks to the skew, this cute talk to this. And so you have this architectural structure that represents. The spatial dimension of your system in a way, and you can kind of like connect it to infrastructure and application code. The infrastructure is the spatial dimension. The application code is the code that runs inside your, inside.
Elad Ben-Israel: Each one of those compute elements and traditional language that are designed to basically tell. A sequential story. They, they, they tell a story over time. And, and what we're trying to do with Wing is we're basically adding another dimension to your program in a way. Like, it's basically the, the architecture.
Elad Ben-Israel: And so Wing, when you start write a Wing program, the first thing you define is the cloud resources. When you create a wing program with a, [00:06:00] you know, you can write new cloud bucket and that's it. Now you have a bucket and that's not something that's running anywhere, right? Like it's just a definition of a resource.
Elad Ben-Israel: And then you can say new cloud function. And then you say, okay, this is a serverless function. And then you can put the closure that represents the code that runs inside this function. And that's your in-flight, what we call the in-flight code, the runtime code. You get this two-dimensional programming model.
Elad Ben-Israel: In a sense, it's very philosophical, maybe a little too. Maybe,
Corey Quinn: maybe not. Like, one of the challenges I always found in traditional configuration management land was in the early days you had CF engine and then that gave way to a new generation of things, uh, puppet and chef primarily. And it was always, oh, great, now you get to go into its own specific DSL and learn this entire.
Corey Quinn: New syntax and structure for something that really only applies within this one dimension. Uh, one of the things I enjoyed about the CDK was, oh, [00:07:00] if I understand JavaScript, which spoiler, I absolutely do not, but hypothetically, someone who's good at things understands JavaScript or Python or whatever, or go, or whatever language binding they're using for this, then they, it's just an easy one-stop shop where suddenly everything winds up.
Corey Quinn: Speaking them in a language with with which, with which they're already conversant. What is Wing based on? Uh, syntactically. Is it close to JavaScript? Is it close to Python? Is it close to Perl because you hate people? I mean, how did you wind up going down whatever path you went
Elad Ben-Israel: down? It's close to JavaScript and TypeScript and C Sharp and Java and, um, Swift.
Elad Ben-Israel: So it's kind of borrowing a lot of the kind of modern object-oriented application programming languages. Very familiar. Like if you, if you just read Green code, you, you'll understand it. You, you wouldn't need to read like the, the manual to understand it because very, very straightforward and familiar, intentionally trying.
Elad Ben-Israel: To design it as a [00:08:00] familiar language, because one of the goals of this is to make the cloud more accessible to people, right? So more developers can use it without having to have like deep understanding of, of all the layers of the infrastructure. And, and so the language is designed to be an accessible and familiar language.
Elad Ben-Israel: And, and so yeah, I think JavaScript and TypeScript are, uh, you know, they're, they play a big role in the design. You can also inter-operate with, uh, JavaScript and TypeScript naturally from Wing. And so you can write your Wing code and basically extern to JavaScript and then use everything in the JavaScript ecosystem and.
Elad Ben-Israel: Necessarily like bootstrapping an entire ecosystem. And it's very common for new programming languages or for any programming language to have interoperability when an existing ecosystem so that you know, people can actually start building real things with it. Part heavy lift. Otherwise, yeah, a bit of a impossible, heavy lift.
Elad Ben-Israel: I think like it's already a heavy lift.
Corey Quinn: Back in the, [00:09:00] in the olden days, you would have, well, not that old, but still you'd have something like Terraform setting up the EC-II instances. Then you do something like Ansible doing the configuration and logging into the thing and actually installing packages and the rest.
Corey Quinn: And as a result, you, you had different repositories, you had different teams in many cases that were responsible for different parts of that operation. We've seen a thinning of, of that abstraction layer. The CDK is one example of this. But with Wing, are you envisioning the Wing code living in the code repository next to the application code itself?
Corey Quinn: Are you envisioning it being tightly coupled? What is the, what is your, I guess, the ideal archetype of how you envision that plan out?
Elad Ben-Israel: One of the things that we're doing with Wing, and I think another thing that kind of, I came out of Amazon with a bit of a blind spot, to be honest, is this demarcation between application and platform.
Elad Ben-Israel: Because when you're working at AWS, like everybody's a DevOps engineer because obviously AWS is building infrastructure services, and so it makes sense that [00:10:00] every SDE understands what a VPC is. Right. And can configure a Redis Elastic
Corey Quinn: cash cluster. Yeah. And Amazon and absolutely nowhere else. Yes,
Elad Ben-Israel: exactly.
Elad Ben-Israel: And it makes total sense when you're inside and I, and when you're starting talk, when you start talking to companies outside of AWS that you're really, you're realizing. More and more that, that there, there are two problem domains, right? Like there's the problem domain of the developer who is responsible to solve problems for the business, for the users of, for the customers of the business.
Elad Ben-Israel: And there's the problem domain of the technology, of the infrastructure of the system, right? Like the, the, the, the thing that traditionally system administrators were responsible and DevOps and platform teams and this demarcation line between the problem domains. Is really important because if it's a good one, it enables each one of those personas to be independent, right, to deliver independently.
Elad Ben-Israel: Like developers are able to actually deliver applications and system [00:11:00] ad admins or platform teams are able to maintain the platforms and set policies and security and and compliance and all those good things. And what happened with the cloud is we basically lost this demarcation line, right? Like we in Kubernetes, this line is too high.
Elad Ben-Israel: Developers are. I call them containerized, right? Like they're just like shoved into the container and their world is this one little container that's like spinning inside,
Corey Quinn: build whatever you want. It doesn't exist inside of the container. It feels like it's, the whole point of DevOps is let's break down the wall between dev and ops and then containers are, yeah.
Corey Quinn: And now let's put a giant wall between dev and ops. And it feels like it's a sine wave. It's a, it keeps vacillating between two extremes.
Elad Ben-Israel: Exactly. And in serverless it's, it's almost the opposite. Serverless is more like Amazon. Developers own too much, right? Like they actually own both the application, the the functional side, but also they find themselves configuring VPCs and VPC endpoints, right?
Elad Ben-Israel: Which is like. [00:12:00] Completely lunatic. Like why would a DA developer at Airbnb need to, to understand how to configure a V VPC endpoint? That's like not valuable to anyone, right? And it it
Corey Quinn: small scrappy startup for people building things in their spare time, oh, I need to configure a VPC endpoint. They get surprised at the end of the month when it starts charging them a penny an hour where it's, oh, that, that turned into money.
Corey Quinn: And I configured six of them. Huh? There goes the Robin budget. So there's a, there, there's all these nuances and people always feel like they're getting surprised by some new aspect of the platform as it continually grows and evolves. Yeah.
Elad Ben-Israel: Yeah. And so what we're trying to do with Wing is basically put the line in the right place.
Elad Ben-Israel: And that's not easy because the beauty of the cloud is that developers are now able to leverage capabilities from this new type of computer, right? Like if I'm a developer and I want. An API gateway, or I want a queue, or I want a topic, or I want a bucket. All of those things have like functional roles in my application.
Elad Ben-Israel: And so in, for all intents or purposes, they're part of my [00:13:00] application, but they're also part of the infrastructure of the system. And so being able to actually in, uh, articulate. The functional side of the system by saying, I want a bucket, I want a queue, I want an API. I, I want those to be connected together.
Elad Ben-Israel: I want the, you know, when an event happens here, I wanna behave like this. All of that stuff, as far as I'm concerned, is part of the application. That's part of what the developer, I. Defines and then this, the platform wing has this concept called platform provider. And a platform provider is kind of like this adapter that takes an app, a wing application, and compiles it to a specific cloud implementation.
Elad Ben-Israel: And that's a really important piece of the, of the solution because it enables this decoupling between. The thing that applic the developers re are responsible for and the thing that platform teams are responsible for. And it also enables other really cool things like a simulation, for example. Like we actually were able to create a platform [00:14:00] provider.
Elad Ben-Israel: It takes your application and runs it, runs it locally on your machine, and it simulates the API gateway and simulates the buckets and simulates the queues and simulates because those from a functional perspective. They can behave exactly like the, the application expects them to behave. And so having this demarcation line at the right place is, uh, really an enabling aspect of, of the solution.
Elad Ben-Israel: And I'm really curious to see where, where this would go, because I feel like that's really trying to solve a fundamental challenge with how people are building on.
Corey Quinn: It's become a strange world where it used to be, well, you have servers sitting in a room somewhere and we're gonna have code that runs on them and, and there were inherent separations there.
Corey Quinn: Then serverless kind of changed a whole bunch of things. Now, of course, it feels like AWS is trying to actively redefine what serverless even means on the, their original website when it launched, they said it scales to zero. Now they're slapping the word serverless onto a bunch of things where it doesn't scale to zero and it starts [00:15:00] to look a hell of a lot more, like it's just a fancy word for managed service.
Corey Quinn: And it, it's starting to almost become a watered-down distinction without meaning. What's your take on that? I think
Elad Ben-Israel: we kind of ruined this term. It's a really nice term that I think we kind of managed to destroy as an industry. And I don't know what happened really, and what's the culprit, but I think the way I, I am thinking about it more and.
Elad Ben-Israel: An application to use resources as it needs them. So definitely the flexibility and the ability to scale either to zero or not to zero. But I think being able to scale up and down based on your needs and not having to manage resources at the machine level. And I think like that, that would be the distinction that I, that I'm making.
Elad Ben-Israel: And so if I'm managing a Kubernetes cluster. Then Kubernetes itself is not serverless, right? Like Kubernetes itself as a, [00:16:00] as a, as a platform team that manages the cluster. I need to manage machines. I need to manage capacity, I need to manage CPU memory, right? Like, there's like a bunch of resources that I have to manage.
Elad Ben-Israel: But if, if I'm a developer and I wanna deploy container. On this Kubernetes cluster, then I get a serverless experience, right? I can basically say, give me five instances of this container, or give me, uh, uh, auto, an auto scale it, an auto-scaling set of instances on this, on this Kubernetes cluster. And then from a developer's perspective, from the application's perspective, it's a serverless, uh, solution.
Elad Ben-Israel: So I don't even, I wouldn't even say if. I would define it on the line of like what's managed and not, what's not managed. I think it's more around the relationship between the application and the infrastructure and I think like that's to me, but I don't know. What do you think? This is definitely been. I,
Corey Quinn: I think it's the, the problem is I think when AWS talks about these things, it comes across as inherently self-serving.
Corey Quinn: And I do not believe that that is their intention. [00:17:00] Truly. I don't, I think that's how it comes across. I think that once you cross a certain point of scale and success, uh, in the system we work in, that it is easy to, to lose sight of the fact that no one is going to take what you do in anything but the least charitable way.
Corey Quinn: And that is a, that is a problem. I dunno how you fix it. It's also, frankly, not my problem, how to fix it. I don't, almost don't care why it is the way that it is. I care about the reality now, which is when they say we have a serverless offering here, you really have to start peeling back the layers and figure out what it means just because the word has become almost meaningless.
Corey Quinn: Uh, cloud native is very similar in a bunch of respects. Where effectively, cloud native, industry wide has turned into it, is something that I can sell you now. And I have a talk coming up at SREcon, where among other things I'll be pointing out that, uh, well, maybe, maybe I'll do, maybe I'll say this one for scale, but regardless, there's A, My point is, is that Kubernetes itself is inherently [00:18:00] not cloud-native, and that's going to cause a kerfuffle.
Corey Quinn: But what Kubernetes does fundamentally. Is that it provides a cloud around things that aren't cloudy. Great to run at a data center for that reason. But if you're already on top of a cloud provider, you're effectively duplicating a bunch of abstractions. You're hiding anything meaningful and useful from what the infrastructure provider sees, and it really does become turtles all the way down.
Corey Quinn: It's an unfortunate. Troubleshooting experience. It's very expensive. Telemetry becomes a living nightmare, etc. Etc. Etc. And it becomes a whole mystery puzzle box, murder mystery, that, that's my take on it since the us this is why people generally don't ask me things, but, but there we have it.
Elad Ben-Israel: I, I, I, I generally agree.
Elad Ben-Israel: My view is that there's, there's a, there's a lot of forces happening, you know, in this industry, and I feel like Kubernetes has, has definitely been a great way for, you know, Google and, and other forces that stand behind it to basically level the level, the playing field of the cloud when competing with AWS.
Elad Ben-Israel: And [00:19:00] so I think that, as you say, there's like, it's hard to. Decouple the, you know, the commercial and, uh, you know, force commercial forces and interests behind those technologies. And I think Google had done, you know, in Kubernetes and CNCF had done an amazing job. And I think Kubernetes as a technology is as an amazing technology for orchestrating containers.
Elad Ben-Israel: That's not what I would call cloud native, right? Like, I think is almost the opposite of Kubernetes.
Elad Ben-Israel: Of scale of the cloud or the ability to, to lean on, on, on someone else to solve a problem for you through a managed service is really hard to do in Kubernetes, like Kubernetes doesn't encourage you to do that. Like it actually encourages you to like deploy services inside your Kubernetes cluster and maintain them and operate them yourself.
Elad Ben-Israel: And so I. Kind of dug a hole, dug ourselves into holes. I think [00:20:00] serverless has gone to this, you know, both, both sides, both, both paradigms have, uh, kind of managed to dilute, dilute the messaging in a sense. And, and to be honest, one of the things that we're trying to do with Wing is we're trying to say, you don't have to be a serverless shop or a Kubernetes shop, right?
Elad Ben-Israel: Like, that's not. That shouldn't be part of your identity as a, as an engineering organization, as a developer team, right? Like you need to be able to use the right tools to solve the problems that you want. And if you want, if you need a, a long-running service, then you can use a container. And if you need something that reacts to an event, then you can use a, a function.
Elad Ben-Israel: A function as a service, uh, compute platform if you need a database and use a database, right? The whole idea is to create this unified model that can hold all of this. Together and, and give you a way to use a the same programming experience and the same programming workflow across those technologies and choose the right technology and also change them, right?
Elad Ben-Israel: [00:21:00] Also make a decision. Well, I'll start with serverless because it's like really quick and really easy to start. And then at some point I'll bring in a DevOps team and I'll install a Kubernetes cluster and I'll move some of those services to Kubernetes. But from the applications perspective. There's no difference, right?
Elad Ben-Israel: Like it's the same application because functionally nothing had, nothing had changed. Does that make sense? I dunno.
Corey Quinn: No, it absolutely does. I mean, I've observed a number of times now that every AWS services is for someone, but very few services are for everyone because you. I don't know what the future holds for the DBA profession, but I don't want it to be, I don't think they want it to be figuring out which of the 40 managed database services that AWS offers are fit for purpose for them without exaggerating and misusing things as databases.
Corey Quinn: We're damn near 20 already. I. So by, by having a standardized, just abstracting it away, things like that, it, it feels like it, it smooths the path. And yeah, there are some things you need to branch out on down the road, but it [00:22:00] solves the analysis paralysis problem super early on. Which is why, I guess I'm, I'm interested in your, in the, your whole story around the monetization aspect of it.
Corey Quinn: Writing a programming language to configure cloud resources doesn't sound like it's the most lucrative thing in the world because, oh, we're gonna charge for the programming language. Sounds like a great way to never have anyone touch you, ever. So Wing Cloud being the company aspect of it where you provide a bunch of hosted infrastructure services behind it.
Corey Quinn: Seems to make a lot more sense there, but it almost just based on naming a loan and without diving into it, my immediate concern on that would be, okay, does that mean that the Wing programming language is gonna do what a lot of freemium or open source style things do where, oh, it works, but now it's clear that, oh, there's a whole set of functionality.
Corey Quinn: You'll be reminded on every step of the way that if you're using this thing, then it behaves as it would be intended. Otherwise, you've got a bunch of work to do yourself, which I, I've never loved the model.
Elad Ben-Israel: Yeah, that's not the model, so. You can, uh, rest assured. So first of all, [00:23:00] we, we really suck at message messaging and we need to improve and we need to like be more, I think like there's a lot of work.
Corey Quinn: Well, your XAWS that sort of comes with the territory, I would have to assume. Yeah.
Elad Ben-Israel: Maybe I didn't get the right education, that's for sure. Um, so yeah, Wing Lang and the Wing framework, the open, the SDK, that, that's kind of like standard library of Wing are both open source, Apache. I believe that's the only way to do this, right?
Elad Ben-Israel: Like I really don't, don't think that there's another way to build something like a programming language and an SDK for the cloud without them having being open source. And I would even say, I really hope that at some point we'll be able to donate them to CNCF or to Linux Foundation, or I really do believe that this should be a community driven project.
Elad Ben-Israel: And we've, we started from that. Like that's a very unique position to start as a startup company to like go and say, we. A lot of time and a lot of energy to build something that's like completely [00:24:00] donated to the, the, the community. And we're absolutely genuine about it, right? Like there's nothing about what we're doing that we are, we're trying to hide or change or, you know, like, so, so, but the way I see it is if you think about the software development life cycle, there's development and then there is basically build, test, deploy, preview, operate.
Elad Ben-Israel: The, the distinction that we have between Wing, the language and the commercial side of Wing is develop, everything around development is, is gonna always be open source and Wing compiles to Terraform and JavaScript. And so you can write your code or, or to CloudFormation and JavaScript or like, you can actually choose which cloud provider you're using and which provisioning engine.
Elad Ben-Israel: Um, and it's an open, it's an open model. Like this platform provider can actually. A Pulumi provider, right, for Wing, and that should work out of the box and, and so when you [00:25:00] compile a Wing, you get a deployable unit, you can get a deployable packet and you can go and deploy it into your cloud provider. And that's it.
Elad Ben-Israel: And you're not, you know, don't have to buy anything from us. But the way we think about it is that our mission in a way is to enable this idea of you build it and you own it. For developers on the cloud, and my interpretation of this, of this slogan is that developers wanna own their applications across the life cycle.
Elad Ben-Israel: So from development all the way to production. But not across the stack. Not down the stack. And so going back to what, uh, we talked about earlier, you have this like platform and application boundary. And, and so WayneCloud basically takes your application from development to production and everything that's like on the right, uh, build, deploy, uh, preview, operate.[00:26:00]
Elad Ben-Israel: All those things are part of the commercial offering. And even there.
Elad Ben-Israel: Connect to your existing cloud environment and not to reinvent the wheel or replace your cloud environment with a different cloud environment. Because we know the, the whole, the beauty of the cloud is, is choice, is the ability to actually choose the right tools for the job. And so if we. Say that we know exactly how to build everything and it'll work for every use case.
Elad Ben-Israel: That doesn't make sense. So we can build, uh, you know, something like a platform as a service, and we're actually working on something like that to enable specific types of use cases. But our commercial offering is actually very, very modular. So you'd be able to actually install. Wing cloud in your cloud environment and connect it to your CICD systems and o uh, observability systems.
Elad Ben-Israel: But you will still get this experience, developer experience across the life cycle of the application. Again, development should always be open source, [00:27:00] should always be. I, I don't believe in charging developers for tools. I really, I don't know. My purity, I guess I,
Corey Quinn: I have a little sensitive to it at the moment.
Corey Quinn: Again, in, in my day job, we're a small company. Yes. But I have this ancient old-timey belief in if I'm, if I'm using something to make money off that I should pay for the commercial version of that thing. But I'm also giving a couple of talks in March, and for one of them I am finally building myself a Kubernetes 'cause I need a test lab, just one.
Corey Quinn: I. I pluralized weirdly, but it's sitting in the other room. So great. I'm building up a bunch of these things and so much of what I see. I am besieged with upsells at every opportunity, which. That's great, but it's basically five raspberry pies and a Rebadged Mac Mini that are sitting there running together.
Corey Quinn: I don't really have a Fifty-thousand-dollars a year software budget for this thing in case the crappy low-end hardware didn't give it away. It's a. This is just a homelab-style learning experience. So [00:28:00] yeah, take the crappy path. And it seems like in some cases they're almost intentional, sharp edges put into place where, oh, now you get to go wrestle with, uh, with a bunch of open-source stuff rather than the seamless experience that we offer.
Corey Quinn: And it's a, it leaves a bad taste in the mouth. That said, I think that a problem, part of the problem a lot of these things offer is they still, they don't offer a reasonable free tier for the ex, the late night experimenter to get started with even people in production environments. You might work at an enormous company that's using this stuff at massive scale, but you're signing authority craps out at something like 50 bucks.
Corey Quinn: So you, you need to be able to kick the tires on something without sending something up a flagpole for approval. And that is something I think a lot of go-to-market motions tend to miss, make it the, make the easiest, most straightforward path forward for experimentation and dev work to be using the, the best expression of what you have to offer if you intentionally make the experience crappy.
Corey Quinn: I. People are, people aren't going to say, oh, if I pay you money, [00:29:00] maybe it'll get better. They'll say, maybe if I use some competing product, I'll have a better experience.
Elad Ben-Israel: Yeah, I think it's a, you know, the relationship between open source and uh, commercial has always been. Tumultuous. People
Corey Quinn: want the upsides and then they don't like the
Elad Ben-Israel: downsides.
Elad Ben-Israel: It's no, I think like it's, it's kinda like this dance. I think I, that's what I said when, you know how she changed the, the license for Terraform and it was fascinating to be honest. To see, to see what's happening and. I'll admit I did. I didn't immediately take the side of the open source, you know, community and I'm.
Elad Ben-Israel: Absolutely empathetic to it. It's a, again, there's a, it's a very, very complete complicated situation. You know, what the Hashi got themselves into. But I, I'm also talking to a lot of other founders, especially in the Kubernetes uh, ecosystem with where open source is very [00:30:00] prevalent. It's kind of like almost the table stakes, and I think the models are really complicated.
Elad Ben-Israel: It's really hard to kind of figure out the right relationship between. Commercial and open source. And it's also hard for us, I'll admit, I think the harder part for us is actually when we go to customers and we try to sell them, it's hard for us to actually put the boundary between the open source and the commercial because we, we try to sell them a solution, right?
Elad Ben-Israel: Like we try to give them a solution to a problem. Not to sell them an open source, a product project, or not to sell them a a product. And the whole, the beauty of the solution that we're trying to sell them is that it, there's this continuous motion between the open source and the commercial side. But again, it doesn't mean that they can't choose the open source if they want it.
Elad Ben-Israel: And it's not where we're trying to make it harder for them to. Two other things. It's just that we're, we're, we're saying part of this experience is something that we are charging for, and so I don't know if that's helpful or not, but it, it is a very complicated subject and I think like every product [00:31:00] has a different.
Elad Ben-Israel: Kind of recipe for how this thing can work. And we've also seen these things blow up, you know, like with Elastic and Redis and Mongo and like, I think like, uh, there's a lot of trauma in the industry around, uh, open-source projects. I feel like there's kind of like this pendulum going back and forth
Corey Quinn: as a contributor for a lot of these things over the years.
Corey Quinn: Myself, it's like, oh, you're like, not, not a massive one, but still I did this as basically a volunteer effort for a community thing. Now you're turning around and selling it and saying some people aren't allowed to use it unless they pay you, and it's. Hang on a second. It, it makes me a lot more cynical about open source contribution to be very direct.
Corey Quinn: Now, given my level of coding ability, that's probably a good thing for the open source ecosystem, but for most people it's not
Elad Ben-Israel: good thing. Thing For humanity you mean?
Corey Quinn: Exactly. Yeah. It's like, uh, honestly, I feel like I should be able to draw a salary from a foundation somewhere. And my sole job is not writing code.
Corey Quinn: Like great, write no code, uh, build, use [00:32:00] nothing as a database. Uh, you can do this job from home. It's fine. And it'll, yeah, it'll be like that entire of it, but it feel, it feels almost like extorting, uh, humanity. That doesn't sound like a great plan. I, I really wanna thank you for taking the chance to speak with me about this.
Corey Quinn: When you look at an awful lot of services to get started with, quantum computing is on, uh, extreme end of the spectrum where the hello world tutorial is. Go get a PhD from Berkeley. Uh, other stuff is very easy and straightforward to get started with. Uh, where on that continuum does getting started with Wing fall and where should people go to do it?
Elad Ben-Israel: Hundred Print. Hello World. The WingLang GitHub Repo Winglang.io. That's our home page, and this should be summer. Getting started, uh, tutorials and playground, which you can play with. It's all, you know, we're, it's still early, you know, we didn't even release 1.0 of the project, so it's like early days.
Elad Ben-Israel: There's a really amazing Slack community that's forming around. It's so like, it's a good [00:33:00] place to hang out and share, share thoughts and give feedback and help shape where this is going. Um, but it is just getting started. So expect rough edges. And we'll of course
Corey Quinn: put a link to that in the show notes. I really wanna thank you for taking the time to speak with me today.
Corey Quinn: I,
Elad Ben-Israel: I really appreciate it. Me too. It was, it was always fun. I hope to, uh, meet up at re-Invent soon. Oh yeah. Oh,
Corey Quinn: you say soon? Soon. A year. If I don't be ridiculous. That's only 11 months. Oh no. It's only 11 months away. Yeah,
Elad Ben-Israel: yeah, yeah, dear. Missed the, I didn't last one and I kind of regret it because. It's a fun, it's a fun, it's a, it's intense, but it's a, it's a fun event.
Elad Ben-Israel: Thank
Corey Quinn: you so much for taking the time to speak with me. I, I really do appreciate it. Elad Ben-Israel, CEO, and Co-founder of Wing Cloud. I'm cloud economist, Corey Quinn, and this is Screaming in the Cloud. If you've enjoyed this podcast, please [00:34:00] leave a five-star review on your podcast platform of choice, whereas if you hated this podcast.
Corey Quinn: Please leave a five-star review on your podcast platform of choice, along with an angry, insulting comment defending the good name of Pearl.