Istio is a service mesh cloud platform that helps to run a distributed microservice architecture; it provides a uniform way to secure, connect, and monitor microservices. The platform makes it easy to create a network of deployed services with load balancing, service-to-service authentication, monitoring, and more, without any changes in service code. After a developer builds a microservice, he/she needs to create a container image and a set of YAML files to deploy the microservice into Istio mesh. Most of the time, these parts are not part of the programming experience.
Ballerina is a cloud native programming language that understands the architecture around it. It is capable of auto-generating deployment artifacts like Docker images and Kubernetes YAMLs. This session will discuss the advantage of having a service mesh and a cloud native programing language in your microservice application ecosystem. The session will also demonstrate how a developer can deploy from source to Istio service mesh by adding a set of annotations in the source code.
12. $>kubectl apply -f deployment.yaml
deployment.extensions "my-app-deployment" created
$>kubectl get pods
NAME READY STATUS RESTARTS AGE
my-app-666f4f4bbf 1/1 Running 0 50s
14. $>kubectl apply -f my-app-service.yaml
service "hello-service" created
$>kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-app NodePort 10.110.136.115 <none> 9090:31657/TCP 5m
15. However, those parts are not part of
the programming experience for the
developer.