SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
June 2018
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
The
Integration
Gap
ESB, BPM, EAI
Java / Spring
JavaScript / Node
The
Integration
Gap
- XPath for content access
- No data typing
- No compile time checks
- Complex dev/test lifecycle
- Decouples integration and runtime
- Code + config across many files
- Syntax is not integration-centric
- 3rd party build and packaging
AGILE
INTEGRATION SIMPLE
Ballerina is a compiled, type safe,
concurrent programming language.
Ballerina is a fully supported
programming language for
building microservices.
May 2nd
- 1.0 language stability
- Ballerina.io live
- Ballerina Central opens
Q2
- Commercial support
- BallerinaCon @ SF
- Ballerina Workflow
Q4
- 1.0 final
- Ballerina @ CNCF
Sequence
Diagrammatic
Syntax and effective coding model forces developers
into best practices for interaction semantics with
programs displayed as a sequence diagram of its flow.
Network Type System Structural types with primitive, record, object, tuple and
union types with heterogeneous data handling and
explicit nulls.
Worker Concurrency Parallel-first concurrency model with lightweight
workers that communicate with message passing and
non-blocking policies.
Shared Package &
Cloud-Aware Build
Native module versioning, dependency management,
and centralized registry with target-aware build for
cloud-native environments.
Ballerina design principles for integration
Hello World
caller hello
GET
Hello World
Annotations
caller hello
POST (name)
Hello, name!
Connectors
caller hello
POST (status)
response
twitter
tweet (status)
response
caller hello
POST (status)
response
twitter
tweet (status)
response
transform
transform
Sequence Diagrammatic
Docker & Kubernetes
Observability
Jaeger
Prometheus + Grafana
ElasticSearch / Kibana / Logstash (ELK)
Circuit Breaker
caller hello
response
Simpson quotes
GET
quote
twitter
tweet (quote)
response
caller hello
response
Simpson quotes twitter
tweet
response
Open
Circuit Breaker
logic
Asynchronous
Swagger
Agile
// Built-In package mgmt, sharing, and unit testing
$ tree
.ballerina/ # Dependencies downloaded and cached locally
Ballerina.toml # Defines project build intent
my.package/ # Any folder is a package
RouterService.bal
tests/
RouterTests.bal
$ ballerina build
Pulling dependencies…
ballerinax/http [central.ballerina.io -> home repo] [====>] 56/56
ballerinax/rpc [central.ballerina.io -> home repo] [====>] 98/98
ballerinax/twitter [central.ballerina.io -> home repo] [====>] 79/79
Building binaries…
something.bal ⇒ target/something.balo
something.bal ⇒ target/something.balo
something.bal ⇒ target/something.balo
Running tests…
Test <mytest> ⇒ RUNNING … SUCCESS
Test <mytest> ⇒ RUNNING … SUCCESS
Test <mytest> ⇒ RUNNING … SUCCESS
Generating deployment artifacts…
@docker - complete 1/1
@kubernetes:ingress - complete 3/3
@kubernetes:svc - complete 3/3
@kubernetes:deployment - complete 1/1
SUCCESS
$ ballerina run
Service ready at http://192.168.1.101/customer
$ ballerina run kubernetes
Why Create a New Programming Language?
Developer productivity happens when coding is simple.
The Ballerina programming language is a type-safe, Turing
complete language so we can provide:
1. Incremental build and test
2. Type checking data during compilation
3. Verification of workflow and orchestration
4. A language server with intellisense in any IDE
5. An included GUI IDE for orchestrating interactions
6. Testerina for build-time unit testing integrations
7. Binaries with low footprint, high performance for
cloud native optimized execution
8. Composite app construction of polyglot services
9. Package mgmt, like maven, for simple code-level
sharing of integrations
10. Build-time instrumentation to enable debuggable
observability from your APM
Continuous
gRPC and ProtoBuf
Streaming and Events
Everything demoed is in the Ballerina By Guide repo
My setup
● Ballerina 0.975.0
● Docker Edge Version
18.05.0-ce-mac67 (25042)
○ includes k8s
● Visual Studio Code 1.24.1
● Ballerina vscode plugin
(0.975.0)
Versus Spring
// Spring Integration - NOT INTEGRATION SIMPLE
@Component
public class PersonEndpoint {
@Autowired private PersonService service;
public Message<?> get(Message<String> msg) {
return MessageBuilder.fromMessage(msg)
.copyHeadersIfAbsent(msg.getHeaders())
.setHeader(STATUSCODE_HEADER,
HttpStatus.NOT_FOUND)
.build();
}
// + 20 more lines of Java
// + XML config for routing and mediation logic
<beans:beans>
<channel id="inputChannel"/>
<channel id="outputChannel">
<queue capacity="10"/>
</channel>
<service-activator input-channel="inputChannel"
output-channel="outputChannel"
ref="helloService"
method="sayHello"/>
<beans:bean id="helloService" class="samples.PersonEndpoint"/>
</beans:beans>
// + 6 other Java source files
// + XML maven or gradle configuration
// + SpringBoot + CloudFoundry for Kubernetes
// + Netflix for API Gateway
// + Hystrix for Circuit Breaker
Microservices frameworks, such as Spring,
abstract, but do not simplify integration
programming. Spring uses ESBs for integration
logic imposing non-agile developer workflow.
XML Code AdaptersESB
Not
Agile
+ + + =
Ballerina is the glue between microservices
Transactions
Circuit Breaking
Protocols
Payloads
Events
Security
Workflow
Streams
Compensation
Kubernetes Jaeger
Docker Prometheus
etcd OAuth2 / OIDC
Istio / Envoy
LinkerD RabbitMQ
Consul AMQP
Swagger/OpenAPI
MySQL gRPC / Protobuf
Postgres WebSub
Cassandra
Spring/Java
Visual Studio Code
Intellij IDEA
Ecosystem extensions for
disaggregated architecture
In the demo
Discover at
ballerina.io
Ballerina bridges the Integration Gap
Agile Integration Simple
Edit / Build / Run Package management Services Transformations
Language server Ballerina Central Endpoints JSON primitive
IDE plugins Type safety Resources Annotations
Projects Union types Connectors Circuit breaker
Docker and K8S Flow control -> Async
Debugger Observability Workers, fork/join gRPC
Testerina: unit tests CI/CD Message broker Protobuf
Doc generation Table, vector, map Versioning XML type
CLI extensions Struct Bridge Streams
Dev tracing Lambda Swagger CSV
I/O Tasks, scheduling Databases Session mgmt
Projects Dependency mgmt
Ballerina is a fully supported
programming language for
building microservices.
May 2nd
- 1.0 language stability
- Ballerina.io live
- Ballerina Central opens
Q2
- Commercial support
- BallerinaCon @ SF
- Ballerina Workflow
Q4
- 1.0 final
- Ballerina @ CNCF
No Risk Adoption Join 100 organizations in the early adoption, deployment,
support, and refinement of the language during the pre-1.0
release cycle.
Commercial
Support
Provided by WSO2, the largest open source integration
vendor with 500 customers. Query support is provided
through ticketing with a guaranteed response SLA.
Unlimited Query
Support
Ask an unlimited number of questions.
Fees $2500 for 5 dev seats for 12 months
Referenceability Dev teams are encouraged to inject numerous ideas for
how to improve the language and runtime. We do require
some form of external referenceability.
Fixes Until the language hits 1.0, there may be incompatible
language changes. Fixes and changes will require
roll-forward updates. Ballerina makes this easy.
Ballerina Early Access Commercial Support
How to get involved
Learn more
Open source
Get support
http://ballerina.io
http://github.com/ballerina-platform/
Stack Overflow #ballerina tag
Ballerina: A Cloud Native Programming Language

Contenu connexe

Tendances

Selenium Training in Chandigarh
Selenium Training in ChandigarhSelenium Training in Chandigarh
Selenium Training in ChandigarhE2MATRIX
 
Selenium Training in Amritsar
Selenium Training in AmritsarSelenium Training in Amritsar
Selenium Training in AmritsarE2MATRIX
 
Selenium Training in Jalandhar
Selenium Training in JalandharSelenium Training in Jalandhar
Selenium Training in JalandharE2MATRIX
 
Selenium Training in Ludhiana
Selenium Training in LudhianaSelenium Training in Ludhiana
Selenium Training in LudhianaE2MATRIX
 
Resume: DevOps/Technology Architect - Satya Prakash
Resume: DevOps/Technology Architect   -  Satya PrakashResume: DevOps/Technology Architect   -  Satya Prakash
Resume: DevOps/Technology Architect - Satya PrakashSatyaPrakash454
 
Selenium Training in Mohali
Selenium Training in MohaliSelenium Training in Mohali
Selenium Training in MohaliE2MATRIX
 
X-celerate 2019: Iterating fast with the MERN Stack
X-celerate 2019: Iterating fast with the MERN StackX-celerate 2019: Iterating fast with the MERN Stack
X-celerate 2019: Iterating fast with the MERN StackHaufe-Lexware GmbH & Co KG
 
Features of java
Features of javaFeatures of java
Features of javaamiluafiah
 
Vinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayaka V Ladwa
 
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...Daniel Bryant
 
“Full-stack developer: з чого розпочати кар’єру?”
 “Full-stack developer: з чого розпочати кар’єру?”  “Full-stack developer: з чого розпочати кар’єру?”
“Full-stack developer: з чого розпочати кар’єру?” GlobalLogic Ukraine
 
How ring central sdk changing the game
How ring central sdk changing the gameHow ring central sdk changing the game
How ring central sdk changing the gameAnirban Sen Chowdhary
 
Venkatesh- Resume
Venkatesh- ResumeVenkatesh- Resume
Venkatesh- Resumevenkat u
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021Ieva Navickaite
 
Ring central sdk overview
Ring central sdk overviewRing central sdk overview
Ring central sdk overviewKhadhar Koneti
 

Tendances (20)

Selenium Training in Chandigarh
Selenium Training in ChandigarhSelenium Training in Chandigarh
Selenium Training in Chandigarh
 
Selenium Training in Amritsar
Selenium Training in AmritsarSelenium Training in Amritsar
Selenium Training in Amritsar
 
Selenium Training in Jalandhar
Selenium Training in JalandharSelenium Training in Jalandhar
Selenium Training in Jalandhar
 
Selenium Training in Ludhiana
Selenium Training in LudhianaSelenium Training in Ludhiana
Selenium Training in Ludhiana
 
Resume: DevOps/Technology Architect - Satya Prakash
Resume: DevOps/Technology Architect   -  Satya PrakashResume: DevOps/Technology Architect   -  Satya Prakash
Resume: DevOps/Technology Architect - Satya Prakash
 
Rupie asp.net
Rupie asp.netRupie asp.net
Rupie asp.net
 
Selenium Training in Mohali
Selenium Training in MohaliSelenium Training in Mohali
Selenium Training in Mohali
 
Kamala_latest_CV
Kamala_latest_CVKamala_latest_CV
Kamala_latest_CV
 
X-celerate 2019: Iterating fast with the MERN Stack
X-celerate 2019: Iterating fast with the MERN StackX-celerate 2019: Iterating fast with the MERN Stack
X-celerate 2019: Iterating fast with the MERN Stack
 
Features of java
Features of javaFeatures of java
Features of java
 
Vinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_years
 
desktop_resume
desktop_resumedesktop_resume
desktop_resume
 
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
 
Sai krishna
Sai krishnaSai krishna
Sai krishna
 
“Full-stack developer: з чого розпочати кар’єру?”
 “Full-stack developer: з чого розпочати кар’єру?”  “Full-stack developer: з чого розпочати кар’єру?”
“Full-stack developer: з чого розпочати кар’єру?”
 
Ring central sdk
Ring central sdkRing central sdk
Ring central sdk
 
How ring central sdk changing the game
How ring central sdk changing the gameHow ring central sdk changing the game
How ring central sdk changing the game
 
Venkatesh- Resume
Venkatesh- ResumeVenkatesh- Resume
Venkatesh- Resume
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
Ring central sdk overview
Ring central sdk overviewRing central sdk overview
Ring central sdk overview
 

Similaire à Ballerina: A Cloud Native Programming Language

Spring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application ServiceSpring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application ServiceVMware Tanzu
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuVMware Tanzu
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieVMware Tanzu
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonVMware Tanzu
 
Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)Daniel Toomey
 
[WSO2 Integration Summit London 2019] Ballerina — Cloud-native Middleware as ...
[WSO2 Integration Summit London 2019] Ballerina — Cloud-native Middleware as ...[WSO2 Integration Summit London 2019] Ballerina — Cloud-native Middleware as ...
[WSO2 Integration Summit London 2019] Ballerina — Cloud-native Middleware as ...WSO2
 
Adobe PDF and LiveCycle ES Security
Adobe PDF and LiveCycle ES SecurityAdobe PDF and LiveCycle ES Security
Adobe PDF and LiveCycle ES Securityguest2a5a03
 
Katalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and DevelopersKatalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and DevelopersKatalon Studio
 
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...VMware Tanzu
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netconline training
 
Spring on PAS - Fabio Marinelli
Spring on PAS - Fabio MarinelliSpring on PAS - Fabio Marinelli
Spring on PAS - Fabio MarinelliVMware Tanzu
 
Mastinder singh visualcv_resume
Mastinder singh visualcv_resumeMastinder singh visualcv_resume
Mastinder singh visualcv_resumeMastinder Singh
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasVMware Tanzu
 
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivotalOpenSourceHub
 
Net framework
Net frameworkNet framework
Net frameworkjhsri
 
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...Jitendra Bafna
 
Building enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioBuilding enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioKim Clark
 
Stream processing for the masses with beam, python and flink
Stream processing for the masses with beam, python and flink Stream processing for the masses with beam, python and flink
Stream processing for the masses with beam, python and flink Enrico Canzonieri
 

Similaire à Ballerina: A Cloud Native Programming Language (20)

Spring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application ServiceSpring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application Service
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - Boston
 
Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)Four Scenarios for Using an Integration Service Environment (ISE)
Four Scenarios for Using an Integration Service Environment (ISE)
 
[WSO2 Integration Summit London 2019] Ballerina — Cloud-native Middleware as ...
[WSO2 Integration Summit London 2019] Ballerina — Cloud-native Middleware as ...[WSO2 Integration Summit London 2019] Ballerina — Cloud-native Middleware as ...
[WSO2 Integration Summit London 2019] Ballerina — Cloud-native Middleware as ...
 
Adobe PDF and LiveCycle ES Security
Adobe PDF and LiveCycle ES SecurityAdobe PDF and LiveCycle ES Security
Adobe PDF and LiveCycle ES Security
 
Katalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and DevelopersKatalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and Developers
 
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot net
 
Spring on PAS - Fabio Marinelli
Spring on PAS - Fabio MarinelliSpring on PAS - Fabio Marinelli
Spring on PAS - Fabio Marinelli
 
Mastinder singh visualcv_resume
Mastinder singh visualcv_resumeMastinder singh visualcv_resume
Mastinder singh visualcv_resume
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour Dallas
 
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
 
Net framework
Net frameworkNet framework
Net framework
 
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
 
CV_CBAUNE_20150820.DOCX
CV_CBAUNE_20150820.DOCXCV_CBAUNE_20150820.DOCX
CV_CBAUNE_20150820.DOCX
 
Building enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioBuilding enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolio
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
 
Stream processing for the masses with beam, python and flink
Stream processing for the masses with beam, python and flink Stream processing for the masses with beam, python and flink
Stream processing for the masses with beam, python and flink
 

Plus de WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Plus de WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Dernier

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Dernier (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Ballerina: A Cloud Native Programming Language

  • 2. Increasing demand is causing disaggregation
  • 3. Everything is An Endpoint Functions APIs Data SaaS apps Legacy apps Devices Disaggregation leads to more endpoints
  • 4. Integration in an increasingly disaggregated world Transactions Circuit Breaking Protocols Payloads Events Security Workflow Streams Compensation
  • 5. The Integration Gap ESB, BPM, EAI Java / Spring JavaScript / Node
  • 6. The Integration Gap - XPath for content access - No data typing - No compile time checks - Complex dev/test lifecycle - Decouples integration and runtime - Code + config across many files - Syntax is not integration-centric - 3rd party build and packaging
  • 8. Ballerina is a compiled, type safe, concurrent programming language.
  • 9. Ballerina is a fully supported programming language for building microservices. May 2nd - 1.0 language stability - Ballerina.io live - Ballerina Central opens Q2 - Commercial support - BallerinaCon @ SF - Ballerina Workflow Q4 - 1.0 final - Ballerina @ CNCF Sequence Diagrammatic Syntax and effective coding model forces developers into best practices for interaction semantics with programs displayed as a sequence diagram of its flow. Network Type System Structural types with primitive, record, object, tuple and union types with heterogeneous data handling and explicit nulls. Worker Concurrency Parallel-first concurrency model with lightweight workers that communicate with message passing and non-blocking policies. Shared Package & Cloud-Aware Build Native module versioning, dependency management, and centralized registry with target-aware build for cloud-native environments. Ballerina design principles for integration
  • 16. caller hello POST (status) response twitter tweet (status) response transform transform
  • 18.
  • 23. ElasticSearch / Kibana / Logstash (ELK)
  • 26. caller hello response Simpson quotes twitter tweet response Open Circuit Breaker logic
  • 29. Agile
  • 30. // Built-In package mgmt, sharing, and unit testing $ tree .ballerina/ # Dependencies downloaded and cached locally Ballerina.toml # Defines project build intent my.package/ # Any folder is a package RouterService.bal tests/ RouterTests.bal $ ballerina build Pulling dependencies… ballerinax/http [central.ballerina.io -> home repo] [====>] 56/56 ballerinax/rpc [central.ballerina.io -> home repo] [====>] 98/98 ballerinax/twitter [central.ballerina.io -> home repo] [====>] 79/79 Building binaries… something.bal ⇒ target/something.balo something.bal ⇒ target/something.balo something.bal ⇒ target/something.balo Running tests… Test <mytest> ⇒ RUNNING … SUCCESS Test <mytest> ⇒ RUNNING … SUCCESS Test <mytest> ⇒ RUNNING … SUCCESS Generating deployment artifacts… @docker - complete 1/1 @kubernetes:ingress - complete 3/3 @kubernetes:svc - complete 3/3 @kubernetes:deployment - complete 1/1 SUCCESS $ ballerina run Service ready at http://192.168.1.101/customer $ ballerina run kubernetes Why Create a New Programming Language? Developer productivity happens when coding is simple. The Ballerina programming language is a type-safe, Turing complete language so we can provide: 1. Incremental build and test 2. Type checking data during compilation 3. Verification of workflow and orchestration 4. A language server with intellisense in any IDE 5. An included GUI IDE for orchestrating interactions 6. Testerina for build-time unit testing integrations 7. Binaries with low footprint, high performance for cloud native optimized execution 8. Composite app construction of polyglot services 9. Package mgmt, like maven, for simple code-level sharing of integrations 10. Build-time instrumentation to enable debuggable observability from your APM
  • 32.
  • 33.
  • 35.
  • 37.
  • 38. Everything demoed is in the Ballerina By Guide repo My setup ● Ballerina 0.975.0 ● Docker Edge Version 18.05.0-ce-mac67 (25042) ○ includes k8s ● Visual Studio Code 1.24.1 ● Ballerina vscode plugin (0.975.0)
  • 40. // Spring Integration - NOT INTEGRATION SIMPLE @Component public class PersonEndpoint { @Autowired private PersonService service; public Message<?> get(Message<String> msg) { return MessageBuilder.fromMessage(msg) .copyHeadersIfAbsent(msg.getHeaders()) .setHeader(STATUSCODE_HEADER, HttpStatus.NOT_FOUND) .build(); } // + 20 more lines of Java // + XML config for routing and mediation logic <beans:beans> <channel id="inputChannel"/> <channel id="outputChannel"> <queue capacity="10"/> </channel> <service-activator input-channel="inputChannel" output-channel="outputChannel" ref="helloService" method="sayHello"/> <beans:bean id="helloService" class="samples.PersonEndpoint"/> </beans:beans> // + 6 other Java source files // + XML maven or gradle configuration // + SpringBoot + CloudFoundry for Kubernetes // + Netflix for API Gateway // + Hystrix for Circuit Breaker Microservices frameworks, such as Spring, abstract, but do not simplify integration programming. Spring uses ESBs for integration logic imposing non-agile developer workflow. XML Code AdaptersESB Not Agile + + + =
  • 41. Ballerina is the glue between microservices Transactions Circuit Breaking Protocols Payloads Events Security Workflow Streams Compensation
  • 42. Kubernetes Jaeger Docker Prometheus etcd OAuth2 / OIDC Istio / Envoy LinkerD RabbitMQ Consul AMQP Swagger/OpenAPI MySQL gRPC / Protobuf Postgres WebSub Cassandra Spring/Java Visual Studio Code Intellij IDEA Ecosystem extensions for disaggregated architecture
  • 43. In the demo Discover at ballerina.io Ballerina bridges the Integration Gap Agile Integration Simple Edit / Build / Run Package management Services Transformations Language server Ballerina Central Endpoints JSON primitive IDE plugins Type safety Resources Annotations Projects Union types Connectors Circuit breaker Docker and K8S Flow control -> Async Debugger Observability Workers, fork/join gRPC Testerina: unit tests CI/CD Message broker Protobuf Doc generation Table, vector, map Versioning XML type CLI extensions Struct Bridge Streams Dev tracing Lambda Swagger CSV I/O Tasks, scheduling Databases Session mgmt Projects Dependency mgmt
  • 44. Ballerina is a fully supported programming language for building microservices. May 2nd - 1.0 language stability - Ballerina.io live - Ballerina Central opens Q2 - Commercial support - BallerinaCon @ SF - Ballerina Workflow Q4 - 1.0 final - Ballerina @ CNCF No Risk Adoption Join 100 organizations in the early adoption, deployment, support, and refinement of the language during the pre-1.0 release cycle. Commercial Support Provided by WSO2, the largest open source integration vendor with 500 customers. Query support is provided through ticketing with a guaranteed response SLA. Unlimited Query Support Ask an unlimited number of questions. Fees $2500 for 5 dev seats for 12 months Referenceability Dev teams are encouraged to inject numerous ideas for how to improve the language and runtime. We do require some form of external referenceability. Fixes Until the language hits 1.0, there may be incompatible language changes. Fixes and changes will require roll-forward updates. Ballerina makes this easy. Ballerina Early Access Commercial Support
  • 45. How to get involved Learn more Open source Get support http://ballerina.io http://github.com/ballerina-platform/ Stack Overflow #ballerina tag