As you hopefully noticed over the last few decades, networking technology has evolved quite a bit. Since basic telephone lines and operators, we’ve come a long way to enjoy the fast and ubiquitous world of the internet and smartphones; communication has gone from being slow and mostly local - to instant, global, and relatively inexpensive.
Do remember the 90’s when you were lucky to share one computer with the whole family, and if someone was online, the phone line was occupied! What a revolution it was to plug in a second RJ-45 to use both the phone and internet at the same time!
The beauty of networking technology is that it is composed of multiple layers, each serving a specific function, working together to make a technology that’s greater than the sum of its parts. As described in “Introduction to Computer Networking: How the Internet Works” by Charles R. “Chuck” Severance, at a basic level, each layer depends on the layer above and below it:
|Link or DataLink||Ethernet|
So, when designing an Application layer, you don’t need to worry about the Network or Link Layers at all - only the Transport layer. What a relief - the engineers who worked on this are much appreciated!
Networking isn’t the only stack you’re familiar with...the common software solution stack used by most of the web’s most popular applications, LAMP, looks generally like this:
|PHP, Perl, or Python|
You can replace any of the parts with your preferred alternative, and most Linux distributions automatically come with some version of all the components. It’s a proven architecture - no need to reinvent the wheel; you can focus on innovating in the parts of your application that make it unique and competitive.
Database Clustering Stack
If you’re building a mission-critical or business-critical application, you may furthermore be familiar with the modern database clustering “stack.” It is commonly used by SaaS, eCommerce, Financial Services, Gaming, and Telco organizations to augment the MySQL Layer with high availability, disaster recovery, geo-distribution, and other benefits like scaling and performance, and ease of management.
|Application||No application changes to deploy MySQL clusters using Tungsten.|
|Monitoring||Use built-in monitoring and/or integrations with Nagios, NRPE, Prometheus, Zabbix, PagerDuty, etc. Also monitor and manage all clusters globally, from a single visual pane.|
|Proxy||Enable load balancing, optimal read/write splitting, automatic switch|
|Cluster Orchestration||Maintain awareness of states and automatically “manage” the Proxy and Replication layers|
|Data Replication||Intelligently move data in real-time to other DB nodes in the cluster|
|Database Server||Upgrade DB or make OS/infra changes - with no downtime|
You can piece these parts together on your own (read about DIY clustering here). However, as you know, there are benefits to using a proven and complete solution, especially that includes reliable documentation, training, and 24/7 support from the original development team. This is especially valuable when it comes to a critical piece of your stack that must just work.
Tungsten has been recognized as the gold standard for continuous MySQL operations, with over $20B in revenue riding on Tungsten Clusters each year for over a decade. The Tungsten developers are at the frontier of WAN MySQL deployments, including usage for Disaster Recovery (DR), geo-distribution, and hybrid- and multi-cloud.
Tungsten can be deployed with no application changes on top of any native version of MySQL, MariaDB, or Percona Server for MySQL.
Just like other "stacks," the Tungsten components work together to make up a technology greater than the sum of its parts; customers don’t have to worry about their MySQL database layer or any of the cluster components and can devote resources to innovating where their applications become ever-more competitive.
Feel free to reach out to learn more.