Deploying a Percona Server to a Hybrid Cloud

Paul Namuag

If you come across this question accompanied by doubts and scepticism, there's nothing different from the regular deployment. This is the fact, but the challenge awaits how the architecture is designed and how it can be used for production or enterprise deployment. Challenges come on how to deploy the right way. When you say the right way, it has to be secure, secluded from the public internet and has to be of limited access to whenever possible as it transmits data over the internet.

 

In this blog, we'll guide you through deploying Percona Server on a Hybrid Cloud. Let's get the basics first on what actually is a Hybrid Cloud.

What is a Hybrid Cloud?

Hybrid cloud is composed of a mix of an on-premise or a private cloud, then with a public cloud type of interconnected workloads that are deployed across multiple computing environments.

Sometimes this term is commonly mixed or inconsistently used with multi-cloud for which the latter is a mixed of multiple public clouds or with private and on-prem environments. 

A Hybrid Cloud can be simplified with this diagram as we have shown below:

Things To Ensure With Your Hybrid Cloud

There are things to consider and ensure which serves as your hybrid cloud to operate correctly. These drivers are your basis to get the environment setup correctly. Architecture and security wise, it has to be safe, and it has affect performance to your database servers and also its communication factor from cloud-cloud interactivity.

On the business side, common things with Hybrid Cloud are,

  • Reducing capex or general IT spending.

  • Increasing flexibility and agility to respond better to changing market demands.

  • Building out capabilities, such as advanced analytics services, that might be difficult to implement in existing environments.

  • Improving the quality and availability of service.

  • Improving transparency regarding costs and resource consumption.

  • Heeding laws and regulations about data sovereignty.

  • Avoiding or reducing vendor lock-in.

For design and development, common drivers are:

  • Automating and accelerating application rollouts to achieve faster time to market and shorter cycle times.

  • Leveraging high-level APIs and services to speed up development.

  • Accelerating the provisioning of compute and storage resources.
     

While the most important thing, especially with a production environment, has to have a full introspection of your environment. Who accesses it (clients, applications), how it can be accessed, who's allowed (engineers) to access it, level of security, and how data is stored securely.

  • Ensuring consistent authentication, authorization, auditing, and policies across computing environments.

  • Using consistent tooling and processes to limit complexity.

  • Providing visibility across environments.


For security, deploying your Percona Server to a Hybrid Cloud must ensure that it passes the level of security during network activity between boundaries, i.e. from its on-premise or a private cloud to a public cloud and vice versa. Level of security for infrastructure communication can be,

  • Using TLS for your database communication

  • On a private network. There are options that some can implement to do it. 

    • Multi-Protocol Label Switching (MPLS)

    • SD-WAN

    • Amazon Direct Connect

    • Amazon Direct Connect + VPN

    • AWS Managed VPN

    • Cloud VPN (GCP, Azure)

  • Software VPN

Deploying Your Percona Server To A Hybrid Cloud

In this blog, we'll deploy a simple deployment where our master sits on the public cloud, and a replica is located on-prem or our private data center. To achieve this, we depend on using software VPN through OpenVPN.

Using OpenVPN provides us as our main transit for transmitting data over the internet securely and safely against intruders and attackers. It encapsulates our data over the wire; servers are also accessed with local IP addresses within their local area or private network. Our previous blogs have provided a guide on how you can use OpenVPN and set up a secure layer for your multi-cloud setup. We'll use ClusterControl to deploy a Percona Server 8.0 version using a primary and replica. ClusterControl can be downloaded for free, and you can deploy your Percona Server for free and very efficient for your productivity.

 

First, click the deployment button found in the right upper corner, and the deployment wizard will show up. We'll do the new deployment since we will not be importing existing Percona database servers.

 

 

Next, provide the server access details as shown below,

If you noticed that the user "vagrant" shall not be existent in your public cloud, for example. Take note that it has to be created first in the OS so that ClusterControl has its autonomy to rule the deployment process. You can follow our guidelines and also it has to be a passwordless SSH user.

 

Next is defining the type of database to deploy and we are choosing Percona Server version 8.0.

Define its data directory path which points to /var/lib/mysql by default and also it's admin/root password.

 

Lastly, specify now the hostname/IP address or FQDN of the servers. Now, we'll be pointing to 10.148.0.12 which is the local IP address of our master or primary server located in GCP. On the other hand, our replica is located on-prem using Class C IP address. Once defined, just hit the deploy button and we're done.

 

ClusterControl will provide you with details that the job has been completed and successfully finished.

 

Now, that the job is done, here's the topology of the end result.

 

Deploying with ClusterControl is very efficient and fast but you can also do this manually. ClusterControl provides you with the commands to be done just like you see below:

 

Conclusion

Deploying your Percona Server for your Hybrid Cloud setup does not differentiate from the regular deployment. All you have to be focusing on is the architectural setup and its drivers mentioned in this blog, specifically the security and performance of your database when running in production or live.

 
ClusterControl
The only management system you’ll ever need to take control of your open source database infrastructure.