diff --git a/blog/2022-11-23-manifesto.md b/blog/2022-11-23-manifesto.md index d37807e8a..1d6d274ff 100644 --- a/blog/2022-11-23-manifesto.md +++ b/blog/2022-11-23-manifesto.md @@ -9,6 +9,8 @@ hide_table_of_contents: true > A manifesto for cloud-oriented programming. + + Don't get me wrong, I love the cloud! It has empowered me to build amazing things, and completely changed the way I use software to innovate and solve problems. @@ -23,8 +25,6 @@ don't want servers under my desk" to "my app needs 30 different managed services to perform its tasks", we kind of lost track of what a great developer experience looks like. - - Building applications for the cloud sometimes feels like spilling my kids' bag of unused Lego blocks all over the living room floor, and trying to build a castle. After going through torn up play cards, scary Barbie-doll heads, and diff --git a/blog/2022-12-28-magazine-001.md b/blog/2022-12-28-magazine-001.md index a084fca56..ae48b318e 100644 --- a/blog/2022-12-28-magazine-001.md +++ b/blog/2022-12-28-magazine-001.md @@ -12,12 +12,14 @@ tags: [cloud-oriented programming, winglang, newsletter, updates, inflights, com hide_table_of_contents: true --- +> The first ever issue of the **Wing Inflight Magazine**. + + + Welcome to the first ever issue of the **Wing Inflight Magazine**, our periodic update on what's up (yes, two puns) with the [Wing Programming Language](https://winglang.io), and the community that is starting to gather around the mission to democratize cloud development. - - We will try to publish these frequently to keep them short and sweet, but given this is our first issue since the alpha release, there is a bit more ground to cover. @@ -306,28 +308,28 @@ guidelines and programming patterns. To whet your appetite, here is the list of resources we are considering for our beta. This is just a snapshot from the RFC at the time of this writing to give you a sense of what we are discussing. -|Resource |Priority|Description -|-----------------|--------|----------- -| Bucket | P1 | object storage, similar to AWS S3, Azure Blob Storage, GCP Storage -| Queue | P1 | a message queue, similar to AWS SQS, Azure Storage Queues, GCP Pub/Sub -| Function | P1 | a serverless function, similar to AWS Lambda, Azure Functions, GCP Cloud Functions -| Topic | P1 | a pub/sub topic, similar to AWS SNS, Azure Event Grid, GCP Pub/Sub -| Logger | P1 | a log aggregator -| Tracer | P1 | a distributed tracing system, similar to AWS X-Ray, Azure Application Insights, GCP Stackdriver Trace -| Counter | P1 | an atomic counter -| Schedule | P1 | a cron job / scheduled task trigger -| Website | P1 | a CDN-backed static website -| Api | P1 | a REST API -| Metric | P1 | a metric for monitoring system performance -| Alarm | P1 | an alarm that triggers when a metric crosses a threshold -| Service | P1 | a long-running service, similar to AWS ECS, Azure Container Instances, GCP Cloud Run -| Table | P2 | a relational database table -| Key-value store | P2 | a lightweight key-value store, similar to Redis or Memcached -| Job | P2 | a long-running compute workload that can be run on demand -| Workflow | P2 | a task orchestration engine, similar to AWS Step Functions, Azure Logic Apps, GCP Workflows -| Secret | P2 | a secret value, similar to AWS Secrets Manager, Azure Key Vault, GCP Secret Manager -| Stream | P2 | a stream of events, similar to AWS Kinesis, Azure Event Hubs, GCP Pub/Sub and Dataflow -| OnDeploy | P2 | a variation of Function that runs every time the app is deployed +| Resource | Priority | +|-----------------|----------| +| Bucket | P1 | +| Queue | P1 | +| Function | P1 | +| Topic | P1 | +| Logger | P1 | +| Tracer | P1 | +| Counter | P1 | +| Schedule | P1 | +| Website | P1 | +| Api | P1 | +| Metric | P1 | +| Alarm | P1 | +| Service | P1 | +| Table | P2 | +| Key-value store | P2 | +| Job | P2 | +| Workflow | P2 | +| Secret | P2 | +| Stream | P2 | +| OnDeploy | P2 | We would love to get your comments and thoughts on this important [pull request](https://github.com/winglang/wing/pull/858), which will be used to prioritize the diff --git a/blog/2023-02-02-good-cognitive-friction.md b/blog/2023-02-02-good-cognitive-friction.md index c20c1590f..56c73d324 100644 --- a/blog/2023-02-02-good-cognitive-friction.md +++ b/blog/2023-02-02-good-cognitive-friction.md @@ -7,6 +7,10 @@ tags: [cloud-oriented programming, winglang, immutability, let, var, inflights, hide_table_of_contents: true --- +> Why we are making Wing immutable by default. + + + [Chris Rybicki](https://twitter.com/rybickic) has recently added support for `let var` to Wing (see the [pull request](https://github.com/winglang/wing/pull/1180)), and I thought it might be a good opportunity to share our thoughts on the topic of immutability in Wing. diff --git a/blog/2023-02-17-plugins.md b/blog/2023-02-17-plugins.md index bc3891947..bf6107198 100644 --- a/blog/2023-02-17-plugins.md +++ b/blog/2023-02-17-plugins.md @@ -7,7 +7,9 @@ tags: [cloud-oriented programming, winglang, resources, preflight, inflight, iac hide_table_of_contents: true --- - +> Customizations below the abstraction line with Wing compiler plugins. + + Okay, so you have decided to write your amazing application in Wing. You have enjoyed the benefits of Wing's cloud-oriented programming model and high level abstractions. Everything works great, the diff --git a/blog/2023-02-17-preflight-vs-inflight.md b/blog/2023-02-17-preflight-vs-inflight.md index 7792f9b31..8cd7b39ac 100644 --- a/blog/2023-02-17-preflight-vs-inflight.md +++ b/blog/2023-02-17-preflight-vs-inflight.md @@ -7,6 +7,10 @@ tags: [cloud-oriented programming, winglang, resources, preflight, inflight, iac hide_table_of_contents: true --- +> Why does Wing let you only create resources in preflight? + + + There are two ways to create resources in the cloud: in preflight, or in inflight. In this post, I'll explore what these terms mean, and why I think most cloud applications should avoid dynamically creating resources in inflight diff --git a/blog/2023-04-27-magazine-003.md b/blog/2023-04-27-magazine-003.md index 4881fa55e..1d71cc722 100644 --- a/blog/2023-04-27-magazine-003.md +++ b/blog/2023-04-27-magazine-003.md @@ -7,6 +7,10 @@ tags: [cloud-oriented programming, winglang, newsletter, updates, hackathon, ext hide_table_of_contents: true --- +> The 3rd issue of the Wing Inflight Magazine. + + + Hey everyone! We're delighted to share with you the third ever issue of the **Wing Inflight Magazine** diff --git a/blog/2023-07-18-wing-cloud-launch.md b/blog/2023-07-18-wing-cloud-launch.md index 0ca202a50..4914a9724 100644 --- a/blog/2023-07-18-wing-cloud-launch.md +++ b/blog/2023-07-18-wing-cloud-launch.md @@ -1,12 +1,18 @@ --- -title: We are not giving up on the cloud! -description: Announcing our seed funding round for Wing Cloud +title: Announcing Wing Cloud +description: We are not giving up on the cloud authors: - eladb tags: [wing cloud, funding, seed, press release] hide_table_of_contents: true --- +> We share our vision for Wing Cloud, and updates about our recent funding round led by [Battery +> Ventures](https://www.battery.com), [Grove Ventures](https://www.grovevc.com) and [StageOne +> Ventures](https://stageonevc.com/). + + + All comedowns are painful, and it seems like our come down from the cloud's [hype curve](https://en.wikipedia.org/wiki/Gartner_hype_cycle) is no different. When [@dhh](https://twitter.com/dhh) writes about ["Why we're leaving the @@ -89,6 +95,9 @@ objects in traditional languages. The compiler takes care of the mechanics requi resource, configure the minimal IAM permissions and wire up the infrastructure configuration so your code can interact with this resource at runtime. +![](./assets/wing-code.png) + + You might be wondering why this couldn't be implemented as a library within an existing language. This is because existing languages don't have primitives that can naturally express the distributed nature of cloud applications. To support this, Winglang has two execution phases: *preflight* and @@ -138,6 +147,8 @@ through this [compatibility matrix](https://www.winglang.io/docs/standard-library/compatibility-matrix) and make sure to "+1" the relevant issue if coverage is missing. +![](./assets/matrix.png) + Currently, WCL only supports Winglang, but we are interested in offering it in other languages as well. The library is built using CDK technologies such as [JSII](https://github.com/aws/jsii) and [constructs](https://github.com/aws/constructs), so technically it is possible to publish it to @@ -190,7 +201,6 @@ and with other pieces of my system. To that end, the Wing language, the SDK and the Wing Console all work together to offer first-class support for [cloud testing](https://www.winglang.io/docs/concepts/tests). - Tests in Wing are multi-cloud by default and can all run in parallel because they use cloud functions as their compute resource. Every test you write can be executed locally in the cloud @@ -203,7 +213,7 @@ applications. It displays a visual diagram of your application which shows the h structure of your system as well as the relationships between resources. In the future, it will show Open Telemetry events as the system is activated. - +![](./assets/console-2.png) In the console, each resource also has a dedicated UI which can be used to interact with the resource. You can invoke functions, push messages to the queue, download and upload files to a @@ -270,15 +280,15 @@ within a company in a streamlined way for developers. ### We are just getting started -We believe in the cloud. We believe in its economic sense and in its diversity which enables choice. -We believe we'll be building stuff on the cloud for the foreseeable future - even with AI around. We -think our industry is ready for a model that transcends specific providers or stacks and gives -developers the right tools to build. -We know it's a big journey, and we couldn't be more excited to embark on it with these incredible -partners, and the amazing team and community that's forming around this vision. +We believe in the cloud. We believe in its economic sense and in its diversity, flexibility and +choice. We believe we will be building stuff on the cloud for the foreseeable future, even with AI +around. We think our industry is ready for a model that transcends specific providers or technology +and gives builders the right tools to build. + +We know it's a big journey, and we couldn't be more excited to partner with these incredible +investors, amazing team and the awesome community forming around this vision. -We hope to make the cloud a better place to build software, so don't give up on it. We are certainly -not. +We are here to make the cloud a better place to build software. -Welcome to Wing Cloud! \ No newline at end of file +**Welcome to Wing Cloud! :wave:** \ No newline at end of file diff --git a/blog/2023-07-18-winglang-demo.md b/blog/2023-07-18-winglang-demo.md new file mode 100644 index 000000000..11fa22327 --- /dev/null +++ b/blog/2023-07-18-winglang-demo.md @@ -0,0 +1,17 @@ +--- +title: "Video: Quick Introduction to Winglang" +description: Elad Ben-Israel provides a quick +authors: + - eladb +tags: [wing cloud, funding, seed, press release] +hide_table_of_contents: true +--- + +> Elad Ben-Israel in a (reasonably) short introduction to the Winglang. We walk through a simple +> example to demonstrate the unique capabilities of Winglang as a programming language for the +> cloud. + + + + + diff --git a/blog/2023-3-5-magazine-002.md b/blog/2023-3-5-magazine-002.md index ada6bf57c..c7c1a1fe8 100644 --- a/blog/2023-3-5-magazine-002.md +++ b/blog/2023-3-5-magazine-002.md @@ -12,6 +12,10 @@ tags: [cloud-oriented programming, winglang, newsletter, updates, inflights, com hide_table_of_contents: true --- +> The 2nd issue of the Wing Inflight Magazine. + + + Hi there! We're excited to share with you the second issue of the **Wing Inflight Magazine** diff --git a/blog/assets/console-2.png b/blog/assets/console-2.png new file mode 100644 index 000000000..ae882bc91 Binary files /dev/null and b/blog/assets/console-2.png differ diff --git a/blog/assets/matrix.png b/blog/assets/matrix.png new file mode 100644 index 000000000..bd4e96196 Binary files /dev/null and b/blog/assets/matrix.png differ diff --git a/blog/assets/wing-code.png b/blog/assets/wing-code.png new file mode 100644 index 000000000..dbb957b96 Binary files /dev/null and b/blog/assets/wing-code.png differ