Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina

47 views

Published on

In this session, Anjana explores the advantages of Ballerina over traditional programming languages. Ballerina has built-in support for services/resources, transactions, and resilient communication support. This is combined with a type system that further enhances these operations.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina

  1. 1. Conquering Network Distributed Applications Using the Ballerina Programming Language Anjana Fernando, WSO2 Inc. | @lafernando
  2. 2. Increasing demand is causing disaggregation
  3. 3. Everything is An Endpoint Functions APIs Data SaaS apps Legacy apps Devices Disaggregation leads to more endpoints
  4. 4. Integration in an increasingly disaggregated world Transactions Circuit Breaking Protocols Payloads Events Security Workflow Streams Compensation
  5. 5. AGILE NETWORK AWARE
  6. 6. Batteries Included Networking NATS ActiveMq WebSockets
  7. 7. Agenda ○ Services ○ Concurrency ○ Async I/O ○ Connectors ○ Docker, Kubernetes, & AWS Lambda ○ Observability ○ OpenAPI
  8. 8. Hello World
  9. 9. caller hello GET Hello World
  10. 10. Annotations
  11. 11. caller hello POST (name) Hello, name!
  12. 12. Concurrency
  13. 13. Workers
  14. 14. Futures
  15. 15. Async I/O
  16. 16. 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
  17. 17. Connectors
  18. 18. caller RekService POST (status) response Amazon Rekn detectText (input) response
  19. 19. Docker & Kubernetes
  20. 20. AWS Lambda
  21. 21. Observability
  22. 22. Distributed Tracing: Jaeger/Zipkin
  23. 23. Metrics: Prometheus + Grafana
  24. 24. OpenAPI
  25. 25. 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
  26. 26. Learn - Ballerina by Example https://ballerina.io/learn/by-example/
  27. 27. 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
  28. 28. Q & A
  29. 29. THANK YOU

×