You can run your own installation of FileMaker Server 15, with options for easy access, including Amazon Web Services. In this video, we share creative uses of infrastructure available with AWS and FileMaker Server.
Hi, this is Mike Duncan with Soliant Consulting.
Today, we want to look at Amazon Web Services and getting creative when we take a look at infrastructure as a service, setting up a FileMaker server in the cloud, and some of the different options that we have available to us.
What we are going to try today is a follow-up to our quick start guide setup of FileMaker server in the cloud. What I have done now is I’ve made an image of that. We’re going to have two FileMaker servers. Both of those instances are going to host a file that connects to a MySQL server on the backend, so that data is going to be same across both databases.
Then we’re going to create a load balancer. All of this is going to happen inside what’s called a virtual private cloud. That means this is kind of an on-its-own local network, as far as these servers are concerned. Those are exposed through the load balancer, one end-point to us out here, outside the cloud.
Using FileMaker Pro we are able to connect to the load balancer. The load balancer is going to determine the health of our servers and route us to the healthiest one. No matter which one of those servers we get connected to, both of those are going to connect back to our single data source.
Now, this isn’t a best practice by any means, but this is just more of a technology demo to show you what’s possible. So, let’s take a look at our Amazon Web Services management console. This is where we created the load balancer, and this gives us a single end-point. We can see under the “Instances” tab that we have it configured with our two EC2 instances.
Both of these are running FileMaker server. We’ve set up a listener on port 5003 because that’s what FileMaker comes into. Also, if we wanted to set up SSL we could set that up here under the SSL Certificate heading, instead of on each of our servers.
Just to give you a look at both of the instances that we have running. We can get an idea of their health based on CPU utilization network. So, that’s the criteria for which server we’re going to get routed to when we connect to this thing.
Just to give you an idea, here’s an instance of MySQL running in the cloud. This is running as what is called RDS (Remote Database Service). This is their database as a service. We can take a look at some of the different options that are pretty cost effective. For our development testing, we’ve chosen the MySQL.
Amazon also offers this “Aurora” which is higher performance MySQL compatible. They also offer Oracle and SQL server so these don’t require their own operating system to run. You don’t have to set them up as an EC2 instance. Just create the database instance and you can connect to it.
Now, let’s take a look at both of our servers. I’m logged in via remote desktop. You can see here, we have server 1 and in the other window is server 2. Both of them have the file hosted, the exact same file. Both of these files are connected via ODBC to our MySQL instance. I’m going to go ahead and log out of both of these. I just wanted to show you that those are both up and running.
Now, if we go back and look at our instances, you can see that each of them have their own IP address. But, we don’t connect via the IP address, we connect via our endpoint, our DNS name from our load balancer. Our load balancer lists both the instances and lists both of them as InService.
Finally, what we want to do is open up FileMaker Pro, open Remote, and go to our load balancer. It’s showing us a database available. We’re going to log in and we are able to tell that I was connected to server 1. Listed here is the table with MySQL data.
So now, we’re going to do something interesting. I can see that I’m connected to the first instance of my server running. I’m going to go ahead and create a new record. I’ll give it some data and commit the record, so we can see the record is created.
Now, we can see that both of my instances are connected to my load balancer, and both are listed as InService. I’m connected to the first instance, so I’m going to remove the first instance from the load balancer. You can watch and see what happens back in FileMaker.
The first instance has been removed from the load balancer, and what is going to happen is, without us doing anything – without us having to log in again, our traffic is going to get routed from the instance that is no longer part of that to the instance that is still running. There we go, it just switched over.
Now, I’m on server 2 automatically. All the records are still there. You can see my record that I entered from the other server.
This is just an example to give you ideas and start thinking about infrastructure as a service. One of the next steps could be doing this programmatically. So, as your load increases over time, you could spin up new servers automatically. I have taken an image of one sever. You could use that image to programmatically spin up new servers and add them to your load balancer.
As your load increases say in the middle of the day, your load gets distributed across servers and then to save on costs at night as those become inactive, those get shut down.
Hopefully, this gives you some idea of what is possible and gets you to start thinking about infrastructure as a service.
Thanks a lot. This is Mike Duncan with Soliant Consulting.