New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Dionysios G. Synodinos on May 30, 2008
Chris Richardson the author of "POJOs in Action", has released Cloud Tools, a set of tools for deploying and testing Java EE applications on Amazon's Elastic Computing Cloud (EC2), under Apache License 2.0.
There are three main parts to Cloud Tools
Chris Richardson blogs about why he has created Cloud Tools:
Computer hardware has traditionally been a scarce, expensive resource. In the early days of computing developers had to share a single machine. Today each developer usually has their own machine but it's rare for a developer to have more than one. This means that running performance tests often involves scavenging for machines. Likewise, replicating even just part of a production environment is a major undertaking. With Amazon's Elastic Compute Cloud (EC2), however, things are very different. A set of Linux servers is now just a web service call away. Depending on the type of the servers you simply pay 10-80 cents per server per hour for up to 20 servers! No more upfront costs or waiting for machines to be purchased and configured.
To make it easier for enterprise Java developers to use EC2, I have created EC2Deploy. It's a Groovy framework for deploying an enterprise Java application on a set of Amazon EC2 servers. EC2Deploy provides a simple, easy to use API for launching a set of EC2 instances; configuring MySQL, Apache and one or more Tomcat servers; and deploying one or more web applications. In addition, it can also run JMeter and collect performance metrics.
On the project's page there is a short discretion on how to use the Maven plugin to deploy applications to EC2:
The maven plugin is the easiest way to use Cloud Tools. Once you have configured the plugin in the pom.xml you can deploy your web application to EC2 with "mvn cloudtools:deploy". This goal will:
- Launch the specified number of Amazon EC2 instances
- Configure a MySQL master database: create the schema, and run your database initialization scripts
- Configure zero or more MySQL slaves (optionally in a different availability zone)
- Upload your web application to EC2
- Configure one or more Tomcat servers and deploy your web application
- Configure an Apache instance to load balance across the Tomcat servers
The Cloud Tools maven plugin also supports the following other goals:
- cloudtools:jmeter - runs a load test
- cloudtools:redeploy - redeploys the web application
- cloudtools:dbsave - save a database snapshot in S3
- cloudtools:dbrestore - restore the database from S3
- cloudtools:clone - creates a copy of the cluster
- cloudtools:describe - describes the cluster
- cloudtools:list - lists the available clusters
- cloudtools:stop - shutdown the cluster
After the addition of Persistent Storage, Amazon's EC2 seems to gathering momentum over the traditional paradigm for allocating and managing hardware resources and the creation of software like Cloud Tools may signify the beginning of the creation of a whole EC2 software ecology.
For more information on Cloud Computing, please visit: http://www.infoq.com/cloud-computing
Dionysios G. Synodinos is a Web Engineer and a freelance consultant, focusing on Web technologies
Why NoSQL? A primer on Managing the Transition from RDBMS to NoSQL
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
Agile Practices to Improve Project Management Organization (PMO) Effectiveness
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
No comments
Watch Thread Reply