Need for a cloud application development framework
The biggest opportunity in the cloud application development market
The cloud industry
Cloud is fast changing from being a simplified infrastructure management (IaaS) to simplified application functionality management (FaaS/serverless). Developers no longer have to worry about monitor and scale infrastructure. Rather they can just focus on scaling functionalities of the application. AWS has now provides more than 165 components/services for developers to leverage. In the future cloud development will no more be about managing infrastructure of any application, rather managing application across any cloud /infrastructure provider.
The challenge of cloud-native today
There is just too much to learn! The following a sneak peek of how the tools and frameworks are evolving:
There are more than 15 public cloud providers, with each of them enabling developers with their own cloud components (like AWS provides Lambda, S3, CDN, API Gateway etc) which are native to the provider. In parallel to this containerisation of application has enabled scaling applications even on-premise. Though containers comes with its own learning curve.
It has happened before
Back in the days, with the evolution of computers and providers like Microsoft, Linux, Apple (Mac) developing applications posed a steep learning curve depending on the infrastructure you chose to develop your application on. With time application development frameworks like Java etc came into being where developers no longer had could avoid learning infrastructure specific development and just focus on the primary application logic. Also what containers are today, VMs was back then.
The need of the industry
Dev geeks are already way ahead of the curve. But to push the entire industry forward, there is a need for a development framework which enables developers to only focus on their application logic and not worry about creating learning cloud components, creating a cloud native architecture or deciding which infrastructure provider to go with. The framework should have the capability to transform the application logic into a cloud agnostic yet cloud native architecture.
Introducing kitsune, pulumi & balerina
These open source frameworks enable developers to write their application logic without having to worry about underlying cloud / infrastructure provider they want to deploy it on. The best part is they all generate a cloud native architecture for your application.
kitsune (website link)
kitsune simplified cloud native web-application development. It enables developers with a simple HTML based declarative syntax to build any kind of web application (a simple static website or a dynamic e-commerce website or real time web chat application). All the developer needs to know is html, js, css.
pulumi (website link)
It enables developers with a Javascript based syntax (more like a server side programming model) to build applications that are infrastructure agnostic. For example, you can build a serverless / cloud-native API using pulumi with few lines of code.
ballerina (website link)
A compiled, transactional, statically and strongly typed programming language with textual and graphical syntaxes. Ballerina incorporates fundamental concepts of distributed system integration and offers a type safe, concurrent environment to implement micro-services. You still need to plan your cloud native (distributed) architecture of your application, but implementing that with Ballerina is quite simple.
Summary
The cloud development space is fast evolving and one of such frameworks is going to transform the industry as it would even enable developers who are not cloud experts to be able to build infra-agnostic cloud native applications!