Tuesday, December 27, 2011

Monitor your estimated AWS charges with Amazon CloudWatch

At BitNami we are focused (some will say obsessed, really :) on making it easier to deploy and manage web applications in general and in the Amazon cloud in particular. In our experience, one of the main issues mainstream developers and admins have when moving to the Amazon Cloud is that it is sometimes difficult to estimate what the total cost of a deployment. Even the Simple Monthly Calculator is well, a bit scary in comparison with the more or less straightforward pricing of traditional dedicated or shared hosting. Its 'pay per usage' model, combined with reserved and spot instances, can help reduce your bill for many kinds of deployments. It also makes it highly desirable to be able to control whether it grows more than expected, either because a surge in traffic/usage or because somebody accidentally left running hundreds of machines from a traffic load test (it happens!)

Up to now, AWS did not offer any programmatic access to billing data. Although part of it could be derived from CloudWatch usage data, to get accurate data you had to manually log in directly to the AWS console. Because of these shortcomings, third-party tools for monitoring AWS spending had to ask end users for their username and password (as opposed to being able to provide IAM credentials). That gives us the creepies and it is the reason why we have preferred instead to just present our users with rough estimates... until now: in the past few days Amazon quietly rolled out support for monitoring estimated charges using Cloudwatch. We received the following the following email:

Dear AWS customer,
We are pleased to inform you that Premium Support customers can now monitor AWS estimated charges using Amazon CloudWatch. You can view your estimated charges as Amazon CloudWatch metrics and create alarms that automatically send you email notifications when these charges exceed levels that you set. This feature is currently available as a limited beta and you can share feedback on how we can make it better by submitting a case at: https://aws.amazon.com/support/createCase and selecting ‘Amazon CloudWatch’ in the case description.
To enable monitoring for your estimated charges, visit the AWS account activity page at: http://aws.amazon.com/account/ and click ‘Enable Now’. Once your account is enabled, you can view metric data and set alarms using the Amazon CloudWatch APIs or the AWS Management Console at: http://aws.amazon.com/console/cloudwatch/
You can use this feature to track and manage your AWS spending more easily. For example, you can graph estimated charges for Amazon EC2, Amazon S3, and AWS Data Transfer over the last two weeks and then set alarms that send you an email as soon as one exceeds $100, or you can set an alarm that emails you if total AWS estimated charges exceed $300.
These metrics are provided at no additional charge, and any alarms that you create are priced at standard Amazon CloudWatch rates. More information about Amazon CloudWatch pricing is available at:http://aws.amazon.com/pricing/cloudwatch/.
If you have any questions regarding this new feature, the AWS Support Team is available at: http://aws.amazon.com/support/.
Amazon Web Services
As mentioned in the email, this functionality is available only to Premium support customers, while Amazon works on further refining it. Since we have not seen a review or mention of it anywhere, we gave it a spin and documented the experience. The first step was to enable it from the AWS account activity page:
AWS Account activity

Estimated charges functionality enabled

After enabling the functionality and waiting a few minutes, it is possible to start querying estimated monthly charges, either in aggregate or separately by each service, including EC2, RDS, Route53, SNS and SQS are supported. The system is also able to track the cost of running Premium support and charges related to data transfer.

Estimated monthly charges for EC2

In order to keep an eye on the costs, it is possible to create alarms that get triggered when the projected costs exceed a certain target. For example, the following screen captures show the process to setup an email alert in case the projected bandwidth costs go over $500

Selecting data transfer metric

Naming the alarm and setting a threshold
Send an email if the alarm is triggered

Review and create the alarm

This functionality is just a taste of many new features Amazon is going to be adding in the next few months regarding billing automation and API access. As mentioned, this is particularly interesting for us, as we are building our cloud application hosting offering on top of Amazon's infrastructure. As an aside it is simply amazing the rate of innovation that keeps coming out of AWS, where other cloud vendors offering is still pretty much limited to starting/stopping VMs on demand...

Friday, December 23, 2011

BitNami Stacks Available in Chinese

As you may know, we have been working on translating our stacks to multiple languages, starting with some of the most popular. In addition to English, Spanish and Portuguese languages, we added support for Simplified Chinese in WordPress, Joomla!Drupal and Redmine, thanks to contributions from our community.

Drupal welcome page
Chinese Joomla!

We are looking to translate BitNami Stacks to more languages. If you would like to help, please check our wiki entry on translations and start translating in translate.bitnami.org. Thanks to Deng Kangming  for the Chinese translation!

Wednesday, December 21, 2011

Cloud Tools for Amazon API updated

We are happy to announce a new version of BitNami Cloud Tools. This installer is a collection of the most popular command line tools for the Amazon API: EC2, Beanstalk, ELB, RDS, SES etc. The installer ships all of the required dependencies to provide you with a fully configured environment for every Amazon API, including a JDK, Perl and Ruby runtimes, etc. BitNami Cloud Tools is available for Windows, Linux and OS X.

Here is the list of upgrades for the 1.3-0 version:

  • Update aws-ec2-api
  • Update aws-ec2-ami
  • Update aws-ses 2011-11-30
  • Update aws-sdk-ruby 1.2.5
  • Update aws-sdk-java
  • Update ruby 1.9.3
You can learn more about the installation process and the configuration in a previous post.

Monday, December 19, 2011

BitNami, bem-vindo ao Brasil!

As part of our commitment to make BitNami more accessible to end-users, we are working on translating our stacks to multiple languages, starting with some of the most popular. To welcome the new Sao Paulo Amazon region released last week, we released a Portugûes (Brasil) version of our WordPress, Joomla! and Drupal AMIs. Together with our pre-existing Spanish language support, it makes BitNami AMIs ideal for deployment in South America. The new language features are also supported on VMWare appliances and native installers. Please see below for some screenshots:

Welcome page for WordPress AMI
BitNami WordPress Stack

You can help us getting these and other stacks translated into your language. We have set up a translation server (running our BitNami Pootle Stack of course) so that BitNami users can help us to make the Stacks available in more languages.

Please check our wiki entry on translations to see how you can collaborate and start translating in translate.bitnami.org.

Wednesday, December 14, 2011

Amazon Launches on a New Continent, BitNami AMIs Are Ready to Go

You may have seen that Amazon just announced its new Sao Paulo, Brazil Region for the Amazon Cloud. We are very happy to announce that most of the BitNami library of applications is available immediately for this new region, with the rest to follow soon. We have been working with Amazon throughout the beta of the Sao Paulo region to ensure that the BitNami AMIs were ready to go for the launch, so they have already been tested in the new region. You can find the new AMIs in the Amazon catalog and they will be available within the next 24 hours on the BitNami site.

We are particularly excited about the launch of this new region because a large and very rapidly growing number of BitNami users are based there. In light of that, we are also working on adding Brazilian Portuguese support to the BitNami Wordpress, Joomla! and Drupal Stacks, which means that users will be able to deploy those apps with the language packs already installed and configured.

Support for the Sao Paulo region is also in the works for BitNami Cloud Hosting, which simplifies the process of deploying and managing the BitNami library of applications and development environments in the cloud. If you are not familiar with it, it offers dynamic deployments, automatic backups, monitoring and other features that make it easier to run applications in the cloud.

Support for the Oregon Region and Reserved Instances Now in BitNami Cloud Hosting

We are pleased to announce a couple of new features that were recently released in BitNami Cloud Hosting. First, we have added support for the Oregon region, so you now have a choice of West Coast regions for server deployment. We have also added support for selecting Availability Zones, so you can choose which zone to launch your server in and take advantage of Amazon's Reserved Instance pricing, which could save you 40% or more on your hosting bills.

This new Availability Zone support also introduces the ability to use Reserved Instances with BitNami Cloud Hosting. With Reserved Instances you pay a low, one-time fee and in turn receive a significant discount on the hourly charge for that instance. Reserved Instances are purchased for a specific Availability Zone, so it was not previously possible to take advantage them with BitNami Cloud Hosting. Now, you can specify which Availability Zone to launch your server to (as shown below). Provided that you choose an Availability Zone that you have Reserved Instances available for, you will automatically receive the Reserved Instance pricing. Using Reserved Instances can dramatically reduce your AWS bill, so if you plan to have your server(s) in operation for an extended period of time, we encourage you to look into it.

To select an Availability Zone when creating your server, click on the
 'Advanced Options' link after clicking the region selection button.
Select your preferred Availability Zone from the list of available options.
Please note that selecting an Availability Zone is not necessary, and only recommended if you are trying to take advantage of Reserved Instance pricing or want to keep servers running in different zones for redundancy purposes. If you do not select an Availability Zone, AWS will automatically select the best Availability Zone based on available resources.

If you are not already familiar with BitNami Cloud Hosting, it provides the easiest way to launch and manage Drupal, Joomla!, Redmine, Alfresco, SugarCRM and your other favorite open source applications and development frameworks in the cloud. Sign up today for a free developer account!

Get started with CodeIgniter in the Amazon Cloud

We recently released BitNami LAMP WAMP and MAMP Stacks with CodeIgniter 2, a popular development framework (the *AMP Stacks also bundle other frameworks like ZendFramework, Symfony and CakePHP). In this post, we will walk you step by step through how to start a project with CodeIgniter in the Amazon Cloud using a BitNami LAMP Stack AMI

First, you will need an Amazon acount to access the AWS Console. You can find how to create your account here (note that they have a free tier which provides you with a free micro instance for a year). Once you login to the AWS Console, go to the EC2 tab and launch a new Instance. You can locate the BitNami LAMP Stack image by searching in the Community AMIs tab for "lampstack-5.3.8-2", which is the latest version at the time of this writing.

Another option is to launch directly from the BitNami website. You can select your preferred region (United States, Europe or Asia) and the architecture (32 or 64 bits) and click on the appropriate link. Then, you can set different parameters from the AWS Console: availability zone, ssh key, the image type (micro, small, medium) and the security group. Once the machine is started, access it by typing the public DNS name in a browser. You should see something similar to the screenshot below.

The next step involves connecting to the machine. You can download the private SSH key from your Amazon account. If you want to connect to the machine from Windows using the popular tool Putty, you will need to convert your private key to the .PPK format. Take a look at this tutorial if you are not sure how to perform this conversion.

On Linux or OS X, you can open a Terminal and run the following command:

$ ssh -i /path/to/your/private/key.pem bitnami@ec2-xx-xx-xx-amazonaws.com

You will see a welcome message similar to:

All the required files are in the "/opt/bitnami" folder:

ctlscript.sh: It is the main script to start/stop the servers.
frameworks/codeigniter: The CodeIgniter framework files.
apache2: The Apache server files.
php: The PHP language files.
mysql: The MySQL database files.

You can edit the files online with a command line editor (nano, vim, emacs) but many people prefer to edit files with a graphical editor locally. Using an SFTP client like FileZilla, you can edit the files from your computer. If you need help, see our how-to for configuration instructions.

Edit the Apache configuration file /opt/bitnami/apache2/conf/httpd.conf and uncomment the following line at the end of the file:

Include "/opt/bitnami/frameworks/codeigniter/conf/codeigniter.conf"

Restart the Apache server and visit the CodeIgniter welcome page at http://ec2-xx-xx-xx-amazonaws.com/codeigniter

$ sudo /opt/bitnami/ctlscript.sh restart apache

Success! You can now access the CodeIgniter user guide and create your own application in the Amazon cloud using this framework.

Thursday, December 8, 2011

BitNami LAMP Stacks now include popular PHP frameworks

Our goal at BitNami is to simplify the creation and deployment of web applications. Most developers do not start their projects from scratch, but rather build on top of existing libraries and applications like Drupal or Joomla!. We are happy to announce that the latest versions of our BitNami PHP platform stacks (LAMPMAMPWAMPLAPPMAPP and WAPP) now bundle four popular development frameworks. These stacks are available as downloadable native installers,  virtual appliances and cloud images.

This is the list of PHP frameworks and versions that we are including:
  • ZendFramework 1.11.11
  • Symfony 2.0.6
  • CodeIgniter 2.1.0
  • CakePHP 2.0.4
If you have additional suggestions for other frameworks we should be adding, please let us know!

You can find a quick guide about how to start your first project using one of these frameworks at http://wiki.bitnami.org/Components/Frameworks

Friday, December 2, 2011

Get BitNami in your preferred language!

We recently started the process of getting BitNami translated into different languages. The BitNami Redmine Stack is available in Japanese and we already offers BitNami WordPress, Drupal, Joomla! and Redmine in Spanish. Our cloud offering, BitNami Clould Hosting, has also been translated into Spanish recently.

You can help us getting these and other stacks translated into different languages. For this reason we have set up a server running our BitNami Pootle Stack so that BitNami users can help us to make the Stacks available in more languages.

Please check our wiki to see how you can collaborate and start translating in translate.bitnami.org.


Tuesday, November 29, 2011

BitNami Django Stack Cloud-ready with boto

At BitNami we are big fans of the Amazon Web Services Cloud. As part of our commitment to make AWS more accessible to developers and end-users, we have been bundling popular developer tools and SDKs with our stacks. Currently, BitNami LAMP/WAMP and MAMP Stacks ship the PHP AWS SDK tools and RubyStack ships the latest stable version of the Ruby AWS SDK. You can also download BitNami Cloud Tools, an all-in-one installer that includes the most popular command line tools available for the Amazon API: EC2, Beanstalk, ELB, RDS, SES etc.

So, what does all of the above have to do with Django? We are happy to announce that the latest version of BitNami Django Stack ships the most popular Python interface to Amazon Web Services: the boto project. Boto is an integrated interface to current and future infrastructure services offered by Amazon, including S3, EC2, SQS, ELB, SNS among others.

Please see below for a quick intro on how to use boto to launch a BitNami Django Stack instance in the EC2 Cloud:
  • First, create a text file  (aws-credentials.txt) that includes your AWS credentials :
  • Go to your BitNami Django Stack installation and open the "use_djangostack" console and set the AWS_AWS_CREDENTIAL_FILE environment variable.
On Windows: > set AWS_AWS_CREDENTIAL_FILE="C:\path\to\aws-credentials.txt"
On OS X or Linux: $ export AWS_AWS_CREDENTIAL_FILE=/path/to/aws-credentials.txt
  • Open a Python terminal and create a the connection
bash-3.2$ python
Python 2.6.5 (r265:79063, Nov 16 2011, 09:41:19) [GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin Type "help", "copyright", "credits" or "license" for more information. 
>>> from boto.ec2.connection import EC2Connection 
>>> connection = EC2Connection()

  • Check that your aws credentials are correct if you see the following error:
'Check your credentials' % (len(names), str(names))) boto.exception.NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['QuerySignatureV2AuthHandler'] Check your credentials
  • No launch the BitNami DjangoStack AMI using boto:
>>> images = connection.get_all_images(image_ids=['ami-2bbb7342']) 
>>> image = images[0] >>> image.location u'979382823631/bitnami-djangostack-1.3.1-1-linux-ubuntu-10.04-ebs' 
>>> reservation = image.run()

  • Now it is starting the instance, you can check the state
>>> reservation.instances [Instance:i-cf1334ac] 
>>> instance = reservation.instances[0] 
>>> instance.state u'pending' 
>>> instance.update() u'running'

  • Once instance is running, you will know the public domain name and you can check that it is working from your web browser.
>>> instance.dns_name u'ec2-XX-XXX-XX-XXX.compute-1.amazonaws.com'

  • As we have started an EBS volume, you can select to stop it or remove it once you are done with it.
>>> instance.stop() 
>>> instance.update() u'stopping' 
>>> instance.update() u'stopped' 
>>> instance.terminate() 
>>> instance.update() u'terminated'

Monday, November 28, 2011

BitNami Cloud Tools updated to AWS EC2 API version

BitNami Cloud Tools installer is a collection of the most popular command line tools available for the Amazon API: EC2, Beanstalk, ELB, RDS, SES etc. The installer ships all the required dependencies to have a fully configured environment to start playing with every Amazon API from your development machine, including a JDK, Perl and Ruby runtimes, etc. BitNami Cloud Tools is available for Windows, Linux and OS X.

This new version of BitNami Cloud Tools ships the latest version of the EC2 API among other improvements:

  • Update aws-ec2-api
  • Update aws-elb
  • Update aws-sdk-ruby 1.2.3
  • Update aws-sdk-java

In this guide you can find a quick start guide to launch and use instances using the EC2 API.

Friday, November 18, 2011

Popular Plugins for Drupal and Wordpress Now Included in BitNami Stacks!

In our effort to facilitate the deployment process of open source applications, we are starting to include the most popular modules and plugins for applications to the BitNami Stacks. These modules allow you to extend and customize your application. We have started with two of the most popular BitNami applications: WordPress and Drupal. See below for details on which plugins have been included with each stack.

BitNami WorPress now ships the following plugins:

- all-in-one-seo-pack This plugin optimizes your WordPress blog for search engines.
- contact-form It is an easy way to create contact forms for you web page.
- google-analytics-for-wordpress 4.2.2. An easy way con connect your blog with Google Analytics to check the traffic sources, see the visitors, etc.
- google-sitemap-generator 3.2.6. This plugin will generate a special XML
sitemap which will help search engines to better index your blog.
- jetpack 1.1.3. This plugin supercharges your self‑hosted WordPress site with the features of WordPress.com: subscriptions, stats and more.
- simple-tags 2.1.2. Add some tools for taxonomies : Terms suggestion, Mass Edit Terms, Auto link Terms, etc
- wptouch 1.9.35. This plugin automatically transforms your WordPress blog into an iPhone application.

BitNami Drupal now includes the following modules by default:

- admin_menu 7.x-3.0-rc1. This module provides a theme-independent administration interface.
- apachesolr 7.x-1.0-beta10. This module integrates Drupal with the Apache Solr search platform.
- ctools 7.x-1.0-rc1. This suite is primarily a set of APIs and tools to improve the developer experience.
- google_analytics 7.x-1.2. An easy way con connect your site with Google Analytics.
- imageapi 7.x-1.x-dev. A toolkit for managing images.
- pathauto 7.x-1.0. This module automatically generates URL/path aliases.
- smtp 7.x-1.0-beta1. This module let you send emails directly to an SMTP server.
- token 7.x-1.0-beta7. Tokens are small bits of text that can be placed into larger documents via simple placeholders.
- views 7.x-3.0-rc1. It provides a flexible method for Drupal site designers to control how lists and tables of content are presented.

Tuesday, November 15, 2011

Updated BitNami PHP platform stacks with MySQL 5.5

We are happy to announce that we have updated our BitNami PHP platforms Stacks (LAMP, MAMP, WAMP, LAPP, MAPP and WAPP) to include MySQL 5.5. This has been widely requested by our users as it significantly improves performance, specially on multi-core systems. The default storage engine is now InnoDB instead of MyISAM. The stacks also include now the MySQL native driver for PHP 5.3, which removes the need to link external libraries and improves performance in many common scenarios.

In addition to MySQL 5.5, the following major components were updated:

  • Apache 2.2.21 
  • PHP 5.3.8 
  • PostgreSQL 9.1.1 
  • phpMyAdmin 
  • phpPgAdmin 5.0.3 
  • AWS SDK for PHP 1.4.7 
We want to give a big thanks to everybody who continues to provide feedback and participate in our  our Q&A forum. While we cannot implement every request right away, we continue working to improve all BitNami applications based on your input and needs. Gracias!

Friday, November 4, 2011

Create awesome surveys with LimeSurvey

At BitNami we do our best to make it easy for you to discover, install and use the best open source applications. We already package wikis, content management systems, blog software, customer relationship managers and more.

We are happy to announce a new addition to our family, LimeSurvey. This project allows users to quickly create intuitive, powerful question-and-answer surveys that can work for tens to thousands of participants without much effort. The survey software itself is self-guiding for the respondents who are participating.
Creating a Survey

Survey Example

BitNami makes setting up LimeSurvey a simple process, so you can be publishing surveys in no time. As with all BitNami applications, LimeSurvey is available as a native installer, virtual machine image or Amazon cloud template (AMI). In the case of the native installers, you can download the complete software stack or a module installer that will automatically install it on top of an existing BitNami Stack that you already have installed on your system. LimeSurvey will also soon be available in BitNami Cloud Hosting, allowing it to be deployed to the Amazon cloud in one click and automatically backed up and monitored. Combined with the AWS free usage tier, you can have a completely free hosted setup of LimeSurvey.

If you need help in customizing or extending LimeSurvey, there are a number of partners that can help you.

Thursday, October 27, 2011

BitNami Cloud Hosting ahora disponible en español

We are happy to announce that BitNami Cloud Hosting is now available in Spanish. The rest of this post will be Spanish :) Hace unas semanas anunciamos la traducción de varias de nuestras stacks a varios idiomas, entre ellos el  español. Ahora nos complace compartir con vosotros que como mencionan nuestros amigos de Hostarting, le ha tocado el turno a nuestro producto estrella, BitNami Cloud Hosting. Os dejamos algunas capturas de pantalla, pero lo mejor es que os deis de alta en el servicio, tenemos una modalidad gratuita y se tarda 5 minutos.

BitNami Cloud Hosting
Configurando el Servidor
Lanzando el servidor

Tuesday, September 27, 2011

Updated BitNami Cloud Hosting Demo Video

As you know, we have been hard at work on BitNami Cloud Hosting to make it even easier to deploy and manage applications on the cloud. Last month, we made improvements to the server configuration screen that allow you to drop in PostgreSQL, OpenOffice, Memcached and Tomcat to your server with one click. We also enhanced the monitoring functionality and added the ability to add notes to servers.

Now that we have updated the user interface, we put together a new demo video that shows the new functionality. Check it out!

If you think this is cool, just wait until you see what we have coming! Stay tuned for new features to be released in the next few weeks.

Wednesday, September 21, 2011

BitNami JBoss 7 Stack

Now with BitNami you can test and enjoy JBoss 7. The first thing that you will notice when you start using this new version of JBoss is that the directory structure is quite different from previous releases. The management interface is also different. Apart of that, it now can be run in two different modes: domain mode and standalone mode.

BitNami JBoss 7 Stack installs and configure JBoss in standalone mode, this is the configuration required in most of use of cases. In this article you can find a quick look of the new features of JBoss.

Monday, September 19, 2011

You've got mail!

One popular request in our forums has been how to configure mail support in BitNami applications. This is necessary for some applications to send notification to users, reset passwords and other common features. This process varies from application to application and can take some time to research and implement manually, even if you are following a Wiki guide. Some applications require to configure a file, others to install a module or plugin and configure the server SMTP settings.

We have now simplified this process significantly both in our downloadable installers and in our BitNami Cloud Hosting service. As part of the installation process you will be prompted for your SMTP server information or, if you are using a common mail provider like Gmail or Yahoo!, just your username and password. In the latter case, it is recommended that you create a separate mail account from your normal mail account, just in case!

Choosing an email provider
Entering the credentials

The applications that currently support this configuration are Wordpress, Drupal, Joomla!, Alfresco, Redmine, Moodle, Magento, Dokuwiki, SugarCRM and the new Stack Pootle, that makes the translation processes simpler. We continue working on adding support for other applications.

You can also configure the account to send emails from your favorite applications in the Cloud with BitNami Cloud Hosting.

Tuesday, September 13, 2011

New RubyStack support Rails 3.1

If you are a Rails developer, you are aware that Rails 3.1 was recently released . We have now updated our BitNami RubyStack Development stack to include support for it.

This release includes the following updated components:
  • Ruby 1.9.2-p290
  • Rails 3.1  (of course!)
  • PHP 5.3.8
  • Apache 2.2.19
  • Passenger 3.0.9
  • and many more updated packages that you can check in the Changelog.

Friday, September 2, 2011

Spanish versions of BitNami WordPress, Joomla! and Drupal stacks

We are happy to announce the release of Spanish version of our WordPress, Joomla! and Drupal stacks. See below for some screenshots of both the installation wizard and the installed applications:
Joomla! installer setup screen

Spanish Drupal 

Spanish Wordpress

Spanish Joomla!

Over the next few weeks we will be releasing localized versions of our most popular stacks, including German, French, Portuguese, Japanese, Chinese and several other languages. If you are interested in contributing to one of the translations, please do get in touch with us by emailing us at hello (at) bitnami.org.