By Bart Dong
The IEC Type 4 focuses on AR VR applications running on the edge. In general, the architecture consists of three layers:
- We use IEC as IaaS Layer.
- We deploy TARS Framework as PaaS Layer to governance backend services.
- And for the SaaS layer, AR/VR Application backend is needed.
There are multiple use cases for AR /VR itemized below. For Release 4, we focused on building the infrastructure and virtual classroom application, which I highlighted here:
Let’s have a quick look at the Virtual Classroom app. Virtual Classroom is a basic app that allows you to live a virtual reality experience simulating a classroom with teachers and students.
Generally, it has two modes, the Teacher mode, and the Student mode.
- In Teacher mode
- You will see the classroom from the teacher’s view.
- You can see some students in the classroom listening to your presentation.
- In Student mode
- You will see the classroom from a student’s view.
- You can see the teacher and other students on the remote side.
The whole architecture, shown below, consists of three nodes: Jenkins Master, Tars Master, and TARS Agent with AR/VR Blueprint.
- For the Jenkins Master, we deployed a Jenkins Master for our private lab for testing.
- For the TARS Master, we deploy a Tars Platform for serverless use case integration.
- For the TARS agent, we deployed the Virtual Classroom back-end on this node and two front-end clients as the Virtual Classroom teacher and student on KVM.
It’s not a very difficult architecture. As I mentioned before, the TARS Framework plays an important role as PaaS Layer to governance backend services. Then let’s go a little bit further with TARS.
TARS is a high-performance microservice framework based on name service and TARS protocol, an integrated administration platform, and an implemented hosting service via a flexible schedule. TARS adds support for Arm, x86, and multiple platforms, including macOS, Linux, and Windows.
TARS can quickly build systems and automatically generate code, taking into account ease of use and high performance. At the same time, TARS supports multiple programming languages, including C++, Golang, Java, Node.js, PHP, and Python. TARS can help developers and enterprises quickly build their own stable and reliable distributed applications in a microservices manner to focus on business logic to improve operational efficiency effectively.
TARS is working in PaaS. It can run on physical machines, virtual machines, and containers, including Docker and Kubernetes. You can store TARS service data in Cache, DB, or a file system.
TARS framework supports Tars protocol, TUP, SSL, HTTP 1/2, protocol buffers, and other customized protocols. TARS protocol is IDL-based, binary, extensible, and cross-platform. These features allow servers to use different languages to communicate with each other using RPC. And TARS supports different RPC methods like synchronous, asynchronous, and one-way requests.
TARS has multiple functions to govern services and can integrate other DevOps Tools, such as Jenkins as the IEC Type 4.
For release 4, we updated TARS to version 2.4.13, which supports multiple new features, such as API Gateway (named TarsGateway), that supports transfer of HTTP protocol to TARS protocol.
We provided a serial of TARS API to the Akraino API map, including application management APIs and service management APIs.
And last year, on March 10th, TARS evolved into a non-profit microservices foundation under the Linux Foundation umbrella.
The TARS Foundation is a neutral home for open source Microservices projects that empower any industry to quickly turn ideas into applications at scale. It’s not only TARS but a microservices Ecosystem. It will solve microservices problems with TARS characteristics, such as:
- Agile Development with DevOps best practices
- Built-in comprehensive service governance
- Multiple languages supported
- High performance with Scalability
Here is a summary of what we have done in release 4:
- We focused on building the infrastructure and virtual classroom application, which I mentioned before.
- We deployed the AR/VR Blueprint in Parserlabs, and used Jenkins to make CI/CD available in the Blueprint.
- For release 4, we updated TARS to version 2.4.13 which supports multiple new features, such as API Gateway (named TarsGateway), that supports transfer of HTTP protocol to TARS protocol.
- We then passed the security scan and the validation lab check.
For the coming Release 5, we are planning to deploy IEC Type 4 AR/VR on Kubernetes by K8STARS.
K8STARS is a convenient solution to run TARS services in Kubernetes.
It maintains the native development capability of TARS and automatic registration and configuration deletion of name service for TARS.
It supports the smooth migration of original TARS services to Kubernetes and other container platforms.
The K8STARS is a non-intrusive design, no coupling relationship with the operating environment.
Service can be run as easy as one command like:
kubectl apply -f simpleserver.yaml
If you are interested in TARS Foundation or TARS, please feel free to contact us via email firstname.lastname@example.org
Anyone is welcome to join us in building the IEC Type 4 AR/VR blueprint and microservices ecosystem!