Book Image

Cloud Native Applications with Ballerina

By : Dhanushka Madushan
Book Image

Cloud Native Applications with Ballerina

By: Dhanushka Madushan

Overview of this book

The Ballerina programming language was created by WSO2 for the modern needs of developers where cloud native development techniques have become ubiquitous. Ballerina simplifies how programmers develop and deploy cloud native distributed apps and microservices. Cloud Native Applications with Ballerina will guide you through Ballerina essentials, including variables, types, functions, flow control, security, and more. You'll explore networking as an in-built feature in Ballerina, which makes it a first-class language for distributed computing. With this app development book, you'll learn about different networking protocols as well as different architectural patterns that you can use to implement services on the cloud. As you advance, you'll explore multiple design patterns used in microservice architecture and use serverless in Amazon Web Services (AWS) and Microsoft Azure platforms. You will also get to grips with Docker, Kubernetes, and serverless platforms to simplify maintenance and the deployment process. Later, you'll focus on the Ballerina testing framework along with deployment tools and monitoring tools to build fully automated observable cloud applications. By the end of this book, you will have learned how to apply the Ballerina language for building scalable, resilient, secured, and easy-to-maintain cloud native Ballerina projects and applications.
Table of Contents (15 chapters)
1
Section 1: The Basics
4
Section 2: Building Microservices with Ballerina
8
Section 3: Moving on with Cloud Native

Building and deploying applications with Ballerina Central

Building applications in a single code base makes code bases larger and bulky. A widely used programming practice is to break reusable components up into multiple libraries and reuse them when needed. As mentioned in Chapter 1, Introduction to Cloud Native, the first factor in the 12-factor app is to maintain code in a single repository and move dependent libraries to separate repositories. When an application is built, it resolves dependencies and produces executables. In the upcoming sections, we will discuss how to create a Ballerina package, how to push packages to Ballerina Central, and how to use packages from Ballerina Central.

Introduction to Ballerina Central

Ballerina uses Ballerina Central as the central registry to manage its dependencies. If you are developing an application and you have found reusable segments of code, you can publish those packages on Ballerina Central. Not only can you reuse these packages...