DevOps Pro Europe 2020
March 24-26
Online
Biography
Anjana is a Director of Developer Relations – CTO Office at WSO2. He has built up the expertise in data analytics and enterprise integration by leading several products at WSO2. He has also helped numerous customers in implementing their integration strategies. His latest venture is his role in the Ballerina project, where he has been involved extensively in the design and implementation of the language and its runtime, and now primarily works on its ecosystem engineering and evangelism activities. Anjana also presents frequently in events, such as ApacheCon, API World, WSO2Con, KubeCon, BallerinaCon, DeveloperWeek, and many tech meetups.
Workshop
Ballerina: Cloud Native Middleware as a Programming Language
Time & Date
9:00, 24 March
Venue
Language
English
This workshop will cover the activities of using the Ballerina programming language for developing cloud-native applications. We will be going through the unique features of the language, from the network-aware constructs of the language, such as services (HTTP, gRPC, WebSockets etc…), stream processing, to in-built observability of applications; which includes the integration with Promotheus and OpenTracing for metrics and distributed tracing. Also, we will take a look at the Docker/Kubernetes/serverless integrations available, and how to use them.
In the workshop, we will be incrementally developing a sample scenario using the features and functionality we discuss.
Agenda
Part 1: Introduction to the Ballerina language
- Type system
- Network abstractions
- Visualizing the code: sequence diagrams
- Concurrency
- Secure-by-default: taint analysis
- Stream processing
Part 2: Network Awareness
- Resiliency
- HTTP/S features/functionality
- gRPC
- NATS
- WebSockets
- Istio Integration
Part 3: Observability
- Metrics – Integrating with Prometheus
- Distributed Tracing – OpenTracing
Part 4: Deployment
- Docker/Kubernetes/KNative
- AWS Lambda
The goal of the workshop is to teach the audience on how to use the Ballerina programming language to fulfil the requirements of cloud-native development, and how a programming language itself can be used as the middleware required for your development.
The target audience is any developer/architect who is interested in cloud-native and microservices development, and finding out the challenges that we will face, and how to solve them using the tools and technologies we have.
- Ballerina SDK: https://ballerina.io/downloads/
- Visual Studio Code: https://code.visualstudio.com/download
- Docker: https://www.docker.com/products/docker-desktop
- Minikube/Docker Desktop: https://kubernetes.io/docs/tasks/
tools/install-minikube/
Technical knowledge:
- Basic programming knowledge in any programming language