Thursday, January 9, 2014

DigitalOcean - Simple Cloud Hosting

Digital Ocean


Digital Ocean is a Virtual Private Server (VPS) provider based in New York. It basically provides the hardware to host your own Virtual Machine. With their SSD hard drives, we can expect much faster disk i/o performance when compared to a traditional storage medium.

Like Amazon "Instances", DigitalOcean calls each virtual machine a "Droplet".

Features include:
  • Tier-1 Bandwidth
  • KVM Virtualization
  • Hex Core machines with dedicated ECC Ram and RAID SSD storage.
  • Flexible API
  • Easy-to-use Control Panel
  • Two-Factor Authentication
  • 99.99% Uptime SLA
  • Trusted Network Providers
  • Multiple Data Center Locations
Their cheapest plan start from $5 for 512 MB RAM and 20 GB SSD storage.

Friday, January 3, 2014

Example GIT workflow


Here is a simple workflow with GIT
  • Consider two environments – development and production.
  • Development environment has a git repository with two branches – “dev” and “master”. “dev” is the branch for daily development use – to check-in also the half-baked code. “master” branch is used for merging “dev” branch into “master” for pushing the development changes to the production environment. Set up repository in a location that is accessible for all developers (a network share / a server that people can ssh into / a third-party service like github or bitbucket).
  • Production environment has a git repository just with the “master” branch which contains the latest production code.
  • Clone development environment repository onto each developer's machine and work on your local copy; After every development cycle in development environment I look at which files have been changed using “git status” and add all the changed files for commit using “git add <file>”.
  • When that is done, commit the code to the “dev” branch using “git commit -m “<commit message>”". Commits are local, so you won't hurt anyone.
  • After commit, just for sake of backup, push the local repository’s “dev” branch changes to the central repo by using “git push”
  • When a code in “dev” branch is tested and found ready for pushing to production environment, I am merging the “dev” branch into the “master” branch in development environment using following commands: first “git checkout master”, then “git merge dev” and push the changes of master branch to the remote git server usign “git push”
  • Then deploy the altered code by pulling the changes to the production environment by switching to the production environment and using “git pull” – this is pulling the code from the remote git server’s “master” branch.
  • On the central repo, whenever you have a version you want to mark as release candidate, tag it. This way, you can update any given clone to that exact version later on. 

References:


Wednesday, January 1, 2014

OpenShift - The Open Hybrid Cloud Application Platform by Red Hat

OpenShift is Red Hat's Platform-as-a-Service (PaaS) that allows developers to quickly develop, host, and scale applications in a cloud environment. With OpenShift you have choice of offerings, including online, on premise, and open source project options.

OpenShift works under the PaaS instance/dyno model, allowing you to deploy your code to a specified number of “gears” or “cartridges.” Each of these gears is dedicated to running the code of a certain portion of your application, whether it’s accessing the attached database, responding to HTTP requests or processing background jobs. You can define your own processes and assign them to gears or cartridges, giving you more granular control over the performance of your application.

The customizable gear model makes OpenShift perfect for introducing specialized tasks through your application. For example, you could dedicate an entire array of gears to media transcoding and build your own media converter on their infrastructure. You can then supercharge your production by allotting more gears to the processes and return converted files in seconds. This level of control and customization is great for applications that may do things requiring more computing power than a traditional website.

OpenShift is compatible with several major web languages, including PHP, Python, Ruby, Java, Node.js and even Perl. They also allow you to use relational databases from the SQL family or NoSQL “flat” databases like MongoDB. Most of the upload and deployment process is handled by a command-line interface backed by Git, the popular source-control software.

Customer support is the only area where OpenShift fell behind the competition. Like other PaaS products, it provides ample written documentation in the form of tutorials, FAQs etc. They rely heavily on their community for answers to questions, listing community-based services like IRC chat and community forums as resources for troubleshooting.

Tuesday, December 31, 2013

Cloud Computing - What is SAAS , PAAS and IAAS ?

Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet. Platform as a Service (PaaS) is a paradigm for delivering operating systems and associated services over the Internet without downloads or installation. Infrastructure as a Service (IaaS) involves outsourcing the equipment used to support operations, including storage, hardware, servers and networking components.




Cloud Service Hierarchy


IAAS (Infrastructure As A Service) :
The base layer - Deals with Virtual Machines, Storage (Hard Disks), Servers, Network, Load Balancers etc
Example: Google Compute Engine (One can develop programs to be run on high performing google's computing infrastructure)

PAAS (Platform As A Service) :
A layer on top of IAAS - Runtimes (like java runtimes), Databases (like mySql, Oracle), Web Servers (tomcat etc)
Example: Google App Engine (One can develop applications and let them execute on top of Google app engine which take care of the execution)

SAAS (Software As A Service) :
A layer on top on PAAS - Applications like email (Gmail, Yahoo mail etc), Social Networking sites (Facebook etc)
Example: Gmail, Google+ etc (One can use email services and extend email/google+ based applications to form newer applications)

Monday, November 25, 2013

Apple iPhone 5S and 5C review

iPhone 5

Apple has launched the next generation iPhone 5S and a low end device 5C at its headquarters in Cupertino, California.

The new iPhone 5S powered by new Apple A7 processor and five times faster than iPhone 5. New device equipped to run 64 bit applications. While iPhone 5C comes with A6 processor.


iPhone 5S - Same look, small screen, big potential

The good: The iPhone 5S delivers an improved camera, a nifty fingerprint sensor, and a next-gen CPU and motion-tracking chip. Apple throws in the iWork app suite for free. iOS 7 adds some nice step-ups, too, including AirDrop file transfers and the Android-like Control Center.

The bad: External design is identical to that of the iPhone 5, including a 4-inch screen that looks downright tiny next to Android competitors. For now, the fingerprint sensor only works with Apple apps. The 64-bit A7 processor and M7 motion-tracking chip don't have killer apps yet. iOS 7 differences are potentially jarring for longtime iPhone users.

The bottom line: The iPhone 5S is not a required upgrade, but it's easily the fastest and most advanced Apple smartphone to date.


iPhone 5C will come with a polycarbonate shell and the option of a green, white, blue, pink, or yellow “soft-feel” silicon rubber surround.

Tuesday, October 9, 2012

How to check whether a SMPS is in working condition?


SMPS stands for Switched mode Power Supply. It gives power to all the components in your computer system.
If your computer is dead and even not a single lights glow on your Motherboard, the basic need is to check is SMPS. To do so, remove power cable from SMPS and unplug all connections of peripherals (Hard disk, Motherboard, DVD etc). Now you can check SMPS easily by connecting/shorting a small wire between green color(PS_ON) and adjacent black color wire (COM). After connecting, plugin power cable and switch on the SMPS. If SMPS fan runs, SMPS is working.
There are many other problem too, if computer is dead, but please try this step first.

Monday, September 17, 2012

Calculation of UPS or Inverter Backup

Before calculating the Battery Backup, let us know a few factors that vary battery backup.

For UPS with 875VA we can us a maximum load of 640 watts and 677VA we can us a maximum load of 540 watts. The main thing we have understand is that what ever may be the UPS wattage the battery backup will not vary. The battery backup will only vary depending on the battery Ah and the Usage Load.

To calculate UPS backup, We have a simple formula:
                      UPS Backup = Battery Ah * (Volts/Load) * (1/Powerfactor)

Example: Let us calculate the backup for a system UPS

Load is the usage power, suppose we are running a PC then the load is around 300 watts
Power Factor varies for device to device, the average power factor is 1.4
Voltage is the voltage of the battery. For a single battery the voltage is 12v. If the batteries are connected in a series   Voltage = 12 * no. of batteries.
Battery Ah is the battery ampere used for the ups, System UPS battery AH is 7

                     Then   Battery Backup = 7 * (12/300) * (1/1.4)
                                                       = 7 * (0.04) * (0.7)
                                                       = 0.19 hours
                                                       = 19 Minutes

Note: You can use the same formula for calculating the battery backup for home UPS or an INVERTER.