ATSG Corporation is seeking a freelancer to assist with setting up the initial AWS production environment for a software product release.
PLEASE AND EVEN PRETTY PLEASE: READ THIS DOCUMENT IN DETAIL AND RESPOND WITH A WELL-RATIONALIZED PROPOSAL THAT DEMONSTRATES YOU UNDERSTAND AND HAVE THE SKILLS TO FULFILL THIS POSTING. 1 or 2 line or generic replies will be ignored. Acceptable to Fluent English is required. Individuals responding MUST be the actual person who will be completing the tasks. Absolutely NO FIRMS OR INTERMEDIARIES will be accepted.
The team has set up development resources in the cloud space, and is familiar with what they would like to see in the production environment but would like to fast track configuration of this environment and tap into the wisdom of a freelancer who is familiar with best practices across the AWS architecture, services and IAM security policies.
Our initial production environment is fairly modest and will consist of the following Windows-based, .NET centric systems:
* The production environment will require fail-over load-balanced resources such that there is minimal downtime (target is 99% availability per month). There are currently no “at-load” usage statistics for any part of the system, but the initial goal is to support 500 users; of which, likely 10-20% will be concurrently using the system. The system does churn on its own (gathering, curating, searching, alerting, etc.), and this will factor into the overall bandwidth. In addition, the system should be robust enough to scale up to 5,000 users. The production system allows niche subscribers to conduct research on historical data as well as set up alerts for new applicable data that arrives periodically throughout the day from various data sources.
* SQL Server: 2 EC2 nodes pointing, ideally, to the same file storage. One node can be dark and used for fail-over only; or, if licensing both nodes is possible then the database can have load balancing as well. Note: Curated data needs to replicate to this environment from development.
* Web Server: 2 EC2 nodes running IIS. Ideally certain file storage changes would replicate automatically from one node to the other. These should be load balanced and fail-over friendly.
* Marketing Server: This is a separate EC2 so that SEO, page storage, bots and other goings-on do not impact service delivery of the product itself. This server needs to be able to host static web pages hosted on an S3 bucket.
* AWS S3: Buckets will be needed to hold documents related to the product. As development is also the curation location, raw files will exist in development until they are curated, then they will progress to production. Eventually this approach will benefit from reassessment.
* AWS Domain Services: There is already a development domain, as hosting AD is a bit pricey ($300/mo) we are wondering if two domains can be hosted via the one server or a recommendation regarding how to best configure our AD for both Dev/Production use.
* AWS DynamoDB: We do publish documents to Dynamo - so far, it has been for exposure to Cloud Search.
* AWS Cloud Search: We will need one or more Cloud Search domains, and some mechanism to both publish and update content in those domains (sources could be Dynamo, S3 or perhaps even SQL Server).
* AWS EC2 Security Groups and Firewall: We want to make sure that the environment is not more open than it needs to be.
* AWS IAM: As mentioned earlier, we want to make sure IAM and AD are used to effectively secure the various parts of the system
* Backup and Recovery: We want to make sure we can recover effectively should there be data corruption or other service disruption
* Scalability: We want to make sure we can take advantage of scalability features: For example, the freelance might recommend Elastic Beanstalk over load balanced EC2s for the web servers. We are open to these recommendations.
* Release Management: We will be releasing code, database updates and curated content into production at regular intervals. We want to make sure the path to do this is secure - especially any automated channels.
* Configuration Management: We are interested in any recommended approach for configuration management across the above requirements - could be a combination of AWS products/services or 3rd party tools.
Please propose an estimated cost and estimated timeline. You can choose to do the work, or document what our team needs to do or a mix of both.
We are looking for an expert with a background in Windows and .NET platforms who is also an quasi (or full on) evangelist of the AWS service platform and has a recommend selection of products and services that are better suited to Windows/.NET but do not preclude Linux/Python as we do have some code on the development/curation side that uses those platforms.
We look forward to hearing from you!