Auto Scaling with Spot Instances; Figuring Out the Correct Bid/Spot Price

Posted June 9th @ 7:30 pm by Boyan Tsolov

I’ve been using Amazon Web Services for about 2 years now. I find it extremely easy and user-friendly. I have full control of my VM and Amazon offers so many ancillary features to help with the IaaS. Unfortunately I also find it a little bit expensive as you start ramping up for a production environment. The pricing of their EC2 instances depends on the Operating System mainly. I use Windows which happens to be the most expensive.

<sarcasm> GREAT! </sarcasm>

Their micro instances for Windows can cost $15/month [all prices are for Virginia]. And their micro instances are not very good on performance: < 1 shared ECU, 750MB RAM. Once you get 3 users hitting an IIS website on that EC2 instance the CPU shoots to 100%.

An instance that I found useful for a production environment is the c1.medium. This one has 5 ECU’s and 1.5 GB of RAM. This is instance is great for high volume internet traffic, BUT this EC2 instance costs $160/month.

When you need to use auto scaling and increase your servers automatically according to traffic demand, $160/server/month can get very expensive. And then when you consider that this is just in 1 region and you need to copy the auto scaling set up in other geographical regions, it can get ever more expensive.

This is where SPOT INSTANCES come in. Spot instances are a life saver in terms of money.

Read the rest of this entry »


Advertisement


Guide to AWS Auto Scaling with Command-Line Tools

Posted January 7th @ 11:49 am by Boyan Tsolov

AWS Auto Scaling Guide

AWS Auto Scaling Guide

The previous blog post spoke about a great tool called EZAutoScaling which offers a web-based interface for AWS Auto Scaling. Amazon currently makes AWS Auto Scaling available only as command line tools or APIs and EZAutoScaling offers an online tool to make managing Auto Scaling easier. There are other companies that offer a web-based interface for AWS Auto Scaling, but EZAutoScaling is definitely the cheapest ($1/month).

To follow up on that blog post, EZAutoScaling has put up a great guide for using the command line tools for setting up AWS Auto Scaling. The steps detail the pre-requisites, how to set up the command line tools (with many screenshots), and what commands to use in order to set up your auto scaled environment.

By posting this guide they are showing two things:

  1. That setting up AWS Auto Scaling is not straight-forward - though it is not super hard either.
  2. If you don’t feel like paying for EZAutoScaling then you can use the guide to set up and use the command line tools for free.

Here is an excerpt from the guide from the “Summary” section which summarizes all of the steps and commands:

Read the rest of this entry »


Amazon AWS Auto Scaling done easy

Posted January 5th @ 12:39 pm by Boyan Tsolov

Auto Scaling Online Tool

Auto Scaling Online Tool

This blog started out as a SaaS blog. After a while it moved into Android. I’m going to bring it back to its roots (sort of) with a post on IaaS (infrastructure as a service). I’ve been using Amazon AWS (Amazon Web Services) for about 2 years now. It has been fantastic. I’ve done research on other IaaS and PaaS providers (Microsoft, Rackspace, etc.) and I am extremely happy with the service, usability, and price that I get from Amazon.

One of Amazon’s cool services is called Auto Scaling. It allows you to automatically add/remove servers from an “Auto Scaling Group” as user load increases or decreases. The Auto Scaling group monitors itself (using a service called CloudWatch) and if an alert occurs then a server is automatically added or removed from the group. (Server are added to handle more user load; they are removed to save you money.)

And for the most part, setting this up is a huge pain in the butt… until now.

But before I describe why it’s a pain, here is an example of how Auto Scaling works:

- You have 1 server running in an Auto Scaling Group
- User load suddenly spikes and that server’s CPU usage is at 90%
- You are asleep, so you have no way of knowing this is happening and thus no way of quickly increasing the number of servers to improve performance for the user spike
- Fortunately, CloudWatch is set up to check if CPU usage is over 90% on that server and if it is it sends an alert/trigger…
- A new server is added to the Auto Scaling Group and added to a Load Balancer that is part of that Auto Scaling Group
- Now, automatically, 2 servers exist in your farm, load balanced, and user load can be handled literally without a hitch. CPU usage is down to 40% on each server and CloudWatch ends the alert.

I use EC2 servers exclusively for some of my projects and for me Auto Scaling is one of the main reasons for using Infrastructure as a Service with Amazon.

Read the rest of this entry »


Android Samsung Nexus S: Short Review

Posted July 10th @ 11:21 pm by Boyan Tsolov

Android Samsung Nexus S

Android Samsung Nexus S

I’ve been neglecting the blog for a while.. sorry RSS subscribers.

I bought the HTC Magic 2 years ago when it first came out in Canada. That’s why most of my blog posts about Android development are from 2 years ago :).

I decided it was time to get the latest and greatest Android phone in Canada: the NEXUS S. A friend currently working at Google on Android highly recommended the device. And the fact that the phone is unlocked, Rogers will not put its apps on it, and Google will push updates directly to the phone without Rogers mandating when, made it even easier to pay the $300. In Canada the phone currently sells for $99 on a brand new contract, but you know how North America works: if you already have a contract you are not as enticing to the carriers as a brand new client with no contract. So, I had to pay a few fees to get the phone for $300 instead of $100.

I won’t go into a full review of the phone. There are plenty of sites that review the phone and have been doing it since the beginning of the year. I will only review a couple of items that I was worried about and you might be too if you are looking at getting this phone (or just got it).

Read the rest of this entry »


Windows Phone 7: Beginner’s Guide to Developing on Windows Phone 7

Posted September 26th @ 4:05 pm by Boyan Tsolov

IHeartWP7

The official release date for Windows Phone 7 is October 11th (in the US). Word around the internet is that it will be released in Canada around the end of October / beginning of November. LG, Samsung, HTC, and Dell have all developed handsets that will be available in Canada. One of the services we offer at my place of employment is mobile development and since we are a Microsoft Gold Partner, developing on Windows Phone 7 is our forte (actually it’s the only mobile development we do). I assume as this platform gets bigger more people will jump to learn how to program on it, so this is a quick-and-dirty list of resources that will help you to learn about programming on Windows Phone 7.

  1. http://developer.windowsphone.com/
    If you are a developer, the first thing you need to do is visit the developer’s home page. You can download tools from here, read about the SDK, look at sample code, and get questions answered in the forums.
  2. http://silverlight.codeplex.com/releases
    You must download the Silverlight Toolkit for Windows Phone 7. It has alot of great Silverlight controls that will make your app much cooler. For example, the version of the SDK and Silverlight that you get from the first link does not have a calendar control. The Toolkit from this link has a DatePicker and a TimePicker control that you can just plop on your page and use.
  3. http://channel9.msdn.com/Learn/Courses/WP7TrainingKit
    The best place I have found for guides, best practices, code samples, etc was Channel9. This is the home page.
  4. http://channel9.msdn.com/Learn/Courses/WP7TrainingKit/WP7Silverlight
    I particularly like the home page for Silverlight on WP7. There are a ton of tutorials here, the ones I found most useful are listed below.
  5. http://channel9.msdn.com/Learn/Courses/WP7TrainingKit/WP7Silverlight/WindowsPhoneNavigationAndControlsLab
    How to handle navigation, going back and forth between pages, the best practices for setting up your pages.
  6. http://channel9.msdn.com/Learn/Courses/WP7TrainingKit/WP7Silverlight/ApplicationLifetimeWP7Lab
    Very important read on the application life cycle of a WP7 app.
  7. http://channel9.msdn.com/Learn/Courses/WP7TrainingKit/WP7Silverlight/LaunchersAndChoosersWP7Lab
    Working with launchers and choosers. Launchers and choosers are parts ofthe API that allow you interact with the Windows Phone 7 first-partyapps, such as the email client, calendar/agenda, contact list, messaging app, etc.
  8. http://channel9.msdn.com/Learn/Courses/WP7TrainingKit/WP7Silverlight/UsingPivotAndPanoramaControls
    This tutorial shows you how to make your apps have the cool Windows Phone 7 feel with the sliding between screens (called pivot and panorama controls).
  9. http://www.silverlight.net/learn/videos/all/windows-phone-application-bar/
    Great tutorial video on how to set up the application bar at the bottom of your app. The video also shows the different customizations that you can do to the application bar.
  10. http://channel9.msdn.com/Blogs/SlickThought/Simplify-Page-Transitions-in-Windows-Phone-7-Silverlight-Applications
    Getting the cool fade-in, fade-out page transitions to work. This effect is done by using the TransitioningContentControl that comes with the Silverlight toolkit (an extra install from link #2). Note: this tutorial was done on the April release of the Windows Phone 7 SDK, the latest SDK is slightly different.
  11. Read the rest of this entry »


Samsung may drop Windows Mobile and switch to Android

Posted November 10th @ 11:36 pm by Boyan Tsolov

I just found this article from reddit…
Samsung may drop Windows Mobile for Android

Apparently Samsung is going to stop using Windows Mobile on its cellphones and will concentrate on Android!! I have been a supporter of Android since its inception and stories like these bring tears of joy to my eyes.

Oh, and there’s something about Samsung rolling out their own open source OS called “Bada”. Good for them.


Android: Simplified source code for parsing and working with XML data and web services in Android

Posted July 19th @ 10:05 pm by Boyan Tsolov

In my previous post I linked to a terrific website (Working with XML on Android) which describes how you can read and parse XML documents in Android. The code supplied by that website used polymorphism to show 4 different methods for parsing the XML data. I vowed to simplify that and share the new source code.

To download the AndroidXmlSimple project click here. You will be taken to another page where you can click to download to the ZIP file.

Below are some instructions on setting yourself up with this source code and customizing it for your own XML data.

Read the rest of this entry »



Advertisement

Options:

Colors