Amazon Web Services for FileMaker App Development
This post is a followup to a presentation given recently to the New York FileMaker Developers Group (nyfmp.org) about our experience with Amazon Web Services.
Amazon Web Services (AWS)
AWS has been around since the 2006 launch of Amazon’s S3 storage service, and some FileMaker developers have been using Amazon Machine Instances (AMIs—there are a lot of acronyms in this arena) with their clients for years. It is only with the launch of FileMaker Cloud and the commensurate offerings from Microsoft (Azure) and Google (Google Cloud) that this arena become more alluring to us.
While we love MacOS and use it extensively as our individual operating system of choice, we prefer Windows Server for FileMaker Server and recommend it to all our business and education clients.
As a distributed company, we have been looking to improve upon our current development set up where we had a Mac functioning as a server in our New York office. The remote user experience, through Apple Remote Desktop or WAN, was less than ideal. With FileMaker Cloud in the offing, we decided to move our development environment to AWS and have not looked back.
AWS is what some people term as IAAP or Infrastructure as a Platform. Regardless of the acronym, it is a cloud-based means of creating computing infrastructure that is configurable and can be scaled up and down as needs demand.
How We Use AWS
For our purposes, we needed a Windows Server, storage drives, and a means of accessing the server remotely. As developers of larger scale FileMaker solutions, we are used to doing exactly this with our institutional clients and it was one of the reasons that we were willing to make the leap to the cloud. Remote Desktop Protocol (RDP) with Windows and a reasonable Internet connection has been shown to provide a “you are there” experience.
AWS is perfectly suited to this approach. We were able to spin up a Windows 2012 R2 server t2 (Tier Two) with 4 GB of RAM, a 40 GB drive for the OS and FileMaker Server and an ancillary 50 GB back up drive in about 30 minutes. The drives are setup using Elastic Block Storage (EBS), and they behave as attached drives, which is different from S3. We also use the Elastic IP service, which provides a static IPv4 public IP address. Elastic IP is available at no charge while an instance is running.
ASW performance thus far has been excellent, and AWS makes it easy to scale resources and add instances as needed.
AWS Benefits and Considerations
While we initially created our machine using the default West Coast region, we were able to create an AMI of our server and move it to the East Coast region without having to do redo anything. This move points out another virtue of the platform—you can create a version of a server with FileMaker Server and any other software you need configured locally and then create an AMI. This AMI can then be moved to other servers and to other regions as needed.
Another benefit of AWS is you get two remote users as part of the Windows Server license, so it was easy to set up two administrative accounts with Remote Desktop access. This means that two developers can work on the single server before you need to start configuring additional terminal services.
If you decide to try AWS, there are a couple additional configuration issues to consider. First, you want to have a separate drive for your backups. Second, you need to deliberately protect your instance from accidental termination. If you terminate your instance (and the setting is “Allow” by default), it is gone. However, you will always have your backups if you set up FileMaker Server back up to the separate drive.
AWS pricing can seem opaque at first. We have found that the cost for hosting our server is completely reasonable when you factor in the lack of hardware purchases and easy patching and upgrading. In addition, the issue of offsite backup gets upended.
Overall, AWS management is relatively intuitive and the relative ease of being able to configure virtual resources is a relief from the days of managing hardware. Moving forward, we believe that most of our smaller clients who do not have robust in-house IT infrastructure in house will benefit from our add-on AWS management services.
AWS in the Future
Beyond our own immediate use of AWS, we are interested in several other possiblilities with AWS.
First, we envision an intersection with FileMaker Cloud in which we develop custom FileMaker apps using test servers in AWS, and then we seamlessly implement those custom apps into production environments via FileMaker Cloud.
Second, we are eager to experiment with other AWS services such as Relational Database Service (RDS) that allows you to launch an instance of MySQL, PostgreSQL, Oracle, or SQLServer that is not associated with your machine instance. With it, you could have a large, non-FileMaker data store local to the AWS instance and be able to access it via ESS without having a server dedicated to that need. RDS scales automatically and fees are based on that scaling. And third, we are excited to dream that in the future we might be able to build applications in the FileMaker Platform and deploy them as Software as a Service, either as multi-tenancy, vertical apps or separate instances with programmatic schema updates.
Who knows what the future may hold?!