Anyways, the symposium was amazing - Jay Zimmerman put together a great set of speakers and enough varied content for everybody. Thanks Jay! These are the sessions I attended, along with my comments:
Click on the "Read more" link below to check out my notes on Friday's presentations.
Friday
Implementing Evolutionary Architecture - Neal Ford
Testing the Entire Stack - Neal Ford
Smithing in the 21st Century - Neal Ford
Like I said on my last post, I really like Neal's presentations. He described REST in detail, and how we can use it to keep systems loosely coupled. Also, he gave some great recommendations on tools and strategies for testing different aspects of common web and desktop applications.What Stops You From Delivering? - David Hussman
Discussed about ways to find your process bottlenecks and how to deal with them.Saturday
Pragmatic Architecture - Ted Neward
Discussed about architecture and how oftentimes we either under or over-architect systems.It is quite common in the J2EE world to find teams building systems using so many different design patterns just because they want to use it, not because it is the easiest / best way to solve the problem. In the other extreme we have teams that just go coding stuff without minimal or any architecture discussion.
In the end architecture should be defined at a high-level before we start coding things, otherwise it will be defined with much less control and may not end up being quite what you expected.
Architect for Scale - Michael Nygard
Software Architecture for the Cloud - Michael Nygard
I am a big fan of Michael since I read his book "Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)". His presentations focused on architecture for systems designed to handle volumes orders of magnitude higher than what I am used to. It was really interesting to glimpse on what kind of problems we may see soon, with more and more people using computer systems, and what kind of solutions we are using today to support it with high availability and performance. He described techniques such as process parallelization, architecture partitioning (sharding) and content delivery networks (e.g. Akamai) to support scalability.
Building RESTful Apps with SpringMVC - Craig Walls
He demonstrated a single SpringMVC-based web application with support for both browsers and REST web service clients. It was a good demo, I will try that later.300 Sessions
This was cool, each presenter got only 5 minutes to present a topic. I wish they had shared these PPTs too.Sunday
Cloud Computing - Rohit Bhardwaj
This one was really interesting - Rohit described and demonstrated how we can use Amazon EC2 and S3 as a low-cost approach for on-demand infrastructure services. He also demonstrated a simple Google AppEngine project, and compared the costs and specifics of each major player in the cloud computing world. It might be just me but I didn't know Google gave us free resources for our projects in Google App Engine! If you just want to test out an idea you can setup a virtual environment in no time, and as long you don't use lots of resources (up to 500MB, up to 5 million page hits per month, limited CPU use etc) you can set it up for FREE!Google's offer is free but limited: no database (you have to use BigTable instead), not all parts of Java are supported (e.g. no Thread) etc. They basically hide the servers from you, so you can focus only on the application side.
Amazon's offer is not free but cheap, and they give you control over the infrastructure. You can try out different server architectures, create server templates etc without buying any physical infrastructure. This is great for temporary needs, like a performance test where after the test proved a set of hypothesis it can be discarded.
One approach is to build and test your app in Google, and then migrate it to Amazon or to your in-house infrastructure. As long you don't build close ties with Google's infrastructure that shouldn't be too complicated.
Now that I have cheap infrastructure I just need to have the killer idea on how to use it to make tons of money! Ideas anyone? Please? :D
No comments:
Post a Comment