Agile Project Management: Lessons Learned at Google
In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.
Tracking change and innovation in the enterprise software development community
Posted by Floyd Marinescu on Oct 12, 2007 09:32 AM
Investment banks have often set trends or offer the rest of us a glimpse into the future of our IT infrastructure. Today banks are investing heavily into grid technologies as they continue in their battle for profits. In this article, John Davies shares his experiences on technologies used in finance and why Grid technologies are becoming a new mainstream for high volume, low latency systems.The clever vendors are now programming to a grid culture, simple thread-safe POJOs with self-contained functionality and defined behaviour, you and I know these as objects. As we strive to get every last cycle out of the CPU we're looking to make the most out of the CPU's direct memory. Distribution is inevitable but like the way a CPU's memory cache works we try to optimise the network usage to a minimum, advances in CPU technology and the ever-diminishing price of memory is playing right into our laps. Grid, however you define it, is here to stay.\
Scaling a Massively Multi-player Server Casestudy: Terracotta on SmartFoxServer
Hibernate without Database Bottlenecks
Scale Your Application without Punishing Your Database
Why Should I Care About Terracotta?
Terracotta 2.6 - Download now for scalability without tradeoffs
John, You fail to mention Infiniflow. Industry's only OSGi / SCA based distributed self-healing service fabric. In addition to providing traditional Grid type behavior for Spring and Java POJO based applications. Infiniflow replaces the very concept of Application Service and Messaging Middleware - with a dynamic OSGi based service based runtime. Come and see our presentation at NYJavaSig next week. Cheers Richard
See also: http://gridgain.com/ Peace, Cameron Purdy Oracle Coherence: Data Grid for Java and .NET
Great writeup John (As always)
Now as soon as this is posted I know each of the players will comment saying that theirs is the best over all product and that the others are simply crap. Each will be able to dig up examples of where they've won over the competition and each will be able to demonstrate holes in the other's architecture but at the end of the day they all work well if you chose the right tool for the problem
I''ll save you and the rest of the community that pleasure this time:)
I would however point you to a resent discussion on this topic here and here which provides further clarifications on GigaSpaces position as it relate to Grid, Scalability, Caching etc.
Nati S.
GigaSpaces
Write Once Scale Anywhere
Interesting article. Just proves how views on grid computing can be different (not worse – just different). I, for example, would never put Gemstone into the mix of grid vendors. In the same time, not mentioning entrenched vendors like DataSynapse, Platform Computing and United Device/Univa is rather strange. Mentioning of Globus Toolkit cannot be found either. Another point is that for me GigaSpaces is much more of a data grid than a compute grid (master/worker has nothing to do with either one – it can be implemented in any product what-so-ever). Yet another point is that Terracotta’s strength is not in open source license (which requires attributions in its case, btw) but in unique technological approach of clustering low-level Java semantics (like synchronization, etc.). More over, GigaSpaces too has open source option (OpenSpaces) albeit limited. Having certain actual experience in this area I can say that the key characteristic of any mature *compute* grid product is rich support for Map/Reduce logic (which is an essence of parallel computing in general dating back to MPI time). Recent fascination and confusion about Master/Worker pattern in relation to grid computing is rather startling: since when an old rusty RPC became a staple of grid computing :-) Best, Nikita Ivanov. GridGain - Grid Computing Made Simple
Recent fascination and confusion about Master/Worker pattern in relation to grid computing is rather startling: since when an old rusty RPC became a staple of grid computing :-)
Since JavaSpaces vendors had to find a way to be "grid" vendors!
(Sorry .. I couldn't resist .. ;-)
Peace,
Cameron Purdy
Oracle Coherence: Data Grid for Java and .NET
Why is it than whenever anything related to grid technology gets mentioned, either here, TSS, Artima. There has to be this vendor FUD sown about? I don't remember any other solution area suffering this way so early in the adoption cycle. John's article was one of the best, and balanced, I've seen on the state of things in a long time. From a customer perspective, it's hard to put a value on how useful this is. We're still fighting a rear-guard action against point-to-point integration, propping up badly done EAI from the nineties, having to sift through SOA-bollocks from 'consultancies' (while the board continually asks if it's done yet), rationalising ESB use, and now worrying about EDA and XTP. As an architect it's hard enough convincing the business that any approach is worth the extra effort in these circumstances, and if the convincing takes too long, the developers have usually gone off and dropped another tactical solution into operations for us to worry about next year. What adds wonderfully to this is vendors redefining concepts and pointing out perceived flaws in competing products rather than highlighting the particular sweet-spots for their own. I implemented a master/worker pattern for order management in GigaSpaces a while back, and having recently spoken to the business director that still owns it, can attest that, as John says, we chose 'the right tool for the problem'. However, these days I'm working for a trading organisation, real-time events and parallel processing are high on our agenda, there are subtle (and sometimes not so subtle) differences in operational semantics of the front and back offices that will influence our choices. As we move toward product selection it's information that’s useful, not squabbling.
Richard, You're right and I'm sorry I didn't mention Infiniflow, there was a point when I thought, shall I make an exhaustive list of players at this point or just stick to my usual "group" of vendors, well you can see the direction I chose. You guys have given me a great demo of Infiniflow and Newton and it's definitely the most sexy grid demo I've seen to date. I know some of your customers but unlike the ones I talked about I've not had hands-on experience so felt unqualified to talk about what you do in detail. I hope this will change some time soon. -John-
Nikita, I saw your presentation at JavaZone, GridGain is seriously cool but as per my comments above, I've not had a huge amount of hands on and I've not seen it in any of the banks I'm working in yet (YET) so I avoided it, perhaps wrongly. It's the simplicity of GridGain that makes it so powerful and I expect to see it playing a bigger part of Java-based grid in the coming months. I did make a conscious effort to avoid DataSynapse and Platform despite having used both in a large bank, one of whom currently funds one of the above. My reason for avoiding them was in this paper was simply because they're not Java specific and I was positioning this towards Java readers. I've now dug myself a small hole because this means I really should have mentioned GridGain, version II perhaps. I disagree with you about JavaSpaces being more data-grid than compute-grid but as you say it just depends on how you chose to use it, the point we are both making is that you can use it either way. -John-
"I caught up with John Davies while at JavaZone in Olso Denmark." ... JavaZone -> Oslo -> Norway :) ... Thanks for a great time guys.. Kirk, Cameron, John - great presentations, great fun..
"I caught up with John Davies while at JavaZone in Olso Denmark."
...
JavaZone -> Oslo -> Norway :)
For the American readers, Oslo, Denmark and Norway are all in northern Europe. :-)
I know what Kirk meant to say, we actually met up at JavaZone in Oslo, Norway and then the following week at JAOO in Arhus, Denmark. Last week we met in London and later this week we'll meet again, this time for some wine tasting in Tokaji, Hungry rather than Java. I'm sure the topic will come up though as I'll "stuck" be in a wine cave on Saturday while England play in the Rugby World Cup final. :-(
-John-
Tokaji, Hungry -> Tokaj, Hungary :) Peter - from Hungary
Peter, don't take it personally .. I was there with John and his drinking does impair his spelling ability ;-) Peace, Cameron Purdy Oracle Coherence: Data Grid for Java, .NET and C++
In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.
In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.
It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.
In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.
In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.
Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.
Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.
In this talk from QCon SF 2007, Justin Gehtland explains two open solutions to distributed identity and their Rails integration components: OpenID (using ruby-openid) and CAS (using rubycas-client).
12 comments
Reply