An introduction to quantum computing architecture
When the first few turbo cars came about, they were marketed by sticking the word "turbo" on the back. The word became synonymous with "power," so pretty soon, you could find all kinds of household appliances and other gadgets emblazoned with the word "turbo." A similar thing seems to have happened with the word "quantum," as I find it in all kinds of odd contexts, like the design of houses or models of working.
"Schrödinger's cat" is another concept that some people associate with quantum technology. Schrödinger was corresponding with Einstein and used the cat in a thought experiment intended to disprove (in theory) the idea that superposition could only be revealed once observed (before that, it could be anything). This idea about how quantum mechanics behaved came from Niels Bohr and Werner Heisenberg and is often referred to as the "Copenhagen interpretation."
A recent article from Jussi Lindgren and Jukka Liukkonen "concluded that the correlation between a location and momentum, i.e., their relationship, is fixed. In other words, reality is an object that does not depend on the person measuring it." To me, this is vastly cool because it continues to fuel a discussion that started 100 years ago!
What's so special about a quantum computer?
Quantum computing is inherently probabilistic, which means it solves challenges based on the most probable outcome while using several dimensions simultaneously. If regular computing can be compared to flipping a coin, where the result is either heads or tails, quantum computing calculates the most probable outcome in a sort of "while the coin is spinning" way. However, quantum computing is more than that: It can be both heads and tails simultaneously, and any variation in-between these two states. This concept is known as superposition. This way of working allows a quantum computer to perform millions of calculations simultaneously to work out the most probable solution or even solutions, which provides us with more options to choose from.
In the world of quantum mechanics, there are phenomena like the quantum state of superposition, quantum entanglement, string theory, and more. The research in this field has a good headwind, and a lot of progress is being made. The mathematical models for how to use all this are evolving rapidly, and new scientific papers on the topic are being published all the time.
Anyone for some qubits?
Quantum computers use qubits to harness the power of quantum mechanics. However, the operations inside qubits are unstable and very sensitive. So far, qubits require some special, challenging requirements to function correctly. They need vacuum and temperatures extremely close to absolute zero. They also tolerate no interference, which becomes very complicated when operating on a nano scale with individual photons and electrons.
The difference between bits and qubits is that a regular computer needs eight bits to represent any number between 0 and 255. With eight qubits, a quantum computer not only represents every number between 0 and 255, but it does it simultaneously! This warps my mind, and even though I have read it so many times, I am still confused about how it actually works—but it does.
There is fascinating research on making quantum computers operate at near room temperature and decreasing their sensitivity by improving the error correction models. When all that comes to fruition, the doors to the future will burst wide open.
So we have established that quantum computers behave very differently from ordinary computers. This also requires entirely new ways of thinking, new math, new models for programming, and new methods of administering the whole thing. Subsequently, new thoughts around setting up the architecture around a quantum computer are needed, especially if we consider how it should interact with classical computers.
Using quantum computing in your system architecture
There are many things to consider when adding a quantum computer to the existing IT infrastructure of classical computers, and this will be explored in another article. Still, one good starting point is to reflect on where to place this new resource. Depending on the type of organization you are architecting for, there might be arguments to have it on-premises or to include it as a service.
In-house quantum computer
This is not to say that each company must have their own quantum computer; that's a difficult order, partly because they are quite expensive and rather delicate to maintain, but also because of the blistering pace of progress. The predominant risk of a quantum computer being outdated even before it is properly run-in is a bit daunting and should spur the plans to source such a service.
Also, consider that today's quantum computers don't really have an equivalent to Windows or Linux—a generic operating system that works on many different quantum computer hardware platforms. Of course, there are projects with this aim, but I believe we will need to go through a few generations before some standard emerges.
Interestingly, the in-house solution for a quantum computer would require much of what we saw in the early days of mainframe computers. We're talking lavish location, comprehensive cooling, excessive electrical consumption, draconian cleanliness, expert access only, and of course, no external interference whatsoever. If this sounds like your company, then, by all means, go ahead with an in-house quantum computer. Otherwise, you'll probably want to consider Quantum Computing as a Service (QCaaS)
QCaaS, speed, and trust
After deciding to get access to quantum computing power from the realms of your trusted service provider, you're now challenged with how to integrate this service-beast into your current IT landscape. From an architectural perspective, it is a good idea to collaborate with the security team on this. Connecting to a quantum computer also means that it can connect back to you, but with a significant difference in processing power. Exercise caution since you don't know who else is using the same quantum computer at your provider. Security is best served as a starter, not as a dessert.
Since quantum computers can use standard fiber-optic network components to communicate, it is also possible to exploit the well-known weaknesses in this area. So it is time to gear up, or else you will have to trust that your provider has taken all necessary security measures and that all their customers can also be trusted. As the adage goes, "trust, but verify."
The age of quantum computers is at our doorstep. Thousands of eager developers are already taking advantage of the free access to quantum platforms—IBM being one of them. There is a call for architecture to start looking into the roadmap for integrating this new technology into the existing IT landscape.
Many companies are hungry for more processing power. With quantum computers being able to do in minutes what no classical computer can even dream of ever doing, the business advantage is shining like a beacon at night.
The current generation of quantum computers is found in scientific institutions or at very large service providers like IBM and Google. There are many similarities to the first mainframe computers when it comes to complexity and uniqueness, so there are good reasons to start with QCaaS. Architecture is key to successfully integrating this new technology with the existing IT landscape, and upcoming articles will look more into the different areas and aspects.
Navigate the shifting technology landscape. Read An architect's guide to multicloud infrastructure.