Jul 2022
18 Mon
19 Tue
20 Wed
21 Thu
22 Fri
23 Sat 12:00 PM – 01:00 PM IST
24 Sun
Rajasekharan Vengalil
With many enterprises exploring1 the possibility of including Rust language into the design of products and services, it becomes important to discuss some of the factors which can swing this decision. Designed as a Birds-of-Feather (BoF) session, this brings together developers, senior leaders and interested members who discuss some of the key points which influence the decision.
The invited participants in the BoF session were:
Vinayak Hegde - CTO-in-Residence at Microsoft for Startups - moderated the discussion.
Rust language is popular. Apart from the heavy usage in applications, services and products dealing with cryptocurrency, the programming language is also the go-to when designing application CLIs or backend. Designing ship-ready services which are measurably fast or need low latency for data transport were some of the examples brought out at the discussion. The discussion appreciated that for some programmers who are transitioning from a different language to Rust, there is going to be a definite period of learning. However, once that is done, building services in Rust language becomes easier.
One important aspect of enterprise adoption of a programming language is that it does not happen in isolation2. It evaluates the presence of a vibrant community, good developer aids like package managers, IDEs and documentation and the opportunities to participate in events for show-and-tell. The participants at the BoF were extremely positive about the Rust language community both in India and global as well as the focus on ensuring that new members feel engaged, involved and welcomed. An example was provided about how even for spaces such as building products around embedded devices - the choice of Rust language did not present any showstoppers. The emphasis was on being able to determine how much of the product/solution stack was controlled by the company and hence amenable to the kind of changes which Rust language would bring about.
Some of the concerns which were brought up include the time taken to ship an artefact built in Rust language. With longer compile times (and that the compiler errors often take time to debug) it is not unusual to have teams being frustrated about the time taken to deploy. And while the community acknowledges this to be an issue which is being gradually addressed - this is something which any business will have to find ways to deal with - especially when deploying critical fixes within strict time windows.
The discussion veered towards the notion that Rust language is now being viewed as being energy efficient - a factor that is important for deployment at scale. And while it isn’t the only programming language which can claim to be efficient, it does so with enough guardrails to prevent security issues around memory safety.
Enterprises need to be careful about adopting a new programming language in their portfolio as it means supporting products/services built with that language over a number of years. The risks associated with such decisions include developer time, productivity as well as the complexity originating from designing for security and privacy. And in some situations, that Rust easily interoperates with existing programming language code (eg. C++) makes it easier for the adoption.
The participants stressed on the need to evaluate the particular end use case before the decision to use Rust language. One reason for this is that certain domains viz. data science work is at this point very unsuitable and a team is likely to have poor developer experience if Rust is selected. On the other hand, there are business and strategic needs e.g. maintaining a specific registry of artefacts, shipping lightweight binaries which are well served through the inclusion of Rust language in the technology stack.
Rootconf is a platform for systems, SRE and DevOps engineers to discuss practical issues and approaches towards building and managing reliable infrastructure. Since 2020, Rootconf has expanded into the following specialized verticals:
Hasgeek is a platform for building communities. Hasgeek believes that effective and sustainable communities are built in a modular manner, and with an underlying layer of infrastructure and services that enable communities to focus on the core of their work. Hasgeek provides this infrastructure, and the capabilities for communities to amplify their work and presence.
This summary is composed by Sankarshan Mukhopadhyay, editor at Privacy Mode, and head of editorial strategy at Hasgeek.
Rootconf thanks Rajasekharan Vengalil, software engineer with over 20 years experience, for developing the questions for the BOF, and the topics for the upcoming mini conference on Rust language. Watch editorial updates on hasgeek.com/rootconf for more details.
Hosted by
Supported by
{{ gettext('Login to leave a comment') }}
{{ gettext('Post a comment…') }}{{ errorMsg }}
{{ gettext('No comments posted yet') }}