Get to know Ballerina with these five videos
Cloud native programming inherently involves working with remote endpoints: microservices, serverless, APIs, WebSockets, SaaS apps and more. Ballerina is a new programming language that is designed to bring code-first agility to the challenge of integrating across endpoints. The language has first-class support for distributed transactions, circuit-breakers, stream processing, data-access, JSON, XML, gRPC, and many other integration challenges. Ops and deployment should not be afterthought in true DevOps. Ballerina deploys directly onto Docker and Kubernetes.
Let’s look at the must-watch Ballerina presentations that will help you to understand the language’s core concepts and ecosystem around it.
[1] Ballerina: Cloud Native Programming Language
Presenter: Paul Fremantle
Summary: Increasingly, developers and architects are disaggregating their architectures to create more scalable and agile applications. As this happens, everything is becoming a programmable endpoint. Ballerina is a new generation of programming language designed around this problem. In this session, Paul introduces the challenges and background of why Ballerina has been created, and demonstrates the language’s core features.
[2] Ballerina is not Java (or Go or ..)
Presenter: Sanjiva Weerawarana
Summary: Ballerina is a general purpose language optimized for integration and writing network services and applications. While it looks like Java and other popular languages in some ways, it is very different from those in fundamental ways. This session explores how Ballerina is different, why it is different, and how those differences give the language an unfair advantage when it comes to writing resilient, performant, and secure network services and applications.
Link: https://ballerina.io/learn/events/ballerinacon-san-francisco-2018/ballerina-is-not-java-or-go-or/
[3] Microservice Integration & Ballerina
Presenter: Sameera Jayasoma
Summary: Ballerina is an attempt to build a modern industrial-grade programming language. One of its key objectives is to make microservices and integration-heavy programming simpler by baking integration concepts into the language, such as a network-aware type system, first-class network services, and resources along with functions/objects, distributed transactions, stream processing, etc. In this session, Sameera discusses and demonstrates how Ballerina simplifies microservices development. He also explains how Ballerina helps to achieve agility and integration simplicity with its first-class integration syntax and environmental deployment constructs.
[4] Service Resiliency in Microservices
Presenter: Afkham Azeez
Summary: Cloud native programming inherently involves working with remote endpoints: microservices, serverless, APIs, WebSockets, SaaS apps and more. Ballerina is a new programming language designed to bring code-first agility to the challenge of integrating across endpoints. One of the fallacies of distributed computing is “the network is reliable”. Resilience is the ability to recover to a working condition after being affected by a serious incident. Integration programmers have to be aware of such failures and also make their programs robust ro deal with and recover from such failures. In this session, Afkham looks at how Ballerina helps integration developers write resilient programs and how it helps eliminate or reduce failures due to oversight. He also demonstrates core resiliency techniques, such as timeout, retry, circuit breaker, distributed transactions, and others.
[5] Cloud Native Programing with Docker and Kubernetes
Presenter: Lakmal Warusawithana
Summary: Docker and Kubernetes are key elements of modern cloud native deployment automations. After building your microservices, common practice is to create docker images and YAML files to automate the deployment with Docker and Kubernetes. Writing these YAMLs and Dockerfile descriptors are painful and error prone. Ballerina is a new cloud native programing language that understands the architecture around it; the compiler is environment aware and microservices deploy directly onto Docker and Kubernetes. In this session, Lakmal explores Ballerina’s deployment automation capabilities. In addition to the demo, and he also discusses the motivation for creating a new cloud native programing language and its design inspirations.