Tag Archives: aws

Moving web application to use Amazon Web Services

Basic setup technologies and for launching your web application.

1. Servers
These are machines that runs our websites and web applications or services.

Before moving to AWS, always check your application server requirements.
Complex web application need to run programs or web services to work.
For a simple website I think cheaper to go for monthly smaller VPS.

Amazon EC2 offers on demand instance payable per hour.
If you need to scale your site up and down to meet load demands, Amazon EC2 really excels.
Amazon EC2 servers and its pricing

The nice thing about Amazon Web Services is that there are a lots of excellent technologies available and they all play nicely together. And most probably your web application needs one or more of these technologies.

2. SMTP Service
SMTP Mail service handles sending and routing emails.
Depending on the pricing, features and amount of emails to send, a good comparison is here:

SMTP services I have used: Amazon SES,Critsend, AuthSMTP

3. Email Inbox
To open and receive emails we need inbox.
Except for Mailbox service, what’s good with GoogleApp is that it includes most app you need to run your business. Calendar, Notes, spreadsheets that allows sharing with teams.

4. DNS Service
Domain Name Service translates human readable names like www.example.com into the numeric IP addresses like 192.0.1.1 that computers use to connect to each other.

Some of these available services are:
Amazon Route53
Neticca
Namecheap
ClouDNS
ZoneEdit
GeoScaling
XName
DNS Exit
Afraid

5. Monitoring
For basic monitoring Pingdom.com works great for http/https checks.
Having multiple servers with different services running requires more checks.
Opensource are Nagios for alerting, Graphite or Munin for graphing CPU utilization,memory usage, and the like.

In addition, here are some tools that can help too:

6. Code repository
Keeping development and production codes is a good practice.
Contributing back to opensource community also makes development fun.

www.github.com is a nice tool for these kind of stuff.

7. Communication for both developers and teams.

www.HipChat.com offers a cool team messaging system.
Although group messaging in Skype or Yahoo are applicable, but checkout HipChat for more nice features.

8. Easy Deployment/Configuration Management
Deployment and configuration process should be made easy and repeatable.

Ansible is radical push based configuration, orchestration, and deployment tool.

I hope in some ways these list helps you in your current or future projects. 🙂