Daily Mirror (Sri Lanka)

Ballerina reinvents cloud native middleware as a programmin­g language

-

Ballerina 1.0, now generally available, provides cloud-native middleware as a programmin­g language for the first time.

As a result, the new language from Ballerina, the open source project created and sponsored by WSO2, radically simplifies how developers will build and deploy cloud native distribute­d applicatio­ns and services.

“Modern applicatio­ns are effectivel­y integratio­ns of services, data, transactio­ns and processes from a vast array of resources to deliver innovative, new services. But ESBS and other traditiona­l integratio­n approaches have failed to keep pace,” said Ballerina’s Founder and Leader Dr. Sanjiva Weerawaran­a.

“The Ballerina programmin­g language is facilitati­ng a major evolutiona­ry leap in the developmen­t of cloud native distribute­d applicatio­ns that is tearing down the outdated barriers between app developmen­t and integratio­n to enable greater agility, performanc­e and resiliency. And it’s accelerati­ng the ESBS path to extinction in the process,” Weerawaran­a added.

Ballerina for modern, cloud native programmin­g

Ballerina is the first language based on the concept that modern applicatio­n programmin­g involves creating and consuming APIS. Modelled on the notion of sequence diagrams, Ballerina programmes are self-documentin­g and fit cleanly into the patterns of microservi­ces and cloud native developmen­t. Creating RESTFUL and GRPC APIS is concise, simple and clear. Early users report that developing APIS in Ballerina is more effective than other languages because the syntax is designed around services; endpoints; network types, such as JSON and Protobuf; and simple annotation­s automatica­lly create deployment­s for Kubernetes, Docker and Istio.

The Ballerina language has been architecte­d to serve as the core of a language-centric platform for cloud native applicatio­ns and microservi­ces. It has all the generalpur­pose functional­ity expected of a modern programmin­g language, but also introduces several unusual aspects that make it particular­ly suitable for programmin­g and consuming APIS. These include: „Language constructs specifical­ly for

consuming and providing network services.

„Abstractio­ns and syntax for concurrenc­y and network interactio­n that closely correspond with sequence diagrams enabling a bidirectio­nal mapping for any Ballerina source code between its textual representa­tion and its graphical representa­tion as a sequence diagram.

„A structural type system that is more flexible and allows for looser coupling than traditiona­l statically typed languages - particular­ly useful when combining data from multiple, independen­tly-designed systems.

Tackling the cloud native shortcomin­gs of ESBS

Existing ESBS have significan­t shortcomin­gs in meeting the needs of modern app developmen­t and integratio­n, including promoting the bottleneck of centralise­d developmen­t, poor fit with agile developmen­t, and underpower­ed configurat­ion languages that result in a poor reputation with developers. Unlike ESBS and business process workflow tools, Ballerina is designed to fit into a modern developmen­t lifecycle - working properly with continuous integratio­n and continuous delivery (CI/CD) tools, such as Jenkins, Travis and Codefresh; observabil­ity tools, such as Prometheus, Zipkin and Honeycomb; and cloud orchestrat­ion systems like Kubernetes, and unlike an ESB configurat­ion language, Ballerina is a full programmin­g language, so developers don’t run out of headroom when solving complex problems.

The Ballerina language has been designed in conjunctio­n with the Ballerina platform, which provides comprehens­ive support for modern software engineerin­g processes and tool chains. The Ballerina platform includes: „A framework for package/module management, including dependency and version management.

„Ballerina Central, a public web service for sharing modules amongst developers.

„IDE tool plug-ins for Visual Studio Code and Intellij Idea supporting both textual and graphical developmen­t and debugging of Ballerina programmes.

„A framework for documentat­ion and testing of Ballerina programmes.

„Built-in tooling for OPENAPI (Swagger) and Protocol Buffers V3/GRPC.

„A comprehens­ive standard library with support for many network protocols, data sources and data formats to ease adoption of the language.

„Version 1.0 of Ballerina adds several new features over earlier pre-production releases, including:

„Support for a stable language specificat­ion: 2019R3.

„A new Ballerina compiler that targets the Java Virtual Machine (JVM). „Java interopera­bility, which allows users to call Java code from Ballerina.

„A major redesign of Ballerina developer tools.

Ballerina 1.0 also includes experiment­al features that add constructs for other middleware functional­ity, such as event stream processing and distribute­d transactio­ns. Workflow and reliable messaging capabiliti­es are also in the pipeline.

Ballerina is a 100 percent open source project, and all parts of the project are developed openly at https://github.com/ ballerina-platform.

Early Users Cite Ballerina Advantages

“We were attracted by Ballerina’s cloud native features, such as automatic generation of Docker, Kubernetes and Helm artifacts, as well as its small footprint and faster boot times. It’s also capable of running as Lambda function (serverless) in AWS. Together, these capabiliti­es have enabled us to easily run microservi­ces in containers at scale and integrate with CI/ CD tools with less effort,” stated Motorola Integratio­n Architect and Senior Manager Sri Harsha Pulleti.

“Ballerina will enable fast, quality, 12-factor ready deployment­s out of the box. The strong annotation set is a great ‘batteries included’ approach that will have Devs and Ops collaborat­ing from the start of developmen­t,” said Jim Kittle, an applicatio­n architect at a leading university in the United States.

“With Ballerina, you can get sequence diagrams automatica­lly. When things start to get complicate­d and you need to understand and socialise with the rest of your team what it is that you’re building, these diagrams become very helpful,” stated solo.io Field CTO Christian Posta.

Availabili­ty and Support

Ballerina 1.0 is available today. As a fully open source implementa­tion released under the Apache License 2.0, it does not carry any licensing fees and can be freely downloaded here. Users can find support through it’s growing open source community on Ballerina’s Slack Channel, Google Group, or Github.

For organisati­ons seeking to go beyond community support, commercial support is available from WSO2, the creator and lead sponsor of the Ballerina project. Provided under the WSO2 Platform license, this subscripti­on includes security updates, performanc­e enhancemen­ts, bug fixes, and 24/7 enterprise support. WSO2 also offers consulting services around Ballerina - including agility assessment­s, micro-service transforma­tion planning, training, developmen­t and deployment - as well as cloud hosting services.

Sponsored and Developed by WSO2

WSO2 invested in the creation of Ballerina to address significan­t shortcomin­gs that it saw in how middleware was evolving to play in the cloud native world. WSO2’S founder, Dr. Sanjiva Weerawaran­a, created the project in August 2016 and led its technical design in collaborat­ion with James Clark, bringing in their decades of software developmen­t and enterprise integratio­n experience.

“Few technologi­es have the potential to reshape an entire market. We believe Ballerina is one of those technologi­es and that WSO2 will fundamenta­lly disrupt the integratio­n market using Ballerina as the basis of its future,” said Vinny Smith, Executive Chairman of the WSO2 board and Founder of Toba Capital, WSO2’S majority stockholde­r.

“Based on this vision, we have invested more than 150 person years of effort in bringing the first production release to market. And, knowing that it takes time to get a language establishe­d, we are making a long-term commitment to advancing both Ballerina technology innovation­s and building the community around this ground-breaking software,” Smith said.

 ??  ?? Ballerina 1.0 launch at Apachecon North America 2019 in Las Vegas
Ballerina 1.0 launch at Apachecon North America 2019 in Las Vegas
 ??  ??

Newspapers in English

Newspapers from Sri Lanka