We have an Amazon Web Services hosting setup that provides an API-like connection to our clients. We are currently using:
Elastic Beanstalk: For the creation of separate work environments (Dev, Beta, Production) and the simplification of pushing updates to different environments via GIT.
EC2 auto scaling/load balancing: Scales the servers that provide access to the UI and the client connections.
Elasticache: Manages session data across EC2 instances. Also stores client IDs from our member database.
Route 53: Manages a collection of domains to be used by clients to connect.
RDS: Stores all settings for our tools as well as full logging for our client's connections
We currently are handling connections from about 60 users, each connecting multiple sites. We are probably looking at about 2 million hits to just the remote connections per day right now. We have about 140 more members who will be accessing this in the future, and the current users are likely to scale up. It's very important that we are able to handle that traffic while keeping our expenses manageable. Some of our clients send paid traffic to their sites, which can cause some significant load spikes on our end. EC2 scales easily, but the database can't keep up.
All the instances are running PHP applications and the RDS instances are using MySQL.
We need someone to help us to:
1. Find out the best option for our problem (cost, reliability, performance)
2. Help us to optimize the server (Mostly for RDS, but input on the EC2 setup will be appreciated).
We are open to recommendations of other AWS services if we can improve our cost/efficiency.
We're constantly developing new tools. Great work on this project would almost definitely result in more work in the future.
Excellent English (read/write) is required.
This is a fixed price project. Within 1 week we expect you to provide your recommendations and discuss them with us, along with your estimate of the associated costs and the time required for you to implement your recommendations. Together we will then decide on a plan and you would then carry out that plan and you would continue to administer the database for a further 3 weeks. So you are bidding on a project that will be completed within 4 weeks. There is no way for us to know in advance how much, or how little, time it will require so keep this in mind when you bid. It may require a few hours per week or many hours. We do not care. All we care about is whether, at the end of the 4 weeks we are happy with the value of the work done compared to what we paid for it. If we are happy, we will offer you a longer contract to administer the database.
We are very good to work for when we receive value for value. We have a history of hiring on oDesk under the names Excess Marketing and Integral Publishing.