Content Copyright © 2023 Bloor. All Rights Reserved.
Also posted on: Bloor blogs
Just over a year ago I posted a blog on the Bloor website entitled “Cloud is easy. Cloud is hard.” Yesterday my colleagues David Norfolk, David Terrar and I had a briefing from a technology startup called Wing Cloud that immediately brought to mind that blog and, in particular, this passage from it…
Even in a cloud native world, complexity and complications abound. Open source, DevOps, micro-services, containerisation and other developments have contributed hugely to the success of the Cloud. But the pace of application development and deployment has left IT operations teams paddling like fury to keep up. In a world where what was once handled by the vendor inside the mainframe, has now been broken out into its component parts and physically distributed all over the network. Despite the promise of DevOps collaboration, in a Cloud world it always seems that IT Ops is left to plug the holes that appear.”
Listening to Wing Cloud founders, CEO Elad Ben-Israel and COO Shai Ber, I was struck by how similar their analysis of the challenges of developing and running applications in today’s multi-cloud world were to what I had written last year.
Wing Cloud was founded last year and has just announced itself to the world (hence our briefing). Despite its name it is not another cloud service provider. I can’t better Elad’s description of what Wing Cloud does from his blog announcing its arrival. “…it’s a layer that enables builders to harness this general-purpose computing platform through a programming and operational model that unifies both infrastructure and application and works across all cloud providers and services.”
At first glance, with execution split into two categories, pre-flight and in-flight, it appears that, far from unifying applications and infrastructure it is removing the need for developers to have any tasks, or even thoughts, relating to the infrastructure requirements in deployment. However Elad, Shai and the team have developed a new programming language, the Wing Programming Language (winglang). It enables developers to write code that includes both infrastructure and runtime code. This means that when a cloud resource is needed, a developer can just add it to their code in pre-flight mode and interact with it in the same way they would interact with in-memory objects in traditional languages. The compiler takes care of the mechanics required to provision the resource, configure the minimal IAM (Identity and Access Management) permissions and wire up the infrastructure configuration so the code can interact with the resource at runtime, i.e., in-flight.
Despite all the claims for the ultimate portability of, say, Kubernetes deployments, annoying little differences in cloud providers’ technical set ups can lead to additional time, effort and frustration when moving an application to a different cloud. With Wing Cloud you use a simple command to compile for a target infrastructure as code (IaC) tool such as Terraform, and the target Cloud service, e.g. AWS and everything you need is automatically configured and provisioned. This should mean that you can move your application from one cloud to another through a simple compile command, without any changes needed to the application code. That feels like portability to me.
Developers will get an additional boost due to the ability to develop, test and debug apps on a local machine without the need to deploy the code to a cloud sandbox. This will simplify and speed up the development process which should please developers. Unit tests can also be run locally, and a simulation feature will allow both developers and operations teams to observe how apps interact with the proposed infrastructure much earlier and more iteratively in the cycle. This should improve overall observability and appeal to SREs and Platform Engineering teams, as well as developers. Does this mark the advent of a truly co-operative DevOps environment? Developers and Ops staff have very different goals and objectives that make it difficult to form a truly collaborative culture as envisaged by DevOps pioneers. Wing Cloud doesn’t really change those cultural differences, but it does focus on fixing the problems caused by those differences. Maybe we don’t have to talk about DevOps anymore. If winlang is successful it will be the collaborative glue and then we can all just accept that Devs develops, and Ops operates.
In conclusion, Wing Cloud is not being used in production on customer sites yet. A fast growing and enthusiastic community of developers and eco-system partners are working with Wing Cloud, and adding to its functionality and reach. The founders and core team at the company are highly experienced and passionate cloud and digital native practitioners who have clearly identified the key inhibitors to efficient, effective and portable cloud development and operations. Wing Cloud looks like a really good start at addressing those issues and we will be keeping a close eye on its development. Given its open-source fundamentals testing it out for yourselves seems like a ‘no-brainer’ decision.