Thursday, January 20, 2011

How To Use Amazon EC2 as Your Desktop

Amazon's Elastic Computing Cloud (EC2) is a service allowing you to rent servers in Amazon datacenters by the hour. Using EC2 for your desktop makes sense if you need a powerful machine with a great Internet connection, colocated with your production servers. There are many benefits to using EC2 for your desktop:

  • Free bandwidth and low latency when accessing Amazon Web Services
  • Development and Production can run on the same hardware and network
  • Excellent network connection
  • Public IP address
  • SAN-based disk storage with 3x redundancy, blazing performance, easy backups
  • Reliable hardware with ECC RAM
  • A restart solves all hardware problems since you get a different machine each time
  • Free bandwidth to RestBackup™ and other web services built on AWS

And some disadvantages:

  • Development requires a decent Internet connection
  • Added cost
  • Memory upgrades are expensive (cost increases 4x moving from 1.7 GB to 7.5 GB)
  • Lack of cheap 64-bit server types

In this article, I describe how I use EC2 as my Linux development desktop. I provide detailed instructions for every step of the setup process. This guide assumes that your client machine is Windows.

Monthly Cost

Amazon offers 32-bit and 64-bit Linux and Windows servers with various amounts of memory and processing power. I use a 32-bit Linux server with 1.7 GB of memory and 1 EC2 Compute Unit (equivalent to a 1.2 GHz Xeon cpu). This server type is called a “Small Instance” or ‘m1.small’. The server boots from a 16 GB chunk of disk space on Amazon Elastic Block Store (EBS). I also rent a static IP address (Elastic IP address) for my server.

Since Amazon charges by the hour, I tend to start up my server when I start my work-day and shut it down in the evening. It takes about 60 seconds to start up and log in. Amazon charges a small fee for my static IP address when it's not attached to a running server. I still save about USD $50 per month by turning the server off on nights and weekends. Here is my average monthly cost breakdown:

  • $19.00 for 200 Small Instance hours at $0.095/hour
  • $1.76 for 16 GB EBS at $0.11/GB-mo
  • $0.03 for 300 MB data transfer in at $0.10/GB
  • $0.05 for 300 MB data transfer out at $0.15/GB
  • $5.46 for 544 non-attached Elastic IP hours at $0.01/hour
  • Total Monthly Charges: $26.26

This works out to about $315 per year for a development machine. Amazon offers discounts for long-term commitments (Reserved Instances), but they are not economical if you're using the machine only during the workday. I would pay $409/year with a 1-year reserved instance and $298/year with a 3-year reserved instance.

See: Amazon EC2 Homepage

Tools Used

FreeNX Solves the Network Latency Problem

X-Windows programs send many sequential requests to the X server to update the screen. When a program is used over the network, each request is delayed by network latency and the whole program feels sluggish. FreeNX solves this problem with a local caching proxy server that can respond to all X requests locally. Your programs run fast and you experience only one round-trip of network latency.

EC2 API Tools

Amazon provides a suite of command-line tools for managing EC2 instances. Use these tools to set up your new instance. Also use them every day from handy 'start-dev' and 'stop-dev' scripts to start and stop your instance.


Use PuTTY to log into your newly created instance, create your user account, and set up FreeNX.

Ubuntu 10.04LTS

This guide assumes that you are running Ubuntu 10.04LTS on your instance. The Ubuntu team has pledged to support this version with bug fixes and security updates until April 2015. They also provide a system image that can boot from EBS.

Set Up Your Windows Client

Set Up Your Instance

Choose EC2 Region

EC2 is available in five regions: US West, US East, EU, South-east Asia, and North-east Asia. You should choose the region that has the lowest latency for you. Use or traceroute to measure your latency to each region. Due to routing inefficiencies, the AWS region nearest you may not have the lowest latency; try them all.

  • US West
  • US East
  • Europe
  • SE Asia
  • NE Asia

For an up-to-date list of addresses, go to the EC2 Developer Forum and look for an announcement titled "Amazon EC2 Public IP Ranges".

EC2 prices are slightly cheaper in the US East (Northern Virginia) region. You don't have to choose the lowest latency region if US East is good enough for you. Emacs and Gnome Terminal are very usable over FreeNX with 160ms of network latency. Eclipse is best with 100ms or less.

Each region has an identifier and API URL:

RegionIdentifierAPI URL
US West us-west-1
US East us-east-1
Europe eu-west-1
SE Asia ap-southeast-1
NE Asia ap-northeast-1

Get AWS Credentials

  • Go to the Amazon EC2 Homepage and click the “Sign Up For Amazon EC2” button and complete the signup process
  • Go back to, click Account, and then “Security Credentials”
  • Click the X.509 Certificates tab and click “Create a new Certificate”
  • Click “Download Private Key File” and save the file as Documents\aws\private-key.pem
  • Click “Download X.509 Certificate” and save the file as Documents\aws\certificate.pem
  • Create a file Documents\aws\ec2env.bat with the following code. Use the correct URL for the region you chose. You may need to use PROGRA~2 in JAVA_HOME if your OS is 64-bit.
    set PATH=%PATH%;"c:\PROGRA~1\ec2-api-tools\bin"
    set EC2_HOME="c:\PROGRA~1\ec2-api-tools"
    set JAVA_HOME="c:\PROGRA~1\Java\jre6"
    set EC2_PRIVATE_KEY=%USERPROFILE%\Documents\aws\private-key.pem
    set EC2_CERT=%USERPROFILE%\Documents\aws\certificate.pem
    set EC2_URL=
  • Open a Command Prompt and run ec2env.bat to load the settings
  • Run ec2-describe-regions to test the settings
    ec2-describe-regions command and output

Create SSH Key Pair

An SSH key pair allows you to log into your new instance and create a user account for yourself. EC2 loads the public key into the new server image. You will use the private key on your client.

  • ec2-add-keypair sshkeypair
  • Copy and paste the lines from “BEGIN RSA PRIVATE KEY” through “END RSA PRIVATE KEY” into the file Documents\aws\sshkeypair.pem. To copy text from the command prompt, first right-click and choose Mark, then highlight the desired text and press Enter. ec2-add-keypair command and output
  • Run PuTTYgen from the Start Menu
  • On the Conversions menu, choose “Import Key” and open sshkeypair.pem
  • Change the comment to “sshkeypair“
  • Enter a good passphrase
  • Click the “Save private key” button and save it as Documents\aws\sshkeypair.ppk
    Using PuTTY Key Generator to convert private key from PEM format to PuTTY PPK format
  • Close PuTTY Key Generator
  • Delete sshkeypair.pem for safety
  • Double-click on sshkeypair.ppk and enter the passphrase. This will start the PuTTY Authentication Agent (pageant) and load the private key.
    PuTTY Authentication Agent with key loaded

Create Your Instance

  • Choose your AMI (Amazon Machine Image)
    • US West: ami-cb97c68e
    • US East: ami-714ba518
    • Europe: ami-a94d67dd
    • SE Asia: ami-2c354b7e
    • NE Asia: ami-5c0fa45d
    These images are published by Canonical Ltd, the commercial sponsor of Ubuntu Linux. They are all 32-bit Ubuntu 10.04 LTS images that boot from EBS. To find updated AMIs, go to and click the tabs under the title “Ubuntu and Debian AMIs for Amazon EC2”.
  • Create and start your instance with the following command. Replace ami-FFFFFFFF with the proper AMI identifier. The command may take 30 seconds or more to complete.
    ec2-run-instances --group default --key sshkeypair --block-device-mapping "/dev/sda1=:16:off" --instance-initiated-shutdown-behavior stop --disable-api-termination ami-FFFFFFFF
    ec2-run-instances command and output
    What the options mean:
    • --group default” puts this server in the default security group
    • --key sshkeypair” loads your public key into the new server so you can log in
    • --block-device-mapping "/dev/sda1=:16:off"” maps /dev/sda1 to a new 16 GB EBS volume. EC2 will not automatically delete the volume when you terminate your instance.
    • --instance-initiated-shutdown-behavior stop” configures EC2 to stop your instance when you shutdown the OS, preserving the instance ID and config for easy restarting. Without this, your instance would be terminated (deleted) each time you shut down.
    • --disable-api-termination” prevents anyone from accidentally deleting your instance. If you want to delete your instance, you must first run this command to re-enable termination:
      ec2-modify-instance-attribute --disable-api-termination false i-FFFFFFFF
      Then you can terminate your instance, delete your EBS volume, and release your elastic IP address using the command-line tools or the AWS Management Console
  • Allow SSH and ICMP through firewall. This applies to all instances in the default security group:
    ec2-authorize default -P tcp -p 22 -s
    ec2-authorize default -P icmp -t -1:-1 -s
    ec2-authorize commands and output
  • Your instance has a public IP address. Look it up and ping it:
    Get instance ip address and ping
  • The public IP address changes every time you stop and start your instance. Run these commands to get a static IP address and point it at your instance. Replace with the newly allocated address. Also replace i-FFFFFFFF with your instance ID. Remember that Amazon charges for addresses that are not associated with running instances.
    ec2-associate-address -i i-FFFFFFFF
    allocating an address and associating it with the instance
  • This would be a good time to make a DNS A-record pointing to the static IP address. A name like is much easier to remember than

Start/Stop Scripts

  • Create the file Documents\aws\ with the following code. Replace and i-FFFFFFFF with the appropriate values.
    call %USERPROFILE%\Documents\aws\ec2env.bat
    call ec2-start-instances i-FFFFFFFF
    sleep 10
    call ec2-associate-address -i i-FFFFFFFF
  • Create the file Documents\aws\ with the following code. Replace i-FFFFFFFF with your instance ID.
    call %USERPROFILE%\Documents\aws\ec2env.bat
    call ec2-stop-instances i-FFFFFFFF

Now you can easily start and stop your instance. Running the start script has no effect when your instance is already running. Similarly you can run the stop script multiple times with no ill effects.

Remember that Amazon charges for your EBS volume and static IP address even when your instance is stopped.

Install FreeNX

  • Run PuTTY from the Start Menu, connect to the static IP address, and log in as ubuntu. PuTTY will use the key from pageant.
  • Resize the filesystem to match the EBS volume
    sudo resize2fs /dev/sda1
  • Remove the ubuntu user password
    sudo passwd -d ubuntu
  • Add the freenx package repository
    sudo add-apt-repository ppa:freenx-team
  • Use packages built for Ubuntu 9.10 Karmic because the Ubuntu 10.04 Lucid packages have a problem
    sudo sed -i 's/lucid/karmic/' /etc/apt/sources.list.d/freenx-team-ppa-lucid.list
  • Download lists of available packages
    sudo apt-get update
  • Install the FreeNX server packages and dependencies
    sudo aptitude install freenx
  • Configure the FreeNX server scripts and make a new client ssh key
    yes |sudo /usr/lib/nx/nxsetup --install
  • Copy the client ssh key to your Windows machine
    sudo cat /var/lib/nxserver/home/.ssh/client.id_dsa.key
    Save the contents of the file to Documents\aws\freenx-client.id_dsa.key
  • Enable ssh logins with passwords
    sudo sed -i 's/^PasswordAuthentication no$/PasswordAuthentication yes/' /etc/ssh/sshd_config
    sudo /etc/init.d/ssh reload
  • Install gnome-terminal
    sudo apt-get install xterm gnome-terminal
  • Add your user account
    sudo adduser leonhard
  • Give yourself sudo permissions
    sudo visudo
    Add this line to the end of the file:
    leonhard ALL=(ALL) ALL
  • If you have trouble, consult the Ubuntu FreeNX Documentation

Log In

  • Run “NX Client for Windows” from the Start Menu. The “NX Connection Wizard” opens.
  • Enter in the Session and Host boxes
  • Click Next
  • Change selection from KDE to Custom and click the Settings button
  • Select “Run the following command” and enter /usr/bin/gnome-terminal in the box
  • OK, Next, Finish.
    Configuring the connection
  • The NX Client window appears. Enter your username and password.
  • Click Configure, click Key, and replace the DSA Key with the contents of the file Documents\aws\freenx-client.id_dsa.key
  • Click Save, Click OK, Click Yes to save the configuration
    Replacing the client key
  • Click Login
  • A gnome-terminal window should appear after about 30 seconds.

Happy developing on EC2!

In my next article, I will show you how to automatically back up your source code to RestBackup™ on commit.

About the Author

Michael Leonhard is the creator of RestBackup™, a new web service helping apps to backup & restore.


These comments were submitted when this blog was hosted at Posterous.

prmr said...

Hi Michael,

Great post. I was wondering what the responsiveness of using EC2 as your desktop is like? Could you watch a YouTube video, for example?


Michael Leonhard said...

James> The responsiveness is great for Eclipse and other software that primarily draws text and lines. Web browsing has some lag, as the rendered pages are downloaded through the ssh tunnel. YouTube is streaming uncompressed video to the screen, so it gets about 1 fps. I just run my browser locally. YouTube works great on Windows!


Tim Dysinger said...


No you can't watch videos unless you are on an awesome super fast pipe connected to amazon. And AFAIK there's no sound. It's similar to VNC in desktop viewing quality.

IMO it's not a usable "desktop" for many tasks.


lobo said...

who said "no sound" ? this is WRONG :)

I personally use it on a dedicated server (30 euros / month, unlimited bandwith) rather than AWS .. setup is the same tho:

NX works well with ESD (enlightment sound daemon) but since most distros nowadays are using PulseAudio, you have to do another step, outlined in that link

happy hacking !

InformedPatriot said...

Great rundown. Would this work just as well with a Mac?

Michael Leonhard said...

InformedPatriot> It should work just as well on a Mac. You can download the NX Client for Mac at

Kin Lane said...

Great overview. Definitely will help people get setup.

I've been using a small instance as my primary desktop for over really helped me transition from a Windows workstation to my Mac.

As well as stay machine independent. Everything I have is on my EC2 workstation and backed up to my S3.

chezbut said...

do you actually only pay $26/mo with active usage for your EC2 dev instance? That's cheap!

Chris Boyle liked this post.

Paul A Houle said...

Don't forget that if you like Windows, you can do the same thing with Windows and log in with RDP. Personally if I want to run GUI apps, I like Windows, not just because the GUI is better developed, but it's dead easy to log into into a Windows machine with RDP if you're running Windows, MacOS, or Linux.

Overall, AWS is awesome, even though it would be nice to have finer grained steps in the instances you can rent. Some other providers, like Softlayer, let you pick an arbitrary number of CPUs, arbitrary amount of RAM and all that, but, starting out, I find that much choice to be intimidating.

tommy molecule said...

fyi: your private key, not so private anymore.

Kevin Neely said...

I thought Amazon now offered a totally free low-resource instance on EC2. That would bring the desktop cost to very little. Unless of course, using an instance as a desktop consumes more resources than the free instance allows.

Jimbo said...

Why would you be this technical and setup this much...then still use windows for you primary machine..what a waste.

Michael Leonhard said...

Paul A Houle> Yeah, I used Windows on EC2 for the first time this week and found that it works very well. I wish there was an RDP server for Linux that had good performance like FreeNX.

tommy molecule> You can type in the private key and try it out :P

Kevin Neely> Micro instances may not have enough cpu for heavy development. There's an explanation under "Selecting Instance Types" at

Jimbo> I got used to a dual-machine setup at Amazon. There I had a Linux desktop and a Windows laptop. Having a good Linux dev machine is great. Having one colocated with your upstream dependencies is better. Also, Windows 7 rocks.

Andrey Smirnov said...

Great post Michael. I just learned about FreeNX :)

AlexFielder said...

Could you use one of these services to run a game server? (#BFBC2 or #Left4Dead2 for instance)

Shane said...

One of the cons you list is a lack of cheap 64 bit server type. I use the t1.micro for this desktop use scenario with 64bit. It's only 2 cents an hour, unless I start it as a Spot request (which has many disadvantages for desktop use) then it's even cheaper. Moving up to the next 64bit server type, though, is a big jump in price. The lack of RAM, but the dual core nature of the t1.micro seems to work well enough for me, though.

Kin Lane said...

I don't think this solution is for everyone. For me...I've been doing it for a while now and it helped me migrate my world to the mac.

I run small instance mostly....the costs are a business expense....and justified with the type of work I do. Having a public IP address on my centralized workstation helps a lot.

Plus the ability to scale up and down based upon doing some harvesting or processing is nice.

I don't experience any latency...unless the Internet connect I'm on is slow.

I also backup the AMI and all the files + data to S3 and simultaneously to the Rackspace cloud for redundancy. And cover my ass.

I think Michael took some time and laid out a great plan for people to follow. If you think its dumb....I'd move on. But I think your limiting your perspective on whats possible out there because it definitely has its purpose for some.

I think its funny how people get hung up on the costs? If you run a professional shop. Its cost of doing business. I have a central place to host all my files, projects, give places for my devs and clients to access my resources. I don't worry about losing a workstation. Keeps me machine independent.

Thanks Michael. Appreciate your work here.

Steve S said...

>The responsiveness is great for Eclipse

I used to use FreeNX on windows to connect to an ubuntu desktop running at my office, primarily for Eclipse. It was pretty unresponsive for me. I always thought that was because the window was drawn by the JRE or something like that. My ctrl, shift and alt keys would get stuck sometimes, or not even register. Sometimes sections of a window would blank out and I needed to hide and restore the window to redraw it. Sometimes text would blank out.

In order to improve my experience, I ended up configuring a separate development environment at home and checking out a copy of my repositories from my remote machines.

I always thought that FreeNX felt slower than it should. I know my connection to work is not in the same league as Amazon EC2, but there is more than enough bandwidth to spare for one desktop session, since I would more than likely be the only person using the connection after hours.

When I asked around on IRC, I heard that the general consensus was that this was the level of performance that I should expect, and if I wanted a smoother experience I should stick to running things locally.

Do you have any tips I could try to improve the responsiveness of Eclipse over FreeNX? Thanks.

mikew909 said...

great article ! the best explanation of ec2 setup i've seen so far

Alex Covic liked this post.

mikew909 said...

Just wondering anyone had an issue with NoMachine - Cannot initialize display service - everything seemed to go fine until i try to login through the client

Michael Leonhard said...

mikew909> NX Client gives me that error on Windows Server 2008. It works fine under Windows 7.

stephen said...

I believe I have followed the following steps, but then I enter the following,
bash-3.2$ ec2-run-instances --group default --key sshkeypair --block-device-mapping "/dev/sda1=:16:off" --instance-initiated-shutdown-behavior stop --disable-api-termination ami-714ba518

but get the following response,
Client.InvalidAMIID.NotFound: The AMI ID 'ami-714ba518' does not exist

Am I doing anything obviously wrong?

Michael Leonhard said...

stephen> You can get that error if you run the command against one region and specify an AMI that only exists in another region. Try setting EC2_URL= and try again.

C:\>ec2-describe-images --region us-east-1 ami-714ba518
IMAGE ami-714ba518 099720109477/ebs/ubuntu-images/ubuntu-lucid-10.04-i386-server-20100427.1 099720109477 available public i386 machine aki-754aa41c ebs BLOCKDEVICEMAPPING /dev/sda1 snap-5e4bec36 15

C:\>ec2-describe-images --region us-west-1 ami-714ba518
Client.InvalidAMIID.NotFound: The AMI ID 'ami-714ba518' does not exist

Adam said...

I've followed all these steps, and can log into NX and I get the gnome-terminal. Am I supposed to be seeing a GUI, or is the purpose to kick off the GUI such as Eclipse or Thunderbird from the command line?

Michael Leonhard said...

Adam> Yes, you can start graphical programs from the command line. Add '&' to the end of your command to run it in the background.

Stefan said...

Thanks! Keep up the good work!

David said...

Thanks for the great guide. Until I read this article I didn't realize that it could be done - the key fact I was missing is the EBS device which gives your dev machine the state you need (you know, for your ~/.emacs), which you don't have for arbitrary production EC2 instances. I'm going to try this out!


  1. Note that per,

    As of July 2011, the FreeNX PPA package is missing the nxsetup script. The script can be downloaded from here by issuing:
    Unpack the nxsetup script:
    tar -xvf nxsetup.tar.gz
    Copy the setup script to /usr/lib/nx:
    sudo cp nxsetup /usr/lib/nx/nxsetup

  2. Hi,
    Great tutorial.

    I was following along and doing well until the "Create Instance" - create your own instance with the following command:

    c:\Users\kesten\Documents\aws>ec2-run-instances --group default --key sshkeypair --b
    lock-device-mapping "/dev/sda1=:16:off" --instance-initiated-shutdown-behavior s
    top --disable-api-termination ami-9b2d03de
    Client.InvalidGroup.NotFound: The security group 'default' does not exist in VPC 'vp

    I used an ami for 12.04 LTS 64 bit. I also tried adding a security group named 'default' and changing the group in the commnad from 'default' to 'devs'. Neither changed the error message.

    Any idea what's causing this?

    1. as a workaround for now, I started the instance from the AWS dashboard and copied it in place of generating it with a client side command. Will have to figure out how to get a static ip now.

    2. Hi Kesten,
      When creating an instance in a VPC, you must provide the security group ID rather than name. See this thread:


  3. Hi Micheal,

    Since this article is dated, and it seems AWS rates have dropped a bunch in comparison, I was curious to know if you upgraded your instance?

    1. I have read your blog its very attractive and impressive. I like it your blog.

      Digital Marketing Company in Chennai Digital Marketing Agency

  4. Thanks for sharing informative article on Salesforce technology. Your article helped me a lot to understand the career prospects in cloud computing technology. Salesforce Training in Chennai

  5. Excellent post!!! In this competitive market, customer relationship management plays a significant role in determining a business success. That too, cloud based CRM product offer more flexibility to business owners to main strong relationship with the consumers. Salesforce Training Institutes in Chennai

  6. very informative blog. Helps to gain knowledge about new concepts and techniques. Thanks for posting information in this blog
    Salesforce Training in Chennai

    1. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging. If anyone wants to become a Java developer learn from Java Training in Chennai. or learn thru Java Online Training India . Nowadays Java has tons of job opportunities on various vertical industry.

    2. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging. If anyone wants to become a Front end developer learn from JQuery Training . or learn thru ES6 Online Training India. Nowadays JavaScript has tons of job opportunities on various vertical industry.


  7. I have been following you for a couple of months now but this is my first time commenting on a blog post. Thank you for sharing your knowledge and experience with us. Keep up the good work. Already bookmarked for future reference.

    SAP training in Chennai

  8. you have an quiet intresting content in your blog.
    Seo training in Chennai


  9. Thanks a lot for all your valuable article! We are really happy about the your...
    SEO Training in Chennai

  10. Wow amazing i saw the article with execution models you had posted. It was such informative. Really its a wonderful article. Thank you for sharing and please keep update like this type of article because i want to learn more relevant to this topic.

    SEO Training in Chennai

  11. Really very nice blog information for this one and more technical skills are improve,i like that kind of post.

    Digital Marketing Training in Chennai


  12. Great and useful article. Creating content regularly is very tough. Your points are motivated me to move on.

    SEO Company in Chennai


  13. Thank you for taking the time to provide us with your valuable information. We strive to provide our candidates with excellent care and we take your comments to heart.As always, we appreciate your confidence and trust in us.

    SAP Training in Chennai

  14. Great post. happy to visit your blog. Keep sharing such a useful post.

    web designing training in chennai

  15. looking For the best SharePoint Training in Chennai?
    SharePoint training in Chennai

  16. Great article. Thanks for sharing such a useful post.
    qlikview training in chennai

  17. DreamHost is ultimately one of the best hosting provider with plans for any hosting needs.

  18. Great article, your instruction is very clear.Thanks for sharing this valuable post.
    Laptop Service in Chennai

  19. Softage houses whatever of the top and penetrated programming experts who are helmeted with vigorous utilized and industry see.Java

  20. Extraordinary post!!! It's business who to move that best projects released marketing side.
    Selenium Training Classes in Chennai
    Selenium Training in Chennai

  21. .Thank you just for this great blog post. It absolutely was extensively helpful

    and to the point. I am glad I found this blog through google

  22. This blog is having the general information. Got a creative work and this is very different one.We have to develop our creativity mind.This blog helps for this. Thank you for this blog. This is very interesting and useful.

    iOS App Development Company

  23. Thanks for posting useful information.You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...Really it was an awesome article...very interesting to read..please sharing like this information......
    Web Development Company

  24. Thank you for your post. This is excellent information. It is amazing and wonderful to visit your site.
    Android training in chennai
    Ios training in chennai

  25. The blog gave me idea to use Amazon EC2 on Desktop My sincere Thanks for sharing this post and please continue to share this kind of post
    Cloud Computing Training in Chennai

  26. Really it was an awesome article...very interesting to read..You have provided an nice article....Thanks for sharing..
    Web Design Company
    Web Development Company

  27. Pretty knowledgeable post! I'm searching for some topics Google I want to see that our site link and then opened it our site all information is really good.I'm read this Amazon EC2 desktop usage how i'm very happy yours sharing this useful post.
    Hadoop Training in Chennai
    Best Salesforce Training Institute in Chennai with placement

  28. Everyone wants to get unique place in the IT industry’s for that you need to upgrade your skills, your blog helps me improvise my skill set to get good career, keep sharing your thoughts with us.
    Aws Online Training


  29. I am expecting more interesting topics from you. And this was nice content and definitely it will be useful for many people.

    Android App Development Company

  30. Nice it seems to be good post... It will get readers engagement on the article since readers engagement plays an vital role in every blog.i am expecting more updated posts from your hands.
    iOS App Development Company

  31. I wondered upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I’ll be subscribing to your feed and I hope you post again soon.

    Fitness SMS
    Fitness Text
    Salon SMS
    Salon Text
    Investor Relation SMS
    Investor Relation Text

  32. Besant Technologies has done creative work in Training through its Software Testing Course. We offer short-term modular and comprehensive programs to Software Testing career aspirants and working professionals. Candidates can choose between full-time and part-time Software Testing Course options based on the individual’s time constraints. So join us besant technologies. Amazon Web Services Training in Bangalore |
    DataScience Training in Bangalore |

  33. This comment has been removed by the author.

  34. great and nice blog thanks sharing..I just want to say that all the information you have given here is awesome...Thank you very much for this one.
    web design Company
    web development Company
    web design Company in chennai
    web development Company in chennai
    web design Company in India
    web development Company in India

  35. Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.

    Android Training in Bangalore

  36. You truly did more than visitors’ expectations. Thank you for rendering these helpful, trusted, edifying and also cool thoughts on the topic to Kate.

    selenium training in bangalore|
    selenium training in chennai|

  37. Your good knowledge and kindness in playing with all the pieces were
    very useful. I don’t know what I would have done if I had not
    encountered such a step like this.

    AWS Training in Bangalore

    AWS Training in Bangalore

  38. Hello admin, I have read your blog, it was very nice to read & I am getting useful information’s through your blog. Keep update your blog

    AWS Training in Chennai

  39. Hi dear, I like your post so much, and it is very good. Hope that we can communicate with each other. I want to introduce an aso services, I try it and I feel it is so good to us beginners.

  40. your explanation is too good, Thanks for sharing this information about MSBI Online Training

  41. Really useful information. we are providing best data science online training from industry experts.

  42. This was some very inciteful and useful information. I appreciated the candor in not checking multiple times a week, as I do! :-) You are correct in saying that efforts can be focused on building additional link sources. Thanks for the reminder.Thanks for posting useful information.
    AngularJS Training Institute in Chennai
    AngularJS Cetification Training in Chennai
    AWS Training in Chennai
    AWS Devops Training in Chennai
    DevOps Certification in Chennai
    DevOPs Certification Training Institute in Chennai
    Best AngularJS Training in Chennai
    AngularJS Training in Chennai

  43. this blog providing good information To learn NodeJS AngularJS MongoDB Training contact:

  44. Cloud-based CRM helps in different roles of storing and retrieving data. In Cloud Computing, Salesforce is one of the major things to be noted provides applications includes ERP, CRM etc., Thanks for your clear explanation of the relationship between Cloud and Salesforce.
    Salesforce Training in Chennai | Salesforce Training

  45. Cloud is an ever growing one in today's world. A user can get their data as wherever they are in the world and your article clearly explains about the cloud. Share more like this.
    AWS Training in Chennai | AWS course in Chennai

  46. Nice post about MSBI, are you looking for best msbi online training.

  47. I ‘d mention that most of us visitors are endowed to exist in a fabulous place with very many wonderful individuals with very helpful things.

    AWS Training in Bangalore|

  48. Thanks for your information sharing with us, We are waiting for your more updates on MSBI Online Course

  49. Amazon comprehends that to remain to finish everything, it must remain before its clients constantly. Ecom Income Blueprint

  50. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging
    aws training in chennai
    selenium training in chennai

  51. Amazon Payments buyers and sellers rarely interact. The Amazon buyer tends to expect high customer service and they don't expect to have to ask if an item has shipped.

  52. I'm not sure EC2 is more economical in terms of CPU power, as I think Linode gives you access to up to 4 Xeon cores depending on load (which is generally quite low) so you probably get more raw performance from a Linode instance despite having less memory.
    AWS Authorized Training Chennai

  53. here we stitch clothes as per your design and selection

  54. Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.
    python training in chennai

  55. I read this article. I think You put a lot of effort to create this article. I appreciate your work.
    Dissertation Writing Services

  56. here we stitch clothes as per your design and selection

  57. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.

    Big Data Training in Bangalore

  58. Appreciation for really being thoughtful and also for deciding on certain marvelous guides most people really want to be aware of.

  59. It has fully emerged to crown Singapore's southern shores and undoubtedly placed her on the global map of residential landmarks. I still scored the more points than I ever have in a season for GS. I think you would be hard pressed to find somebody with the same consistency I have had over the years so I am happy with that. email template

  60. Hi Buddy,

    Nice to be visiting your blog again, it has been months for me. Well this article that i’ve been waited for so long.

    I am given a data set and I need to analyze the statistics of a column based on the groups formed from other column unique values.
    I could do it using groupby of pandas.
    But I want to use multiprocessing Pool map. The example is as below.

    A B C
    2 3 4
    2 5 3
    2 3 5
    2 7 9
    2 3 10
    3 4 23
    2 7 4

    Based on A and B combination unique values, I need to get mean of column C.
    Python Code: (Double-click to select all)
    1 #df.groupby(['A', 'B'])['C'].mean()#

    Very useful post !everyone should learn and use it during their learning path.

    Kind Regards,

  61. Hello There,

    Love it absolutely! So crystalline. No mumbo jumbo. No non-sense. Straight and simple. You guys need a standing ovation for your good work.

    I have multiple production workloads running on multiple servers. All using Python 2.7.12. This morning I arrived at work to find lots of errors in my logs. The tracebacks all include this:

    File "/usr/lib/python2.7/", line 331, in mkdtemp
    dir = gettempdir()
    File "/usr/lib/python2.7/", line 275, in gettempdir
    tempdir = _get_default_tempdir()
    File "/usr/lib/python2.7/", line 217, in _get_default_tempdir
    ("No usable temporary directory found in %s" % dirlist))
    IOError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/']

    We are not out of disk space. This is happening on lots of different servers.

    We did not deploy any new code -- it was a Sunday evening. The first occurrence of the error was a few minutes after 0000 GMT this morning. We do not have automatic patching or updates enabled. Could there be something in the Python tempfile module that started failing as of a certain date/time?? Anyone else having a similar problem?

    It was cool to see your article pop up in my google search for the process yesterday. Great Guide.
    Keep up the good work!

    Thanks a heaps,

  62. Hello There,

    Smokin hot stuff! You’ve trimmed my dim. I feel as bright and fresh as your prolific website and blogs!

    I'm new to the world of programming and I am really under pressure to learn
    python at the moment for a mature student college course. So im looking for help on how to get python pandas installed on ubuntu 16.04, specifically pandas datareader. I might need more help later too, to get my head around this. I have no programming experience and very little linux experience.

    I'm doing the basic introduction on python and stuck on the second part.
    import as web

    Thank you very much and will look for more postings from you.

    Thanks a heaps,

  63. this blog providing good information To learn

    HTML PHP NodeJS Hadoop Training in Tarnaka Hyderabad


  64. You have done a amazing job with you website restoration of old photos

  65. Here at this site really the fastidious material collection so that everybody can enjoy a lot. Ice Cream Day

  66. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp great deal more around this condition.

  67. A debt of gratitude is in order for sharing the information, keep doing awesome... I truly delighted in investigating your site. great asset.. Web Solutions company

  68. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.

    Amazon Web Services Training in Chennai


  69. this blog providing good information To learn

    HTML PHP NodeJS Hadoop Training in Tarnaka Hyderabad


  70. Appreciating the persistence you put into your blog and detailed information you provide.
    Amazon Web Services Training in Bangalore

  71. Existing without the answers to the difficulties you’ve sorted out through this guide is a critical case, as well as the kind which could have badly affected my entire career if I had not discovered your website. Best AWS Training in Bangalore

  72. It has been simply incredibly generous with you to provide openly what exactly many individuals would’ve marketed for an eBook to end up making some cash for their end.
    AWS Training in Bangalore
    Python Training in Bangalore

  73. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here. aws training in chennai

  74. It’s great to come across a blog every once in a while that isn’t the same out of date rehashed material. Fantastic read.

    Digital Marketing Training in Chennai

  75. This website is really a walk-by way of for all of the information you wished about this and didn’t know who to ask. Glimpse right here, and also you’ll undoubtedly uncover it.
    Aws Training in Hyderabad | Salesforce Training in Hyderabad

  76. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here. aws training in chennai

  77. It has been simply incredibly generous with you to provide openly what exactly many individuals would’ve marketed for an eBook to end up making some cash for their end, primarily given that you could have tried it in the event you wanted.

    AWS Certified Developer

    AWS Interview Questions

    Aws Azure Job Opening

    Aws Freshers Opening in Chennai and Bangalore

  78. Simply superb Info.. Good collection of Information regarding Amazon Ec2
    Thanks for sharing..
    Amazon Web Sevices(AWS)Training in Hyderabad

  79. The information provided above is very useful. Explained the concepts in a clear way, especially with the screenshots. If any one interested to learn AWS training in Chennai can join from the list of institutes.

  80. Having such a great ideas about the post, that i have read. It help us to learn some new things. YEPO 737A

  81. Thanks for that.I hope to really understand to your information.

    Asp.Net Training in Chennai | Big Data Training in Chennai .

  82. This is really an awesome article. Thank you for sharing this.It is worth reading for everyone. Visit us:

    Mvc Training in Chennai | Robotics training in chennai .

  83. Having such a great ideas about the post, that i have read. It help us to learn some new things

    aws training in chennai

  84. This was an nice and amazing and the given contents were very useful and the precision has given here is good.
    Java Training in Chennai

  85. interesting writeups about "How To Use Amazon EC2 as Your Desktop". thanks for sharing.

    Data Science Training in Chennai

  86. Thanks for the blog and it is really very useful one.hadoop training in chennai


  87. This was an nice and amazing and the given contents were very useful and the precision has given here is good.
    Bigdata Analytics Training in Chennai