In this scenario, we’ll keep it simple. This is the full on-premises scenario. You must worry about maintenance and power bills, and I’m not even counting on infrastructure costs (high-end routers, switches, cabinets, etc.).
The machine with the service is running via Ethernet cable, while the client machine is running via Wi-Fi. This is the most common connection scenario nowadays.
We’ll do 10kb test for initial values and escalate to 100kb and 5 MB. These messages are the same as the previous test scenario (test #1 TeamViewer VPN).
Test #2 10kb message
With a 10kb message, it took ~6ms to run, for each message. Even with peaks of -10ms, it’s much faster than previous scenario with the same message. This dues to proximity and LAN connection advantages. It’s a short way between them. No need to route packets for miles. Bandwidth is a crucial factor here. To exceed a 1gbps LAN connection, you need a large file travelling through, and that’s not the case here.
In case you’re wondering, we’ve added a Reset index button and batch execution. Why?
New test functionalities for real-world applications
This is the main reason. Batch send and receive messages, calculating median execution times, and getting more real-world results. The reset index button resets the OK button count, to control the number of requests made. It isn’t rocket science. Let’s move on to 100kb.
Test #2 100kb message
Now for a 100kb message. This one took, in average and for each message, 17ms to execute. Peaked ~25ms.
The same message traveled way faster than before, and response times fell. 10 times the size, increasing ~10ms on execution time. Absolutely not bad at all!
Test #2 5MB message
This is the ultimate test. The big data travelling. The worst-case scenario. Whatever you want to call it, it’s the more intensive in terms of bandwidth.
What!? 10 messages, with 5mb, in only ~563ms each? What? That’s much faster than Azure!
Why you ask?
This happens a lot. Local Area Networks (LAN) are usually faster. The connection to the outside world is flooded with data and millions of routers in between. No wonder it takes longer. Which would take longer? Copying a 1GB file from your collegues computer, or downloading the same file from the Internet? Yep, your collegues computer. LAN connection is way faster (via Ethernet, Wi-Fi may not apply, depending on the hardware you have available).
Final overview of this scenario
Well, here we are. At this point, you must be thinking: “Oh, why the hell should I migrate my solution to Azure?”
Let me explain:
1 – Dust!
Your worst enemy inside 24/7 powered on servers. If you are not carefull, it may overheat and damage some components, and all your data or business may stop! You have to do maintenance frequently, or hire someone to do it for you!
2 – Hardware!
Your main hardware concerns. RAID (Redundant Array of Inexpensive Drives) is used worldwide for data mirroring and data safety. This has a high failure rate (depending on your configuration on the array); therefore, you can lose data for good. Resuming, you have Hard Disk Drives, Raid controllers, memory chips, motherboards, NICs, Power supplies… Everything is critical inside a server! You don’t want to be this guy when something fails.
3 – Infrastructure
Cost. It’s written all over it. Power hungry servers are heat sources, so you must have air conditioners to cool them down. The usual monthly cost of a medium sized server room is 1400$, without indirect costs! Everything in this room needs maintenance and, again, can break down. This generates downtime and can be very harmful for your business. You must have people who oversee this room (an employee or an IT company for instance).
Despite these disadvantages, this is the fastest way of exchanging data, the fastest way of sending messages. But… but what?
But it’s not scalable.
Scalability. If your business services suddenly need more CPU processing power, or more RAM, your server might be uncappable of handling it! Physical hardware limitations exist. In Azure, with few clicks, you have all the performance boost you need, with little to no downtime at all!
Replication. Server replication is a clever way of avoiding downtimes. With bigger costs for on-premises, cloud manages this for you out-of-the-box, and it’s cheaper!
“Day-to-day usage of on-premises server rooms is a thing of the past!”
Read on to the next part, Via HTTP GET (without VPN)!