Book description
Learn how to build scalable cloud native applications with the new-generation Ballerina language using expert tips and best practices
Key Features
- Work with code samples based on the Ballerina Swan Lake Beta1 version
- Explore the in-built networking protocol support in Ballerina to develop secure distributed apps
- Build a Ballerina app with an automated CI/CD pipeline with observability to simplify maintenance and deployment
Book Description
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.
What you will learn
- Understand the concepts and models in cloud native architecture
- Get to grips with the high-level concepts of building applications with the Ballerina language
- Use cloud native architectural design patterns to develop cloud native Ballerina applications
- Discover how to automate, maintain, and observe cloud native Ballerina applications
- Use a container to deploy and maintain a Ballerina application with Docker and Kubernetes
- Explore serverless architecture and use Microsoft Azure and the AWS platform to build serverless applications
Who this book is for
This Ballerina Swan Lake book is for cloud developers, integration developers, and microservices developers who are facing challenges with legacy tooling and are looking for the latest tools and technologies to solve them. Beginner-level programming knowledge is required before getting started with this Ballerina book.
Table of contents
- Cloud Native Applications with Ballerina
- Contributors
- About the author
- About the reviewers
- Preface
- Section 1: The Basics
-
Chapter 1: Introduction to Cloud Native
- Evolution from the monolithic to the microservice architecture
- The emergence of microservices
- Understanding what cloud native architecture is
- Serverless architecture
- Challenges of cloud native architecture
- Deploying cloud native applications
- Building cloud native applications
- Impact on organizations when moving to cloud native
- Summary
- Questions
- Further reading
- Answers
- Chapter 2: Getting Started with Ballerina
- Section 2: Building Microservices with Ballerina
- Chapter 3: Building Cloud Native Applications with Ballerina
-
Chapter 4: Inter-Process Communication and Messaging
- Technical requirements
-
Communication between services in a microservice architecture
- Communication over services in the Kubernetes cluster
- Using environment variables for service discovery
- Using the Kubernetes DNS resolver for service discovery
- Using a service mesh to simplify inter-service communication
- Service discovery in a service mesh by using Consul
- Using resiliency patterns in Ballerina
- Ballerina client-side load balancing
- Synchronous communication
- Asynchronous communication
- Summary
- Questions
- Further reading
- Answers
- Chapter 5: Accessing Data in Microservice Architecture
- Section 3: Moving on with Cloud Native
-
Chapter 6: Moving on to Serverless Architecture
- Technical requirements
- Introducing serverless architecture
- Developing Ballerina applications with Azure Functions
-
Developing Ballerina applications with AWS Lambda functions
- Understanding AWS Cloud services
- Configuring the AWS CLI and AWS Console
- Creating your first Ballerina AWS Lambda function
- Adding triggers to invoke a Lambda function
- Using AWS Step Functions with an AWS Lambda function
- Building the Lambda function with Ballerina
- Creating Step functions in the AWS Console
- Creating an API gateway to invoke Step functions
- Summary
- Questions
- Further reading
- Answers
-
Chapter 7: Securing the Ballerina Cloud Platform
- Technical requirements
- Managing certificates in Ballerina applications
- Authenticating and authorizing with LDAP user stores
-
Token-based authorization with Ballerina
- Securing Ballerina services with a JSON Web Token
- Generating and validating a JWT with Ballerina
- Generating JWT with WSO2 Identity Server
- Authorizing Ballerina services with JWT
- Authorizing Ballerina services with WSO2 IS-generated JWT claims
- Building a Ballerina service with JWT authorization
- OAuth2 authentication and authorization with WSO2 IS
- Summary
- Questions
- Further reading
- Answers
- Chapter 8: Monitoring Cloud Native Applications
- Chapter 9: Integrating Ballerina Cloud Native Applications
- Chapter 10: Building a CI/CD Pipeline for Ballerina Applications
- Other Books You May Enjoy
Product information
- Title: Cloud Native Applications with Ballerina
- Author(s):
- Release date: October 2021
- Publisher(s): Packt Publishing
- ISBN: 9781800200630
You might also like
book
Cloud Native Infrastructure with Azure
The cloud is becoming the de facto home for companies ranging from enterprises to startups. Moving …
article
Use Github Copilot for Prompt Engineering
Using GitHub Copilot can feel like magic. The tool automatically fills out entire blocks of code--but …
book
Cloud Native Transformation
In the past few years, going cloud native has been a big advantage for many companies. …
article
Splitting Strings on Any of Multiple Delimiters
Build your knowledge of Python with this Shortcuts collection. Focusing on common problems involving text manipulation, …