MemSQL has been designed and developed as a distributed relational database, bringing the effectiveness of the relational database model into the new world of the cloud, containers, and other software-defined infrastructure – as described in a new report from 451 Research. Today, most of our customers run our software using some combination of the cloud and containers, with many also running it on-premises.
Today, we are purveyors of the leading platform-independent NewSQL database. Having recently joined the Cloud Native Computing Federation, we’d like to take this opportunity to answer the question: “What makes a database cloud-native?”
Cloud-Native Software Definition
There are many definitions of “cloud-native software” available. 451 Research states that cloud-native software is “designed from the ground up to take advantage of cloud computing architectures and automated environments, and to leverage API- driven provisioning, auto-scaling and other operational functions.”
The company continues: “Cloud-native architecture and software include applications that have been redesigned to take advantage of cloud computing architectures, but are not limited to cloud applications – we see cloud-native technologies and practices present in on-premises environments in the enterprise.”
The point is repeated in one of the major headings in the report: “Cloud-native isn’t only in the cloud.” 451 Research commonly finds cloud-native technologies and practices being used in on-premises environments.
What Cloud-Native Means for MemSQL
Let’s break down the 451 Research definition of cloud-native and see how it applies to MemSQL.
Takes Advantage of Cloud Features
The first point from the 451 Research report states that cloud-native software is “designed from the ground up to take advantage of cloud computing architectures and automated environments”.
MemSQL has been available on the major public cloud platforms for years, and deployments are balanced across cloud and on-premises environments. More importantly, MemSQL’s unique internal architecture gives it both the scalability that are inherent to the cloud and the ability to support SQL for transactions and analytics.
An important step has been qualifying MemSQL for use in containers. MemSQL has been running in containers for a long time, and we use a containerized environment for testing our software.
Leverages Software Automation
The report then goes into more detail on this point. Cloud-native software will “leverage API-driven provisioning, auto-scaling and other operational functions.” The ultimate goal here is software-defined infrastructure, in which the software stack is platform-independent and can be managed automatically, by other software.
MemSQL has command-line tools that integrate easily with on-premises deployment tools, such as Ansible, Chef, and Puppet, and cloud deployment mechanisms such as Azure Resource Management and CloudFormation. This is crucial to the definition and nature of cloud-native, and MemSQL’s automatability is crucial to its inclusion as cloud-native software.
MemSQL Studio provides a monitoring environment for MemSQL across deployment platforms – that is, across public cloud providers, private cloud, and on-premises.
Not Limited to Cloud Applications
Concluding their key points, 451 Research then states: “Cloud-native architecture and software include applications that have been redesigned to take advantage of cloud computing architectures, but are not limited to cloud applications… .”
The point here is that “cloud-native” doesn’t mean “cloud-only”. Cloud-native describes a set of capabilities that can be deployed anywhere — in public cloud providers, in modernized data centers, and increasingly at the edge.
The cloud-native movement combines with the unique features of MemSQL to create something really exceptional: a database that can leverage different deployment locations with ease. Flexibility and portability are creating a capability that hasn’t been available before.
Specific MemSQL features make it particularly suitable for cloud-native deployments:
- Container-friendly. As mentioned above, MemSQL runs well in containers – which is a defining characteristic for cloud-native software.
- Fully scalable. Like NoSQL databases, and unlike traditional relational databases, MemSQL is fully scalable within a cloud, on-premises, or across clouds and on-prem.
- Kafka and Spark integration. Apache Kafka and Apache Spark are widely used for data transfer in cloud-native applications, and both work very smoothly with MemSQL Pipelines.
- Microservices support. MemSQL’s performance, scalability, and flexibility are useful in microservices implementations, considered emblematic of cloud-native software.
MemSQL’s architecture and capabilities are unique and allow for unbeatable performance and effortless scale — especially when paired with elastic cloud infrastructure. An example is customers who want to move from on-premises Oracle deployments to cloud-native technologies. MemSQL improves on Oracle’s performance and reduces cost while modernizing data infrastructure.