Careers in Engineering and Technology
Engineering and Technology
Member of Technical Staff今すぐ応募する 採用情報 ID R1912902 掲載日 Oct. 03, 2019
Avi Controller orchestrates the deployment of the Application Load Balancers across multiple data path entities referred to as Service Engine(s). The requisition involves working in the following areas which aide the orchestration of Application Load Balancers
- Web Application Module : REST API server for configuring all the services provided by the Avi Controller. It also provides API end points for retrieving metrics/log analytics, performing upgrades of the system, reporting of the operating parameters of the system etc. It is implemented on top of Django's framework, the work involved will be for new feature addition/maintenance of server-side logic, ensuring high performance and responsiveness to requests from the external orchestration entities.
- Alerts Module : Central Module in Avi Controller which executes the Alert Engine on top of the Configuration/Status Events emitted in the system. Actions defined when a Alert gets triggered help customers integrate Avi Notifications with their Network Operation Center. The focus here will be to increase the scale/performance of the Alerts Module
- vCenter Integration Module : Interfaces with VMware Ecosystems like vCenter and NSX Manager for Application Load Balancer deployment. The focus area will be to increase the scale/performance of the existing vCenter integration and also support future integration with the NSX-T infrastructure.
- Memory Balancer : This module watches the memory consumption of each service running in the Avi Controller. If the total memory consumption > 80%, services are restarted to reduce the total memory consumption of the Avi Controller. The focus area will be to improve the existing memory balancer algorithm and work with the system test teams to come up with a framework for policing memory increases due to feature adds or scale improvements.
The current implementation is spread across C++, Python and Java. The future direction of the group is to use GoLang for enhanced concurrency and optimized memory usage.
- Familiarity with Web development Frameworks
- Familiarity with ORM (Object Relational Mapper) libraries
- Able to integrate multiple data sources and databases into one system
- Understanding of the threading/memory limitations of Python, and multi-process architecture
- Knowledge of user authentication and authorization between multiple systems, servers, and environments
- Understanding of fundamental design principles behind a scalable application
- Strong unit test and debugging skills
- Good software development practices : should thrive in an environment of rapid development, peer code reviews, and writing good functional/unit tests
- High performance XML parsers and compilers, schema validation
- Host, Network, and Application Security
- Languages - Python, C++, Java, GoLang