Yearly Archives: 2013

AWS and Cloud Cost Optimization

If we we are monitoring our electric bills how much more our AWS usages. 🙂
Energy Usage
Photo Credit: Bart Everson

How to check and balance your AWS detailed usage?

AWS offers Cost Allocation and Tagging which is also describe here.

Another nice project https://github.com/Netflix/ice which also shows nice graph.

But there are also service providers that can do detailed reports and help optimize your AWS setup.
Below is the short list of company that offers usage analysis and reports.

Cloudyn is composed of several products focus on AWS services.
S3 Tracker, EC2 and RDS Optimizer to name a few.

CloudVertical supports multiple cloud cloud, cost and usage analysis and reports.

Newvem support AWS and Window Azure. What I like here is the Cloud Smart Meter for iOS applications.

Cloudability focus on AWS with RI planner, EC2 Usage, Cost Analytics.
The company offers forever free daily report,trend and alerts.

Cloudcheckr offers Cost Metrics and Core services summary, Map Overlay and Heatmaps and a 30 Day Trend reporting for their Free plan.

Update: Oct 1, 2013
Teevity.com is another company who also offers cloud optimization. Their features page show more information.

Have you used other tools/apps or experience with any of these?

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. 🙂