Posts

Showing posts from August, 2012

Fault (Tolerance) Ideas

Murphy's Law said that if anything could go wrong, then it will. (ref: Captain Edward A. Murphy  http://www.murphys-laws.com/murphy/murphy-true.html ). In our world of computing this includes : our network  switches and wirings, they could be disabled, or worse : bit flipping data that were sent through the network TCP checksum, instead of checksum errors (that will get transmitted), double bit flip will corrupt the packet but TCP layer not knowing that it is corrupted HDD wiring, install wrong cable or wrongly install a correct cable. Switching a good ultra DMA ATA cable with a bad one (so it will still be detected as ultra DMA) and we get a large ultra DMA CRC error rate. And we have also  CRC-undetectable  error rates of something like 5x10^-13 (illogically taken from  http://doc.utwente.nl/64267/1/schiphorst.pdf  ),  this corrupt data (average is one bit for two terabytes of data) will get stored to our disks. HDD failure, that commodity disks will fail in 2 -3 years, an

Open Source Cloud Computing on the rise

Image
VMware player shows us that virtualization has many benefits even on a dual processor laptop. Amazon Elastic Compute Cloud (EC2) sets the cloud computing standard, shows us that cloud computing is feasible and could be cheap (after all, they only make us pay for hourly usage). So here in 2012 we found that there are so many open source cloud computing solutions out there.. Core Service Virtualization is provided by several commonly known hypervisors : VMWare vSphere . This one is not open source at all. Xen . Xen was a mature hypervisor that were fully open-sourced by Citrix in 2009. There are open source version (Xen Cloud Platform), free version (XenServer Free), and paid version. Kernel-based Virtual Machine ( KVM ). KVM is  an open source virtualization software that tightly integrated with the Linux kernel as the host OS.  On top of these core hypervisors is built more GUI and Management layer, resulting in cloud computing platforms. Cloud computing platform Lets

High Availability menggunakan Citrix (Apache) CloudStack

Image
Dashboard CloudStack Pada April 2012 Apache menerima CloudStack dari Citrix sebagai salah satu project open source di Apache Incubator. CloudStack merupakan platform software yang mengumpulkan sumberdaya-sumberdaya komputasi menjadi sebuah Cloud IaaS (infrastructure as a service). Bayangkanlah Amazon EC2 yang dapat diinstall di data center pribadi kita. Service Offering - mirip Amazon EC2 Dengan CloudStack, kita bisa memberikan layanan cloud ke user kita.. Mereka dapat melaunch Server sesuai keinginan asalkan masih di batas kuota dan kapasitas sistem. Pilihan Template VM Sebenarnya komponen utama CloudStack adalah aplikasi web berbasis Java yang melakukan provisioning ke software hypervisor berupa XenServer, VMWare, ataupun KVM. Sebuah Cluster dalam terminologi CloudStack adalah sekumpulan host yang dikendalikan oleh hypervisor yang seragam.   Apa yang didapat dari CloudStack antara lain : Manajemen sentral berbasis web berfitur Ajax untuk VM-VM berbasi

(Inexpensive) Highly Available Storage Systems

Image
The internet has pampered our users by giving them 99.9% uptime. Now every corporation needs to have similar availability to 99.9%. One part of high availability solution is the storage. In the good old proven corner we have SAN and NAS storage solutions. They are not always highly available (you must ensure the system has more than one controller, in case one controller is broken, and RAID 5 is nowhere enough these days, choose RAID 6, and dont forget network rendundancy), but they are almost always expensive. In the era where IT Directors forced to think 'cost transformation', we always welcome cost-saving alternatives. New hardware developments influenced our infrastructure options, lets write the factors down: abundance of cheap gigabit ethernet card & router -> this allow us to forget expensive fiber connetivity, and allow us to leverage newly developed distributed systems. cheap large SATA drives -> large commodity storage for the masses Development o

Popup Text area using jQuery

Image
In times where we have too small screen estate (primarily because too much information in the screen), we settled using popup window containing textarea to input comments.  Just implemented such simple popup textarea functionality using jquery-popbox - A small wonder.  OSS and sharing and all.

Anti pattern : Ignoring Exceptions

Did you ever find out that your app didn't do what it was expected to do ? But no clue whatsoever about the cause. You might stumbled upon 'Ignored Exceptions' antipattern. Or worse.. a special case of this antipattern is 'whatever passed the acceptance test' mindset that causing the programmer to code in such way. The most primitive example of this antipattern is :    ON ERROR RESUME NEXT [this one-liner is an example from Visual Basic] In Java programming language, an example for Ignored Exceptions antipattern :    try {   ... some code ..   --- more code ---    }   catch (Exception ex) {   } Note  that the exception is blank. It silently ignores any errors. Yes, there are cases where this sort of code would be hard to avoid, but in most cases better alternatives exist. Such as : - using Log4j to log the error - converting the exception to a message that could be understand by the user At the minimum , the error should be written to the console,