SlideShare a Scribd company logo
1 of 29
Download to read offline
Conquering Network Distributed Applications Using the
Ballerina Programming Language
Anjana Fernando, WSO2 Inc. | @lafernando
Increasing demand is causing disaggregation
Everything is
An Endpoint
Functions
APIs
Data
SaaS apps
Legacy apps
Devices
Disaggregation leads to more endpoints
Integration in an increasingly disaggregated world
Transactions
Circuit Breaking
Protocols
Payloads
Events
Security
Workflow
Streams
Compensation
AGILE
NETWORK AWARE
Batteries
Included
Networking
NATS
ActiveMq
WebSockets
Agenda
○ Services
○ Concurrency
○ Async I/O
○ Connectors
○ Docker, Kubernetes, & AWS Lambda
○ Observability
○ OpenAPI
Hello World
caller hello
GET
Hello World
Annotations
caller hello
POST (name)
Hello, name!
Concurrency
Workers
Futures
Async I/O
This looks like a typical blocking call,
but it’s a bit more than that…
Transparent non-blocking I/O usage promotes optimal resource usage and handling of large
number of active connections
Connectors
caller RekService
POST (status)
response
Amazon Rekn
detectText (input)
response
Docker & Kubernetes
AWS Lambda
Observability
Distributed Tracing: Jaeger/Zipkin
Metrics: Prometheus + Grafana
OpenAPI
Docker Jaeger
Kubernetes Prometheus
AWS Lambda
KNative
GitHub Actions OAuth2 / OIDC
Kafka
Istio / Envoy RabbitMQ
LinkerD AMQP
Consul
etcd Swagger/OpenAPI
gRPC / NATS
Postgres WebSub
Cassandra
MySQL Visual Studio Code
Intellij IDEA
OpenAPI
Ecosystem extensions for
disaggregated architecture
Learn - Ballerina by Example
https://ballerina.io/learn/by-example/
How to get involved
Learn more
Open source
Get support
http://ballerina.io
http://github.com/ballerina-platform/
Stack Overflow - #ballerina tag
Slack - https://ballerina.io/community/slack/
Demo code https://github.com/lafernando/samples/tree/master/ballerina/aws-demo
Q & A
THANK YOU

More Related Content

What's hot

Introduction of open stack transaction service
Introduction of open stack transaction serviceIntroduction of open stack transaction service
Introduction of open stack transaction service
Takahiro Shida
 

What's hot (20)

Ballerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOpsBallerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOps
 
[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...
[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...
[Downtown San Jose DevOps Meetup] Ballerina - A Programming Language for Clou...
 
Booting your Microservices Architecture with Spring & Netflix
Booting your Microservices Architecture with Spring & NetflixBooting your Microservices Architecture with Spring & Netflix
Booting your Microservices Architecture with Spring & Netflix
 
Alessandro Confetti - Learn how to build decentralized and serverless html5 a...
Alessandro Confetti - Learn how to build decentralized and serverless html5 a...Alessandro Confetti - Learn how to build decentralized and serverless html5 a...
Alessandro Confetti - Learn how to build decentralized and serverless html5 a...
 
Abhishek resume
Abhishek resumeAbhishek resume
Abhishek resume
 
IoT in salsa serverless
IoT in salsa serverlessIoT in salsa serverless
IoT in salsa serverless
 
The Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud NativeThe Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud Native
 
Introduction to the Container Networking and Security
Introduction to the Container Networking and SecurityIntroduction to the Container Networking and Security
Introduction to the Container Networking and Security
 
NijmegenJS - SailsJS intro march 10 2016
NijmegenJS - SailsJS intro march 10 2016NijmegenJS - SailsJS intro march 10 2016
NijmegenJS - SailsJS intro march 10 2016
 
APIdays Paris 2018 - API Management is Dead, Augusto Marietti, CEO and Co-Fou...
APIdays Paris 2018 - API Management is Dead, Augusto Marietti, CEO and Co-Fou...APIdays Paris 2018 - API Management is Dead, Augusto Marietti, CEO and Co-Fou...
APIdays Paris 2018 - API Management is Dead, Augusto Marietti, CEO and Co-Fou...
 
Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?
 
NetflixOSS: The Netflix Way
NetflixOSS: The Netflix WayNetflixOSS: The Netflix Way
NetflixOSS: The Netflix Way
 
Introduction of open stack transaction service
Introduction of open stack transaction serviceIntroduction of open stack transaction service
Introduction of open stack transaction service
 
Metaswitch Project Calico
Metaswitch Project CalicoMetaswitch Project Calico
Metaswitch Project Calico
 
Andrea Tosatto - Kubernetes Beyond - Codemotion Milan 2017
Andrea Tosatto - Kubernetes Beyond - Codemotion Milan 2017Andrea Tosatto - Kubernetes Beyond - Codemotion Milan 2017
Andrea Tosatto - Kubernetes Beyond - Codemotion Milan 2017
 
Benchmarking Service Meshes - CNCF Networking WG
Benchmarking Service Meshes  - CNCF Networking WGBenchmarking Service Meshes  - CNCF Networking WG
Benchmarking Service Meshes - CNCF Networking WG
 
Traefik on Kubernetes at MySocialApp (CNCF Paris Meetup)
Traefik on Kubernetes at MySocialApp (CNCF Paris Meetup)Traefik on Kubernetes at MySocialApp (CNCF Paris Meetup)
Traefik on Kubernetes at MySocialApp (CNCF Paris Meetup)
 
Heptio Contour - talk CNCF Nantes
Heptio Contour - talk CNCF NantesHeptio Contour - talk CNCF Nantes
Heptio Contour - talk CNCF Nantes
 
Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxy
 
Shift Left - How to improve your security with checkov before it’s going to p...
Shift Left - How to improve your security with checkov before it’s going to p...Shift Left - How to improve your security with checkov before it’s going to p...
Shift Left - How to improve your security with checkov before it’s going to p...
 

Similar to [DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina

Banv meetup 04162014
Banv meetup 04162014Banv meetup 04162014
Banv meetup 04162014
ozkan01
 
Innovation at Amazon & Voice of Customer 雲端創新應用規模化
Innovation at Amazon & Voice of Customer 雲端創新應用規模化Innovation at Amazon & Voice of Customer 雲端創新應用規模化
Innovation at Amazon & Voice of Customer 雲端創新應用規模化
Amazon Web Services
 

Similar to [DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina (20)

Ballerina: An Open-Source, Cloud-Native Programming Language - GIDS 2021
Ballerina: An Open-Source, Cloud-Native Programming Language - GIDS 2021Ballerina: An Open-Source, Cloud-Native Programming Language - GIDS 2021
Ballerina: An Open-Source, Cloud-Native Programming Language - GIDS 2021
 
[GID Live] Open-Source Cloud-Native Programming Language
[GID Live] Open-Source Cloud-Native Programming Language[GID Live] Open-Source Cloud-Native Programming Language
[GID Live] Open-Source Cloud-Native Programming Language
 
Ballerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOpsBallerina - A Programming Language for Cloud and DevOps
Ballerina - A Programming Language for Cloud and DevOps
 
Ballerina - Cloud Native Programming Language
Ballerina - Cloud Native Programming LanguageBallerina - Cloud Native Programming Language
Ballerina - Cloud Native Programming Language
 
Ballerina: Cloud Native Programming Language
Ballerina: Cloud Native Programming LanguageBallerina: Cloud Native Programming Language
Ballerina: Cloud Native Programming Language
 
Microservices: Breaking Apart the Monolith
Microservices:  Breaking Apart the Monolith Microservices:  Breaking Apart the Monolith
Microservices: Breaking Apart the Monolith
 
AWS re:Invent 2016: NEW LAUNCH! Introducing AWS Greengrass (IOT201)
AWS re:Invent 2016: NEW LAUNCH! Introducing AWS Greengrass (IOT201)AWS re:Invent 2016: NEW LAUNCH! Introducing AWS Greengrass (IOT201)
AWS re:Invent 2016: NEW LAUNCH! Introducing AWS Greengrass (IOT201)
 
Banv meetup 04162014
Banv meetup 04162014Banv meetup 04162014
Banv meetup 04162014
 
AZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meetingAZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meeting
 
[WSO2 Summit Sydney 2019] Ballerina - Cloud Native Programming Language
[WSO2 Summit Sydney 2019] Ballerina - Cloud Native Programming Language[WSO2 Summit Sydney 2019] Ballerina - Cloud Native Programming Language
[WSO2 Summit Sydney 2019] Ballerina - Cloud Native Programming Language
 
Turkish Airlines' Journey on Cloud
Turkish Airlines' Journey on CloudTurkish Airlines' Journey on Cloud
Turkish Airlines' Journey on Cloud
 
Asynchronous Python with Twisted
Asynchronous Python with TwistedAsynchronous Python with Twisted
Asynchronous Python with Twisted
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Roadmap to Enterprise Cloud Computing
Roadmap to Enterprise Cloud ComputingRoadmap to Enterprise Cloud Computing
Roadmap to Enterprise Cloud Computing
 
LCA13: Web Server and Caching Technologies
LCA13: Web Server and Caching TechnologiesLCA13: Web Server and Caching Technologies
LCA13: Web Server and Caching Technologies
 
56K.cloud Docker Training
56K.cloud Docker Training56K.cloud Docker Training
56K.cloud Docker Training
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Open daylight openstack_meetup_20140218
Open daylight openstack_meetup_20140218Open daylight openstack_meetup_20140218
Open daylight openstack_meetup_20140218
 
Innovation at Amazon & Voice of Customer 雲端創新應用規模化
Innovation at Amazon & Voice of Customer 雲端創新應用規模化Innovation at Amazon & Voice of Customer 雲端創新應用規模化
Innovation at Amazon & Voice of Customer 雲端創新應用規模化
 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Source
 

More from Ballerinalang

More from Ballerinalang (13)

Building Real-time Systems with WebSub - Ballerina Community Call - 11/30/2021
Building Real-time Systems with WebSub - Ballerina Community Call - 11/30/2021Building Real-time Systems with WebSub - Ballerina Community Call - 11/30/2021
Building Real-time Systems with WebSub - Ballerina Community Call - 11/30/2021
 
Managing dependencies in ballerina
Managing dependencies in ballerinaManaging dependencies in ballerina
Managing dependencies in ballerina
 
[Ballerina Community Call] Language Integrated Queries
[Ballerina Community Call] Language Integrated Queries[Ballerina Community Call] Language Integrated Queries
[Ballerina Community Call] Language Integrated Queries
 
[Community Call] Ballerina Swan Lake HTTP Module Changes
[Community Call]  Ballerina Swan Lake HTTP Module Changes[Community Call]  Ballerina Swan Lake HTTP Module Changes
[Community Call] Ballerina Swan Lake HTTP Module Changes
 
Ballerina Community Call 8: Highlights of Ballerina Swan Lake and Introducing...
Ballerina Community Call 8: Highlights of Ballerina Swan Lake and Introducing...Ballerina Community Call 8: Highlights of Ballerina Swan Lake and Introducing...
Ballerina Community Call 8: Highlights of Ballerina Swan Lake and Introducing...
 
[GID Live] Automatic Microservices Observability with Ballerina
[GID Live] Automatic Microservices Observability with Ballerina[GID Live] Automatic Microservices Observability with Ballerina
[GID Live] Automatic Microservices Observability with Ballerina
 
[Ballerina Community Call] Services and Network Communication Updates in Swan...
[Ballerina Community Call] Services and Network Communication Updates in Swan...[Ballerina Community Call] Services and Network Communication Updates in Swan...
[Ballerina Community Call] Services and Network Communication Updates in Swan...
 
[Ballerina Community Call] Java Interoperability
[Ballerina Community Call] Java Interoperability[Ballerina Community Call] Java Interoperability
[Ballerina Community Call] Java Interoperability
 
[Ballerina Community Call] Data Access in Ballerina
[Ballerina Community Call] Data Access in Ballerina[Ballerina Community Call] Data Access in Ballerina
[Ballerina Community Call] Data Access in Ballerina
 
[DevOps Pro Europe 2020] From Code to Cloud
[DevOps Pro Europe 2020] From Code to Cloud[DevOps Pro Europe 2020] From Code to Cloud
[DevOps Pro Europe 2020] From Code to Cloud
 
[DeveloperWeek Austin 2019] Microservices in Practice with Ballerina, Kuberne...
[DeveloperWeek Austin 2019] Microservices in Practice with Ballerina, Kuberne...[DeveloperWeek Austin 2019] Microservices in Practice with Ballerina, Kuberne...
[DeveloperWeek Austin 2019] Microservices in Practice with Ballerina, Kuberne...
 
[ApacheCon NA 2019] Re-inventing Middleware in a Programming Language
[ApacheCon NA 2019] Re-inventing Middleware in a Programming Language[ApacheCon NA 2019] Re-inventing Middleware in a Programming Language
[ApacheCon NA 2019] Re-inventing Middleware in a Programming Language
 
[Java Colombo Meetup] The better java for Java microservices developers
[Java Colombo Meetup] The better java for Java microservices developers[Java Colombo Meetup] The better java for Java microservices developers
[Java Colombo Meetup] The better java for Java microservices developers
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina