SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Microservices in Practice with Ballerina,
Kubernetes and Istio
November 2019
Lakmal Warusawithana, Senior Director - Cloud Architecture, WSO2
@lakwarus
Why Microservices?
Agility
Let’s write a
Microservice
Inherently Async I/O
JSON as a native type
json is just a union - () | int | float | string | map<json> | json[]
// JSON object
json payload = { "orderdata": { "id": 1, "name": "XYZ", "price": 2500 } };
//Access object values
json orderid = payload.orderdata.id;
//JSON arrays
json orders = {
"orderdata": [
{ "id": 1, "name": "XYZ", "price": 2500 },
{ "id": 2, "name": "ABC", "price": 3000 }
]
};
XML as a native type
// Simple XML literal
xml x1 = xml`<name>Lakmal Warusawithana</name>`;
// XML with namespaces
xmlns "http://wso2.com" as ns0;
xml x2 = xml `<name id="123" status="married">
<ns0:fname>Lakmal</ns0:fname>
<ns0:lname>Warusawithana</ns0:lname>
</name>`;
// XML literal with interpolation
string lastName = "Warusawithana";
xml x3 = xml`<lname>${lastName}</lname>`;
// Concat XML values
xml x4 = x1 + x2 + x3;
Let’s deploy the
Microservice
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-deployment
labels:
app: hello
spec:
replicas: 1
selector:
matchLabels:
app: hello
template:
metadata:
labels:
app: hello
spec:
containers:
- name: hello
image: hello:latest
imagePullPolicy: "IfNotPresent"
ports:
- containerPort: 9090
Create a deployment.yaml
apiVersion: "v1"
kind: "Service"
metadata:
labels:
app: "hello"
name: "hello"
spec:
ports:
- port: 9090
protocol: "TCP"
targetPort: 9090
selector:
app: "hello"
type: "NodePort"
Create a service.yaml
However, those parts are not part of
the programming experience for the
developer.
Ballerina Cloud Native
Support
● @kubernetes:Deployment{}
● @kubernetes:Service{}
● @kubernetes:Ingress{}
● @kubernetes:HPA{}
● @kubernetes:Secret{}
● @kubernetes:ConfigMap{}
Supported K8s and Istio Kinds
● @kubernetes:PersistentVolumeClaim{}
● @kubernetes:ResourceQuota{}
● @kubernetes:Job{}
● @openshift:Route{}
● @istio:Gateway{}
● @istio:VirtualService{}
● Ballerina helps to write Microservices by providing
network abstraction as first class language constructs
● Ballerina natively understand Cloud Native platforms
like Docker, Kubernetes and Istio.
● Ballerina removes gap between developers and Ops.
● Ballerina and Kubernetes support agile development to
deployment and improve productivity.
Takeaways
How to get involved
Learn more
Open source
Get support
http://ballerina.io
http://github.com/ballerina-platform/
Stack Overflow #ballerina tag

Weitere ähnliche Inhalte

Was ist angesagt?

DevOps in the era of serverless computing - Alessandro Vozza - Codemotion Ams...
DevOps in the era of serverless computing - Alessandro Vozza - Codemotion Ams...DevOps in the era of serverless computing - Alessandro Vozza - Codemotion Ams...
DevOps in the era of serverless computing - Alessandro Vozza - Codemotion Ams...Codemotion
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoringPhil Wilkins
 
Serverless Chicago - Datomic Cloud and AWS AppSync - April 26 2018
Serverless Chicago - Datomic Cloud and AWS AppSync - April 26 2018Serverless Chicago - Datomic Cloud and AWS AppSync - April 26 2018
Serverless Chicago - Datomic Cloud and AWS AppSync - April 26 2018ChrisJohnsonBidler
 
MongoDB .local London 2019: Realm: The Secret Sauce for Better Mobile Apps
MongoDB .local London 2019: Realm: The Secret Sauce for Better Mobile AppsMongoDB .local London 2019: Realm: The Secret Sauce for Better Mobile Apps
MongoDB .local London 2019: Realm: The Secret Sauce for Better Mobile AppsMongoDB
 
Node Session - 1
Node Session - 1Node Session - 1
Node Session - 1Bhavin Shah
 
18 .NET Objects in PowerShell
18 .NET Objects in PowerShell18 .NET Objects in PowerShell
18 .NET Objects in PowerShellAshish Raj
 
Fluentd Project Intro at Kubecon 2019 EU
Fluentd Project Intro at Kubecon 2019 EUFluentd Project Intro at Kubecon 2019 EU
Fluentd Project Intro at Kubecon 2019 EUN Masahiro
 
A Cheapskates Guide to AWS v2.0
A Cheapskates Guide to AWS v2.0A Cheapskates Guide to AWS v2.0
A Cheapskates Guide to AWS v2.0Michael Soh
 
Blockchain and Smart Contracts
Blockchain and Smart ContractsBlockchain and Smart Contracts
Blockchain and Smart ContractsGene Leybzon
 
Amazon Web Services (cloud: is it good for anything?)
Amazon Web Services (cloud: is it good for anything?)Amazon Web Services (cloud: is it good for anything?)
Amazon Web Services (cloud: is it good for anything?)Maciej Pasternacki
 
Fluentd and Distributed Logging at Kubecon
Fluentd and Distributed Logging at KubeconFluentd and Distributed Logging at Kubecon
Fluentd and Distributed Logging at KubeconN Masahiro
 
(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...
(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...
(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...Amazon Web Services
 
Nick Raienko ''Service-oriented GraphQL''
Nick Raienko ''Service-oriented GraphQL''Nick Raienko ''Service-oriented GraphQL''
Nick Raienko ''Service-oriented GraphQL''OdessaJS Conf
 

Was ist angesagt? (20)

Dray
DrayDray
Dray
 
DevOps in the era of serverless computing - Alessandro Vozza - Codemotion Ams...
DevOps in the era of serverless computing - Alessandro Vozza - Codemotion Ams...DevOps in the era of serverless computing - Alessandro Vozza - Codemotion Ams...
DevOps in the era of serverless computing - Alessandro Vozza - Codemotion Ams...
 
Log forwarding at Scale
Log forwarding at ScaleLog forwarding at Scale
Log forwarding at Scale
 
Logging for Containers
Logging for ContainersLogging for Containers
Logging for Containers
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
 
Fluent-bit
Fluent-bitFluent-bit
Fluent-bit
 
Serverless Chicago - Datomic Cloud and AWS AppSync - April 26 2018
Serverless Chicago - Datomic Cloud and AWS AppSync - April 26 2018Serverless Chicago - Datomic Cloud and AWS AppSync - April 26 2018
Serverless Chicago - Datomic Cloud and AWS AppSync - April 26 2018
 
MongoDB .local London 2019: Realm: The Secret Sauce for Better Mobile Apps
MongoDB .local London 2019: Realm: The Secret Sauce for Better Mobile AppsMongoDB .local London 2019: Realm: The Secret Sauce for Better Mobile Apps
MongoDB .local London 2019: Realm: The Secret Sauce for Better Mobile Apps
 
Node Session - 1
Node Session - 1Node Session - 1
Node Session - 1
 
Containers and Logging
Containers and LoggingContainers and Logging
Containers and Logging
 
18 .NET Objects in PowerShell
18 .NET Objects in PowerShell18 .NET Objects in PowerShell
18 .NET Objects in PowerShell
 
Fluentd 101
Fluentd 101Fluentd 101
Fluentd 101
 
Fluent Bit
Fluent BitFluent Bit
Fluent Bit
 
Fluentd Project Intro at Kubecon 2019 EU
Fluentd Project Intro at Kubecon 2019 EUFluentd Project Intro at Kubecon 2019 EU
Fluentd Project Intro at Kubecon 2019 EU
 
A Cheapskates Guide to AWS v2.0
A Cheapskates Guide to AWS v2.0A Cheapskates Guide to AWS v2.0
A Cheapskates Guide to AWS v2.0
 
Blockchain and Smart Contracts
Blockchain and Smart ContractsBlockchain and Smart Contracts
Blockchain and Smart Contracts
 
Amazon Web Services (cloud: is it good for anything?)
Amazon Web Services (cloud: is it good for anything?)Amazon Web Services (cloud: is it good for anything?)
Amazon Web Services (cloud: is it good for anything?)
 
Fluentd and Distributed Logging at Kubecon
Fluentd and Distributed Logging at KubeconFluentd and Distributed Logging at Kubecon
Fluentd and Distributed Logging at Kubecon
 
(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...
(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...
(DEV307) Introduction to Version 3 of the AWS SDK for Python (Boto) | AWS re:...
 
Nick Raienko ''Service-oriented GraphQL''
Nick Raienko ''Service-oriented GraphQL''Nick Raienko ''Service-oriented GraphQL''
Nick Raienko ''Service-oriented GraphQL''
 

Ähnlich wie [DeveloperWeek Austin 2019] Microservices in Practice with Ballerina, Kubernetes and Istio

[WSO2 Integration Summit New York 2019] Ballerina - Cloud Native Middleware a...
[WSO2 Integration Summit New York 2019] Ballerina - Cloud Native Middleware a...[WSO2 Integration Summit New York 2019] Ballerina - Cloud Native Middleware a...
[WSO2 Integration Summit New York 2019] Ballerina - Cloud Native Middleware a...WSO2
 
AWS CloudFormation Session
AWS CloudFormation SessionAWS CloudFormation Session
AWS CloudFormation SessionKamal Maiti
 
[WSO2 Integration Summit Nairobi 2019] Ballerina - Cloud Native Programming L...
[WSO2 Integration Summit Nairobi 2019] Ballerina - Cloud Native Programming L...[WSO2 Integration Summit Nairobi 2019] Ballerina - Cloud Native Programming L...
[WSO2 Integration Summit Nairobi 2019] Ballerina - Cloud Native Programming L...WSO2
 
Basics of JSON (JavaScript Object Notation) with examples
Basics of JSON (JavaScript Object Notation) with examplesBasics of JSON (JavaScript Object Notation) with examples
Basics of JSON (JavaScript Object Notation) with examplesSanjeev Kumar Jaiswal
 
Json – java script object notation
Json – java script object notationJson – java script object notation
Json – java script object notationDilip Kumar Gupta
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022InfluxData
 
Introduction to Restkit
Introduction to RestkitIntroduction to Restkit
Introduction to Restkitpetertmarks
 
WSO2 Advantage Webinar - JSON Support in the WSO2 Platform
WSO2 Advantage Webinar -  JSON Support in the WSO2 PlatformWSO2 Advantage Webinar -  JSON Support in the WSO2 Platform
WSO2 Advantage Webinar - JSON Support in the WSO2 PlatformWSO2
 
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...Fermin Galan
 
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...Fermin Galan
 
[WSO2 Integration Summit Madrid 2019] Integration + Ballerina
[WSO2 Integration Summit Madrid 2019] Integration + Ballerina[WSO2 Integration Summit Madrid 2019] Integration + Ballerina
[WSO2 Integration Summit Madrid 2019] Integration + BallerinaWSO2
 
AWS for Startups, London - Programming AWS
AWS for Startups, London - Programming AWSAWS for Startups, London - Programming AWS
AWS for Startups, London - Programming AWSAmazon Web Services
 

Ähnlich wie [DeveloperWeek Austin 2019] Microservices in Practice with Ballerina, Kubernetes and Istio (20)

[WSO2 Integration Summit New York 2019] Ballerina - Cloud Native Middleware a...
[WSO2 Integration Summit New York 2019] Ballerina - Cloud Native Middleware a...[WSO2 Integration Summit New York 2019] Ballerina - Cloud Native Middleware a...
[WSO2 Integration Summit New York 2019] Ballerina - Cloud Native Middleware a...
 
Json
JsonJson
Json
 
AWS CloudFormation Session
AWS CloudFormation SessionAWS CloudFormation Session
AWS CloudFormation Session
 
[WSO2 Integration Summit Nairobi 2019] Ballerina - Cloud Native Programming L...
[WSO2 Integration Summit Nairobi 2019] Ballerina - Cloud Native Programming L...[WSO2 Integration Summit Nairobi 2019] Ballerina - Cloud Native Programming L...
[WSO2 Integration Summit Nairobi 2019] Ballerina - Cloud Native Programming L...
 
Json
JsonJson
Json
 
Basics of JSON (JavaScript Object Notation) with examples
Basics of JSON (JavaScript Object Notation) with examplesBasics of JSON (JavaScript Object Notation) with examples
Basics of JSON (JavaScript Object Notation) with examples
 
Not your Grandma's XQuery
Not your Grandma's XQueryNot your Grandma's XQuery
Not your Grandma's XQuery
 
Mule parsing with json
Mule parsing with jsonMule parsing with json
Mule parsing with json
 
Json – java script object notation
Json – java script object notationJson – java script object notation
Json – java script object notation
 
Json
JsonJson
Json
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
 
Introduction to Restkit
Introduction to RestkitIntroduction to Restkit
Introduction to Restkit
 
WSO2 Advantage Webinar - JSON Support in the WSO2 Platform
WSO2 Advantage Webinar -  JSON Support in the WSO2 PlatformWSO2 Advantage Webinar -  JSON Support in the WSO2 Platform
WSO2 Advantage Webinar - JSON Support in the WSO2 Platform
 
XQuery Rocks
XQuery RocksXQuery Rocks
XQuery Rocks
 
What Is Happening At The Edge
What Is Happening At The EdgeWhat Is Happening At The Edge
What Is Happening At The Edge
 
Advanced Json
Advanced JsonAdvanced Json
Advanced Json
 
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
 
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
 
[WSO2 Integration Summit Madrid 2019] Integration + Ballerina
[WSO2 Integration Summit Madrid 2019] Integration + Ballerina[WSO2 Integration Summit Madrid 2019] Integration + Ballerina
[WSO2 Integration Summit Madrid 2019] Integration + Ballerina
 
AWS for Startups, London - Programming AWS
AWS for Startups, London - Programming AWSAWS for Startups, London - Programming AWS
AWS for Startups, London - Programming AWS
 

Mehr von Ballerinalang

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/2021Ballerinalang
 
Managing dependencies in ballerina
Managing dependencies in ballerinaManaging dependencies in ballerina
Managing dependencies in ballerinaBallerinalang
 
[Ballerina Community Call] Language Integrated Queries
[Ballerina Community Call] Language Integrated Queries[Ballerina Community Call] Language Integrated Queries
[Ballerina Community Call] Language Integrated QueriesBallerinalang
 
[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 ChangesBallerinalang
 
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...Ballerinalang
 
[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 BallerinaBallerinalang
 
[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 LanguageBallerinalang
 
[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...Ballerinalang
 
[Ballerina Community Call] Java Interoperability
[Ballerina Community Call] Java Interoperability[Ballerina Community Call] Java Interoperability
[Ballerina Community Call] Java InteroperabilityBallerinalang
 
[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 BallerinaBallerinalang
 
[Cloud DC Meetup] Cloud Native Development with Ballerina
[Cloud DC Meetup] Cloud Native Development with Ballerina[Cloud DC Meetup] Cloud Native Development with Ballerina
[Cloud DC Meetup] Cloud Native Development with BallerinaBallerinalang
 
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...Ballerinalang
 
[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 CloudBallerinalang
 
[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina
[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina
[DeveloperWeek 2020] Conquering Network Distributed Applications Using BallerinaBallerinalang
 
[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...Ballerinalang
 
[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...
[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...
[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...Ballerinalang
 
[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 developersBallerinalang
 

Mehr von Ballerinalang (17)

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
 
[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 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
 
[Cloud DC Meetup] Cloud Native Development with Ballerina
[Cloud DC Meetup] Cloud Native Development with Ballerina[Cloud DC Meetup] Cloud Native Development with Ballerina
[Cloud DC Meetup] Cloud Native Development with Ballerina
 
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...
[DevOps Pro Europe 2020] The Cloud-Native and DevOps Friendly Programming Lan...
 
[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 2020] Conquering Network Distributed Applications Using Ballerina
[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina
[DeveloperWeek 2020] Conquering Network Distributed Applications Using Ballerina
 
[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...
 
[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...
[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...
[ApacheCon NA 2019] Conquering Network Distributed Applications Using the Bal...
 
[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
 

Kürzlich hochgeladen

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

[DeveloperWeek Austin 2019] Microservices in Practice with Ballerina, Kubernetes and Istio

  • 1. Microservices in Practice with Ballerina, Kubernetes and Istio November 2019 Lakmal Warusawithana, Senior Director - Cloud Architecture, WSO2 @lakwarus
  • 4.
  • 5.
  • 8. JSON as a native type json is just a union - () | int | float | string | map<json> | json[] // JSON object json payload = { "orderdata": { "id": 1, "name": "XYZ", "price": 2500 } }; //Access object values json orderid = payload.orderdata.id; //JSON arrays json orders = { "orderdata": [ { "id": 1, "name": "XYZ", "price": 2500 }, { "id": 2, "name": "ABC", "price": 3000 } ] };
  • 9. XML as a native type // Simple XML literal xml x1 = xml`<name>Lakmal Warusawithana</name>`; // XML with namespaces xmlns "http://wso2.com" as ns0; xml x2 = xml `<name id="123" status="married"> <ns0:fname>Lakmal</ns0:fname> <ns0:lname>Warusawithana</ns0:lname> </name>`; // XML literal with interpolation string lastName = "Warusawithana"; xml x3 = xml`<lname>${lastName}</lname>`; // Concat XML values xml x4 = x1 + x2 + x3;
  • 11.
  • 12.
  • 13. apiVersion: apps/v1 kind: Deployment metadata: name: hello-deployment labels: app: hello spec: replicas: 1 selector: matchLabels: app: hello template: metadata: labels: app: hello spec: containers: - name: hello image: hello:latest imagePullPolicy: "IfNotPresent" ports: - containerPort: 9090 Create a deployment.yaml
  • 14. apiVersion: "v1" kind: "Service" metadata: labels: app: "hello" name: "hello" spec: ports: - port: 9090 protocol: "TCP" targetPort: 9090 selector: app: "hello" type: "NodePort" Create a service.yaml
  • 15.
  • 16. However, those parts are not part of the programming experience for the developer.
  • 18. ● @kubernetes:Deployment{} ● @kubernetes:Service{} ● @kubernetes:Ingress{} ● @kubernetes:HPA{} ● @kubernetes:Secret{} ● @kubernetes:ConfigMap{} Supported K8s and Istio Kinds ● @kubernetes:PersistentVolumeClaim{} ● @kubernetes:ResourceQuota{} ● @kubernetes:Job{} ● @openshift:Route{} ● @istio:Gateway{} ● @istio:VirtualService{}
  • 19. ● Ballerina helps to write Microservices by providing network abstraction as first class language constructs ● Ballerina natively understand Cloud Native platforms like Docker, Kubernetes and Istio. ● Ballerina removes gap between developers and Ops. ● Ballerina and Kubernetes support agile development to deployment and improve productivity. Takeaways
  • 20. How to get involved Learn more Open source Get support http://ballerina.io http://github.com/ballerina-platform/ Stack Overflow #ballerina tag