With a variety of public cloud hosting solutions available in the market such as Amazon, Rackspace and GoGrid and private solutions like Eucalyptus, Terremark, and VMWare, Right Scale offers a cloud management platform that operates on most of them. Using Right Scale’s platform, you don’t need to write scripts to launch EC2 instances, or think about plugging your own monitoring / management mechanisms for health check, or worry about lock-in to a particular cloud provider. Ease-of-use and a faster on-ramp for going production on a cloud are other key reasons amongst several other benefits offered by Right Scale.
Right Scale’s mantra "Real customers, Real deployments, Real benefits" was truly evident in their first ever user meetup. Other than discussing the trends, product road map and services offered by Right Scale, the most interesting part was the customer testimonials.
Greg Taylor from Sony Music uses Right Scale to manage it’s artists fan sites. Their main reasons for using Right Scale are largest choice of Operating System & AMI, multiple redundant data center reduce risk, and server templates/scripts versioning into portal. They are very happy with MySQL master/slave configuration server templates and have been able to scale to millions of users in a day (e.g. with michaeljackson.com). Michael Dosik from FanSnap (ticket search engine) leverage RightScale for automation instead of adding staff. Auto-scaling, RightScripts, Dashboard/monitoring and ease-of-use are other features specific that brings them to RightScale. Sam Ramji from Sonoa Systems (visibility, management, and control for Cloud services) talked about cutting down their configuration time from 3-4 days on EC2 to hours on RightScale platform and reduced concerns around portability as the main reasons for picking this platform. Read a more complete report about the meetup here.
Here are some other data points …
Scalable Web Sites, Test & Dev, Business Intelligence, Backup & Recovery, Mobile Services, and Grid Computing are the highest usage areas by Right Scale users
Fast on-ramp, Ease of setup, Ease of maintenance, IT visibility & control, Retain best practices, Productivity, Agility, Reliability, Predictability, and Portability are are some of the key benefits to Right Scale users.
100% production usage on EC2 for now
Ubuntu 9.10, CentOS 5.4, Windows 2003, Windows 2008 support coming (Ubuntu 8.04 used internally)
RHEL is the most often requested platform
Chef integration is the future direction, most new features like Machine Tags are targeted at Chef only
Right Scale’s CEO recommended to use the free version for 2 servers and the commercial version for 6-8+ servers
Monitoring features: monit integration, CPU/Disk/Network/MySQL/Apache/others, Auto-scaling based on alerts, 7-day free monitoring
The meetup very much lived to it’s promise of "NO! HYPE" buttons which were distributed to all the attendees. Each attendee was given a tee-shirt which had "707,007+" printed in big letters in the front. This is the number of servers launched by Right Scale so far. The "NO! HYPE" promise became much more evident after attending some sessions at SYS-CON Cloud Computing Expo which were still talking about philosophies / theories. The cocktail party in the evening provided a great atmosphere to mingle with the folks behind Right Scale.
So far no pictures from the meetup are available on flickr but hopefully they will show up here.
Over all, I really enjoyed the presentations at the meetup, meeting the Right Scale folks, and food/drinks at the cocktail party
MacBook Pro Cycle Count means the number of times a battery’s entire power is used up. It’s formally defined as:
A charge cycle means using all of the battery’s power, but that doesn’t necessarily mean a single charge. For instance, you could use your notebook for an hour or more one day, using half its power, and then recharge it fully. If you did the same thing the next day, it would count as one charge cycle, not two, so you may take several days to complete a cycle.
It can be easily determined by clicking on "Apple", "About This Mac", "More Info…", "Hardware", "Power", "Health Information:". MacBook Pro with a replaceable battery retains 80% of its original capacity after 300 cycles as mentioned here. But in all practical cases, I’ve heard users replacing the batteries closer to 300 counts. This number goes upto 750 for MacBook Air and 1000 for newer MacBook Pro so there is relief already.
My MBP cycle count hit 283 on Friday and the scary part was "Full charge capacity" was down to 258 mAh. In usage terms, a fully charged battery was getting drained out in 10 minutes
A new battery was rushed, installed and the new count is certainly the expected number:
Sun Microsystems is the innovation sponsor of Oracle Open World 2009. And that’s what was the theme of Scott McNealy’s keynote on a "Sun"day. It’s been a while that I’ve seen Scott on the keynote stage and it truly was an enjoyable experience. In his characteristic way, he gave top 10 reasons that "Engineers have gone wild" as:
10. Who needs thumb drive in the shape of sushi ? 9. "Noble prize" recently awards for gas mask bra – no more ridiculous than other noble prizes recently awarded 8. OS/2 7. Patent awarded for face mask with voice modification capability 6. I could do an entire top 10 of worlds strangest keyboards (strangest being iPhone, "Friends don’t let friends type on iPhone") 5. Windows 7 4. Man uses SPARCstation for his ashses 3. New market in "family size’ plots 2. Mainframe running Linux 1. Some one came up with this crazy idea for a ‘Java Ring’
And then on a more serious note, and keeping with the keynote theme, top 10 innovations from Sun:
10. NFS/PC-NFS Technology (1983) 9. SPARC (1989) 8. Open Source Software (Berkeley Unix, "Red Hat of Berkeley Unix", #1 contributor to OSS community) 7. BSD + UNIX System 5 = Solaris 6. Java (Java card, EE/SE/ME, JavaFX) 5. E10K (64-way Solaris, no longer mainframe required) 4. ZFS/Open Storage/Flash (Exadata) 3. Project Blackbox, world’s first modular datacenter 2. SunRay 1. Chip multithreading "CoolThreads"
And the biggest innovation from Sun:
Kicked Butt Had Fun Didn’t CHeat Loved our customers Changed computing for ever
Scott explained why SPARC, Solaris, MySQL, Java are here to stay. "Kick Butt, Have Fun" is truly the spirit at Sun
James Gosling, the father of Java, showed up on the stage to talk about Java’s relevance for Oracle. Also showed "The Gospel of Java according to James" and the video is shown below:
On a personal note, this is my first Open World and am totally amazed by the size of attendees, and it’s only a Sunday. The entire Howard St is shutdown and tents are installed to accommodate the conference. All 3 Moscone halls (North, South, and West) are used. A scale down replica of Larry’s "Rising Sun" is also displayed on Howard Street. And for the first time in 10 years, I’m getting only an Exhibitor badge at Moscone
The word "doordarshan" is in Hindi and made up of two words "door" (means "far" in English) and "darshan" (means "vision" in English). The word "doordarshan" literally means "tele vision". It started with a mere $20,000 and 180 Philips TV sets donated by UNESCO to Indian government on Sep 15, 1959.
If you grew up in India how can you forget soap operas like:
Pramita Puri as the first announcer and Salma Sultan the ever charming news reader
Aap ke Liye – the Sunday morning show by Vinod Dua
Phool Khile Hain Gulshan Gulshan featuring Tabassum and movie stars
TOTD #97 showed how to install GlassFish Tools Bundle for Eclipse 1.1. Basically there are two options – either install Eclipse 3.4.2 with WTP and pre-bundled/configured with GlassFish v2/v3, MySQL JDBC driver and other features. Or if you are using Eclipse 3.5, then you can install the plug-in separately and get most of the functionality.
TOTD #98 showed how to create a simple Metro/JAX-WS compliant Web service using that bundle and deploy on GlassFish.
This Tip Of The Day (TOTD) shows how to create a simple Java EE 6 application that reads data from a MySQL database using JPA 2.0 and Servlet 3.0 and display the results. A more formal support of Java EE 6/Servlet 3.0 is coming but in the meanwhile the approach mentioned below will work.
Lets get started!
Configure database connection – The key point to notice here is that the MySQL Connector/J driver is already built into the tool so there is no need to configure it explicitly.
From "Window", "Show Perspective", change to the database perspective as shown below:
In the "Data Source Explorer", right-click and click on "Database Connections" and select "New …":
Search for "mysql" and type the database name as "sakila":
Click on "Next >" and specify the database configuration:
Notice the "Drivers" indicate that the JDBC driver is pre-bundled so there is no extra configuration required. If you are using a stand-alone Eclipse bunde and installing the plugin separately, then you need to configure the MySQL JDBC driver explictily.
The URL indicates the application is connecting to the sakila database. Click on "Test Connection" to test connection with the database and see the output as:
and click on "Finish" to complete. The expanded database in the explorer looks like:
The expanded view shows all the tables in the database.
Create the Web project & configure JPA
Switch to JavaEE perspective by clicking "Window", "Choose Perspective", "Other …" and choosing "Java EE".
Create a new dynamic web project with the following settings:
Only the project name needs to be specified and everything else is default. Notice the target runtime indicates that this is a Java EE 6 application. Click on "Finish".
Right-click on the project, search for "facets" and enable "Java Persistence" as shown below:
Click on "Further configuration available …" and modify the facet as shown below:
Make sure to disable "orm.xml" since we are generating a standard Java EE 6 web application. Choose "sakila" as the database. Click on "OK" and again on "OK" to complete the dialog.
Generate the JPA entities
Right-click on the project, select "JPA Tools", "Generate Entities" as shown:
Choose the schema "sakila":
and click on "Next >". If no values are shown in the schema drop-down, then click on "Reconnect …".
Specify a package name for the generated entities as "model" and select "film" and "language" table:
and click on "Finish". The "film" and "language" table are related so it would be nice if all the related tables can be identified and picked accordingly.
Anyway this generates "model.Film" and "model.Language" classes and "persistence.xml" as shown below:
Also notice that "web.xml" and "sun-web.xml" have been explicitly removed since they are not required by a Java EE 6 application.
"model.Film" class needs to modified slightly because one of the columns is mapped to "Object" which is not a Serializable obect. So change the type of "specialFeatures" from Object to String and also change the corresponding getters/setters accordingly. The error message clearly conveyed during the initial deployment and so could be fixed. But it would be nice to generate the classes that will work out-of-the-box.
Create a Servlet client to retrieve/display data from the database
Right-click on the project, select "New", "Class" and specify the values as:
and click on "Finish". This class will be our Servlet client.
Change the class such that it looks like:
@WebServlet(urlPatterns="/ServletClient")
public class ServletClient extends HttpServlet {
@PersistenceUnit
EntityManagerFactory factory;
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
ServletOutputStream out = resp.getOutputStream();
List list = factory.createEntityManager().createQuery("select f from Film f where f.title like 'GL%';").getResultList();
out.println("<html><table>");
for (Object film : list) {
out.print("<tr><td>" + ((Film)film).getTitle() + "</tr></td>");
}
out.println("</table></html>");
}
}
Basically, this is a Servlet 3.0 specification compliant Servlet that uses @WebServlet annotation. It uses @PersistenceUnit to inject the generated JPA Persistence Unit which is then used to query the database. The database query return all the movies whose title start with "GL" and the response is displayed in an HTML formatted table.