Top 9 Major Technology Breakthroughs Of 2019
In the assessment, I relied more on my taste than on the opinion of experts. Therefore, unmanned vehicles, for example, were not included in this list, because there is nothing fundamentally new and surprising in this technology.
I did not sort the events in the list by significance or wow effect, because their significance will be clear in ten years, and the wow effect is too short-lived, I just tried to make this story coherent.
#1 Portable server applications in the Rust programming language under WebAssembly
I will start the review with two reports:
At the time of reading the report, Brian Cantrill worked at CTO at Joyent and had no idea what the outcome of 2019 would be for him and Joyent.
- Report by Steve Klabnik, a member of the core team of the Rust language and the author of the book “The Rust Programming Language”, working in Cloudflare, where he talks about the features of the Rust language and WebAssembly technology that allows you to use web browsers as platforms for launching applications.
In 2019, WebAssembly with its WASI interface, which provides access to operating system objects, such as files and sockets, stepped beyond browsers and aims at the server software market.
The essence of the breakthrough is obvious – humanity has yet another runtime that can run portable applications for the Web (does anyone remember the WORA principle invented by the authors of the Java language?).
In addition, we have a relatively safe way to create these applications thanks to the Rust language, the meaning of which is to destroy entire classes of errors at the compilation stage.
WebAssembly is so overturning the game that Solomon Hykes, one of the creators of Docker, wrote that if WebAssembly and WASI existed in 2008, Docker would simply not have been born.
It is not surprising that Rust was among the masters of the new portable technology – its ecosystem is developing dynamically and for several years Rust remains the most favorite programming language according to the results of a survey conducted by StackOverflow.
This is a slide from Steve’s report, which clearly shows the ratio of the number of security errors that can be completely avoided when using Rust to the total number of errors in MS Windows found over the past decade and a half.
Microsoft had to somehow respond to such a challenge, and it answered.
#2 Project Verona from Microsoft, which will save Windows and open a new history page for any OS
The number of errors in the Microsoft Windows kernel and most user programs has increased almost linearly over the past 12 years.
In 2019, Matthew Parkinson of Microsoft introduced the public to Project Verona, which could put an end to this.
This is Microsoft’s initiative to create a secure programming language based on the ideas of the Rust language: Microsoft Research colleagues found that most of the security problems are related to the heavy legacy of the C language, which most of Windows is written in. Verona’s rust-like language manages memory and concurrent access to resources using the principle of zero-cost abstractions. If you want to understand how it works in detail, check out the report by Parkinson himself.
It is interesting that Microsoft has traditionally been perceived as an empire of evil and the adversary of everything new, despite the fact that Simon Peyton-Jones, the main developer of the Glasgow Haskell Compiler, works specifically at Microsoft.
Brian Cantrill’s question from the first paragraph: “Is it time to rewrite the kernel of the operating system to Rust?” Received an unexpected answer – it is obvious that the kernel of the operating system is not yet possible to be rewritten, but programs running in userspace are already being rewritten. An unstoppable process has begun, and this will open a new page for the future for all operating systems.
#3 The rise in popularity of the Dart programming language thanks to the Flutter framework
I am sure that the next news is a big surprise not only for us and the general public but also for most of the direct participants in the process of its formation. The Dart programming language, which appeared on Google eight years ago, this year showed a rapid increase in popularity.
I use my method of assessing the popularity of programming languages by analyzing repositories on Github, updating the data in the table once a month. If at the beginning of the year there were only 100 popular repositories on Dart, today there are already 313 of them.
Dart has overtaken Erlang, PowerShell, R, Perl, Elixir, Haskell, Lua, and CoffeeScript in popularity. Faster, it seems, no other programming language has grown this year. Why did it happen?
One of this year’s keynote presentations by the HackerNews audience was read by Richard Feldman and was titled “Why is functional programming, not the norm?” Much of the talk is about analyzing how programming languages are becoming popular. One of the main reasons, according to Richard, is the presence of a popular application or framework, in other words, the killer app.
For the Dart language, the Flutter mobile application development framework became the reason for popularity. According to Google Trends, the popularity rise of it was just at the beginning of this year.
We do not know anything about Dart since we are not involved in mobile development, but we warmly welcome another programming language with static typing.
#4 The chance of survival of the Linux kernel and its community thanks to the virtual machine eBPF
We love conferences at VDSina: this year I went to the DevOps conference in St. Petersburg and participated in a round table devoted to trends and hot things in the industry. In 2019, such conversations were dominated by opinions:
- Docker is dead because it’s too boring
- Kubernetes is alive and will last for about a year – they will talk about it at conferences in 2020
- meanwhile, no one has been looking into the Linux kernel for a long time
I do not share the last point, from my point of view, in the development of the Linux kernel, not just interesting, but revolutionary things are happening now. The most notable is the eBPF virtual machine, which was originally created to solve the boring task of filtering network packets, and then grew into a general-purpose kernel-level virtual machine.
Thanks to eBPF, the kernel now reports the occurrence of events that can be partially processed outside the kernel – the interface allows you to safely and effectively interact with the kernel from userspace and expand and complement the functionality of the Linux kernel, bypassing the all-seeing eye of Linus Torvalds.
Prior to eBPF, the development of programs whose activities are closely related to interacting with the Linux kernel was a difficult story – to create things like drivers of not very fast devices and interfaces for file systems in userspace, it was necessary to go through a formal review procedure by experienced Linux kernel developers.
- The appearance of the eBPF interface greatly simplified the process of writing such programs – the input threshold has decreased, there will be more developers and the community will come to life again.
I’m not alone in my enthusiasm: long-standing core developer David Miller declares the importance of eBPF for the survival (!) Of the core development ecosystem. Another, no less well-known developer Brendan Gregg (I’m his big fan) calls eBPF a breakthrough that has not been equal to 50 years.
Meanwhile, Linus Torvalds usually doesn’t publicly praise him for that, and I can understand him – who wants to publicly expose himself as an idiot?
#5Linux hammer almost the last nail in the FreeBSD coffin thanks to the io_uring asynchronous interface in the Linux kernel
Since we are talking about the Linux kernel, there is another significant improvement that has taken place this year: the inclusion of the new high-performance asynchronous io_uring asynchronous I/O API, written by Jens Exbow from Facebook, in the kernel.
For many years, system administrators and developers for FreeBSD based their choice on the fact that asynchronous I/O was done better on FreeBSD than on Linux. For example, Gleb Smirnov from Nginx used this argument in his report in 2014.
Now the game has turned upside down. The Ceph distributed file system has already switched to io_uring and the results of the performance tests are impressive – the increase in the number of I/O operations per second is from 14% to 102% depending on the block size. There is a prototype that uses asynchronous I/O in PostgreSQL (at least for the background writer), further work is planned to translate PostgreSQL to asynchronous I/O. But given the conservatism of the developer community, we will not see these changes in 2020.
#6 AMD’s Triumphant Return with Ryzen Processor Line
Nothing unusual, just AMD, a long-time industry co-star, breaking record after record.
The new Ryzen processor line has shown an incredible price/performance ratio: they dominate the list of best-selling processors on Amazon, and in some regions, AMD processor sales exceeded Intel sales. In the competition, Intel is forced to take extremely unpopular measures: it makes programs created with their own compiler to work less efficiently on competitor’s processors. Despite Intel’s dirty ways of fighting, AMD’s market estimate came close to the record highs of 2000.
#7 Following AMD, Apple aims to bite off a piece of Intel pie using iPadOS and old Gates tricks
Everyone who can hold weapons is usually trying to participate in the battles of giants, and not only AMD is applying for Intel’s feed base. Apple acted like an old bull from a joke.
With the launch of the new iPad, Apple used a tactic against Intel called “disruptive innovation” – disruptive innovation.
- “Disruptive innovation” (Eng. Disruptive innovation) – an innovation that changes the ratio of values in the market. At the same time, old products become uncompetitive simply because of the parameters on the basis of which competition previously took place to lose their significance.
Examples of “disruptive innovations” are the telephone (replaced the telegraph), steamboats (replaced the sailing vessels), semiconductors (replaced the vacuum equipment), digital cameras (replaced the film), e-mail (“undermined” traditional mail).
Apple uses its own energy-efficient ARM-based processors, and this has proved more important to users than the performance slightly behind Intel x86.
Apple manages to snatch part of the market, turning the iPad from an entertainment terminal into a full-fledged working tool – first for those who create content, and now for developers. Of course, in the near future, we will not see an ARM-based MacBook, but the little troubles with the design of the MacBook Pro keyboards help to find alternative solutions and one of them promises to be iPad Pro with iPadOS.
What about Gates and Microsoft?
At one time, Gates did the exact same trick with IBM.
In the 1970s, IBM dominated the server market, with the giant’s confidence not paying attention to personal computers for the layman. In the 1980s, Gates created IBM for money and licensed MS-DOS for it, leaving the rights to the operating system to itself. Having received the money, Microsoft creates a graphical interface for MS-DOS, and Windows is born – first just a graphical add-on for DOS, and then the first operating system for PC, convenient for use by the masses. IBM, being a large sluggish company, is losing the PC market to young and fast Microsoft. I very briefly retold this wonderful story, so if you are interested in how Apple will play against Intel using the iPadOS in 2020, I highly recommend reading it in its entirety.
#8 Strengthening the position of ZFSonLinux – the old horse does not spoil the furrow
Canonical introduced the ability to install Ubuntu using the ZFS file system as the root file system directly from the installer. Sometimes it seems to me that the engineers who worked at Sun Microsystems represent a separate biological species of a rational person (Brian Cantrill and Brendan Gregg, already mentioned, worked at Sun). Judge for yourself, despite the many years of attempts by all mankind to do something, at least remotely similar to the ZFS file system, despite insoluble licensing restrictions that prevent the inclusion of ZFS source code in the main development branch of the Linux kernel, we still use ZFS, and soon the situation will not change.
#9 Oxide Computer Company – we will closely monitor the team, which is clearly capable of much – at least create a cool show
I end my list with a new mention of Brian Cantrill, with whom I began.
Brian Cantrill, along with other engineers (some of whom also worked at Sun earlier), founded an enterprise called Oxide Computer Company, whose main goal is to create a server platform suitable for use on a large scale. It is known that very large corporations, such as Google, Facebook, and Amazon, do not use ordinary server hardware in their activities. Brian’s company is called upon to eliminate this inequality by developing a software and hardware platform suitable for use by any cloud service (it will not do without the Rust programming language).
Their idea is the promise of a new revolution, and I will at least be happy to observe the movement of their thoughts and their development in the coming 2020.
What we managed to do in 2019 at VDSina
We did not make technological breakthroughs in 2019 with VDSina, but we still have something to be proud of.
In February, we added the ability to use a local area network between servers and launched the domain registration service.
In March, they performed at IT Global Meetup #14.
In April, they increased the channel width for each server from 100 to 200 Megabits, significantly increased the traffic limit for all tariffs (except the cheapest) – up to 32 TB per month.
In July, customers had the opportunity to automatically install Windows Server 2019. Within the Moscow location, they began to provide free protection against DDoS.
Also in July, our company appeared on Habré, debuting an article on how we wrote our own hosting control panel and how this helped us to make a quantum leap in customer support.
- In August, they added the ability to create snapshots – server backups.
- Rolled out a public API.
- Increased the channel width for each server from 200 to 500 megabits.
- We participated in the Chaos Constructions 2019 conference, handing out whips with the company logo (the campaign slogan was “When the developer is on top”) as a merch and exploded telegram chats.
In September, we launched the cutest and friendliest Instagram company of the IT company – a dog-developer started telling about the news and everyday life of VDSina.
In November, we went to Highload ++, participated in a roundtable discussion on “databases in Kubernetes,” and put participants in shark caps.
In December, we spoke at the DevOps-meeting in the office of GazPromNeft with a report on databases in Kubernetes and at the DevOpsDays conference in Moscow with a report on burnout, which definitely was my best performance of the year.
As Nassim Taleb said, it’s much easier to predict what we definitely won’t see. I want to note that everything new that we will see in 2020 originates in 2019, 2018 and earlier. I do not presume to predict the future for sure, but 2020 will definitely not be the year of Linux on the desktop (when was the last time you saw the desktop?) And we have been witnessing the Linux year on mobile devices for about ten years.
In any case, I hope that in a year we will get together and discuss how everything really happened.