Tuesday, January 26, 2010

CS3216: 3rd class on AWS

After having a "lecture"/introduction by Technology Evangelists, Simone from Amazon Web Service, I was really impressed with Amazon's cloud management, suite of solution to facilitate hosting and the automation of stuffs.

I'm actually looking for web hosting service having used Amazon's EC2 and a few other services I've came up with the following analysis. Well that also depends on your application's usage and specification.

Some factors to look out for:
- SLA may not be the main thing but technical support too
- Scalability (That is for your host)
- Shared, VPS, Dedicated (Depending on the scale and computation of your app)
- See specs that are given to you like Ram, Storage, CPU, Bandwidth

1) Slice Host (http://www.slicehost.com/) initial cost is $20USD/mth
Pros:
I've personally used this before.
Very good technical support, they have a "IRC" like thingy and the technical support guy will answer you within mins.
They have tutorials on how to set up SVN, Virtual host etc.
In terms of pricing i think its pretty cheap. You can start from 256 then slowly upgrade to a higher version. When really your app made it big, you can go to their parent company Rackspace which is a tier-1 host or upgrade up to 1GBslice(if is sufficient).
Cons:
Bandwidth kind of limited.
I think it doesn't support .NET

2) Amazon Web Service (http://aws.amazon.com) is approximately $60+USD/mth - this is pay as you use, they don't have price plans but charge you by the hour.
Pros:
I'm using it for my computing module.
This really can scale.
SLA: 99.95%
Alot of powerful tools that can be included
Cons:
I found the technical support not very friendly.
If your app is small scale, not recommended. Just go to GoDaddy etc

3) Godaddy (crossed out)

Tuesday, January 19, 2010

2nd class for CS3216

Class today was more like project management or some sort, revisiting the waterfall model, agile development and the well known "divide and conquer" method. Somehow, I've been doing the agile development most of the time and there are times in which time is critical and I screw scalability. If I were to place scalability then I can screw the time. I'm always in a dilemma.
As years past, I tend to get "lazy" depending on the nature of the project (depending on the chance of me revisiting the codes) then I'll focus more on which element. I found in this way I don't screw up big time. Haha.

Also, the MVC frame work that was flashed during the class, I found it weird as there is an interaction between the view and model directly. My impression of view and model's interaction was thru the middle man, controller. There should not be any interaction directly from view to model (I guess).

Below is the MVC i'm familiar with,





























Is there a difference?

Saturday, January 9, 2010

My first lesson in 2010

It has been an exciting and challenging year in 2009 as I left the little red dot, Singapore, for the Silicon Valley to do a 1 year internship and here I am back in Singapore.

I'm so nervous and excited about the class that I'm going to take tomorrow, CS3216: Software Development on Evolving Platforms. This is the very first type of module in NUS which allows students to explore popular open source technology. Rather than teaching theories, this module expose students to the beauty of open apis developed by the brilliant software developers in the world.

So rather talking about the pros of this module, being practical, what is the take away from this module which I hope to gain?
1) A good idea that I hope to spin off into a promising company (seems to be the usual answer).
2) Right now, I'm in the process of starting my own company with some friends and probably with the exploration of the open apis, I'm able to integrate it with my company's product.
3) I'm still building my resume and it would definitely be good to add into my skillsets rather than just Java and Java (I've no offense for Java but I've been learning Java since the good old poly days). Finally!!!

I'm kind of a fan for open source technology as it makes things easier and convenient. I respect the developers skills and effort spent to develop such technology for the rest of us :D. I've been wondering why local university doesn't offer modules for them? The closest I could find is an Open Source Management Course by SIM. It got me all hyped up when I first learnt about this module offered in NUS.

Here I come Facebook app (license to use Facebook while working) and Google Wave (seems to be the next wave of hype).