Decomposing applications for deployability and scalability – Part 2

In April 2012, I started giving a talk called Decomposing applications for deployability and scalability. It discusses the benefits and drawbacks of decomposing a monolithic application into a collection of independently deployable and scalable services and explores various design issues that then need to be addressed.

I’m publishing the reimagined transcript of the talk as a series of articles on this blog. Part 1 in the series  described the limitations of a monolithic architecture. In Part 2 (PDF), I look at the benefits and drawbacks of decomposing a monolithic application into a collection of independently deployable and scalable services. Part 2 introduces the scale cube, which is a three dimensional scaling model, and describes the impact of applying Y-axis splits (a.k.a. functional decomposition) to a system.

Posted in Uncategorized | 1 Comment

Around the world in 14 days: SpringOne Hyderabad

After SpringOne Beijing and SpringOne Bangalore, Hyderabad was the third stop on the fourteen day trip. This was my first visit to the city, which seems to have a richer history than Bangalore, and a lot more to see as a tourist. On the first afternoon, @jencompgeek, @jeremyg484 and I had time to visit the amazing Golkonda Fort.

SpringOne Hyderabad was massive. There was even more people, more energy and more enthusiasm than at SpringOne Bangalore. After giving the same keynote and presentation as in Bangalore, I spent the rest of the day talking with lots of attendees and getting my photograph taken numerous times! Unfortunately, I haven’t seen many of those photos online.

Incidentally, the food at  SpringOne Bangalore, and SpringOne Hyderabad (along with SGCE 2012 Mexico City) was the best conference food I’ve ever had. It was impressive that high quality, host and very tasty food was prepared for a such large number of people. Other conferences should take note.

Speaking of food, that evening we went to Paradise, a delicious Hyderabadi Biryani house. Afterwards, we stopped by the christmas decorations outside the hotel.

The day after the conference I went on a great tour of Hyderabad courtesy of detoursindia.com. I’ll write about that in a separate post.

After Hyderabad, I then flew to Dubai, the fourth and final stop on the trip, for a relaxing weekend on the beach.

Posted in Uncategorized | 2 Comments

Around the world in 14 days: SpringOne Bangalore

After SpringOne Beijing, the second stop on my 14 day tour was Bangalore, India. This was my third time in Bangalore (since July!) and I love the place: the fantastic ITC Gardenia hotel, the delicious food (e.g. Dosa/Idli/Paratha for breakfast, Kebabs and Kurries at ITC Gardenia, Samarkand on Infantry Rd, and Khansama in UB City) and the crazy, crazy traffic. Warm and sunny Bangalore also was a very pleasant change from sub-zero Beijing.

SpringOne Bangalore was an incredible event. A total of approximately 2000 developers attended SpringOne Bangalore and SpringOne Hyderabad. Lots of energy. Lots of enthusiasm.

I gave two talks at the conference. The first talk Developing modular, polyglot applications with Spring was the opening keynote. In the talk I presented a modern application architecture – back-end consisting of micro-services, HTML5/JavaScript browser front-end and a NodeJS application as the mediator between the two – and the role of the Spring framework and related projects in numerous facets of the architecture.

The second talk was Developing polyglot persistence applications. This talk describes how to develop applications that combine SQL and NoSQL databases and so leverage the strengths of each kind of database.

After Bangalore, the third stop on the tour was Hyderabad.

Posted in Uncategorized | Tagged , , | 2 Comments

Around the world in 14 days: SpringOne China December 2012

The final trip of 2012 was an amazing 14 day trip to China, India and Dubai. The first stop was Beijing for SpringOne China. This was my second time in Beijing and I really enjoyed being there. The Great Wall Sheraton is an excellent hotel and the food in Beijing was great. I also took an extremely interesting chinese cooking class that I’ll describe in another post.

SpringOne China was an awesome, high-energy event with over 3000+ very enthusiastic attendees (~800 onsite, ~2500 online) .

I gave three presentations. The first was Using Spring with non-relational databases that describes how Spring Data simplifies the development of applications that use NoSQL databases .

The second talk was Developing polyglot persistence applications. This talk describes how to develop applications that combine SQL and NoSQL databases and so leverage the strengths of each kind of database. In the talk, I describe a version of my book’s Food to Go application that uses MySQL as the ACID system of record and uses Redis to scale reads. One interesting part of the design is a mechanism for reliably propagating updates from MySQL to Redis.

You can find the MySQL + Redis application for this talk on github.com.

The final talk was the latest version of Decomposing applications for deployability and scalability that describes how to architect systems that consist of many small collaborating back-end services.

After SpringOne China, I flew via Hong Kong to Bangalore, India for the first of two SpringOne India events.

Posted in Uncategorized | Tagged , , | 4 Comments

Finding my inner trekkie

Last weekend wasn’t the typical weekend at home: kids sports, work, etc.. Instead, I went to the San Francisco Star Trek convention to get in touch with my inner trekkie. This was  my first time and I had a blast.

The highlights included:

  • Meeting Walter Koenig (Chekov) and Denise Crosby (Tasha Yar)
  • Telling Brent Spiner (Data)  that my  “lovely wife” was actually my teenage daughter
  • George Takei (Sulu) talking about the internment of Japanese Americans during WW2 and gay rights issues. Also, in response to an excellent question about the post 9/11 treatment of Muslim Americans he drew parallels with WW2 internment of Japanese Americans.
  • LeVar Burton (Geordie Laforge) talking about Roots and Reading Rainbow.
  • Getting my photo taken with four members of the STNG cast
  • Discovering that one other member of the Oakland JUG is also a trekkie
  • Sharing the excitement with my kids

 

Posted in Uncategorized | Tagged , , | 1 Comment

Sell t-shirts and launch your own satellite – #Oredev 2012

Last week I attended the excellent Oredev conference. This was my first time at Oredev, which covers a wide range of software development topics and takes place in Malmo, Sweden.

I gave a talk titled Polyglot application development on Cloud Foundry. Here are the slides:

You also watch the video.

Some of my favorite talks included:

Posted in Uncategorized | 1 Comment

Shakespeare on software: Love is blind

Here is something to consider when thinking about and discussing software:

But love is blind and lovers cannot see
The pretty follies that themselves commit;
For if they could, Cupid himself would blush
To see me thus transformed to a boy.

William Shakespeare, The Merchant of Venice, Act II Scene 6:
 

Hate (e.g. OrmHate) is equally as blinding.

It’s important to remember that every technology that solves a problem comes with  benefits and drawbacks.

Posted in Uncategorized | Leave a comment

Java University, JavaOne and Silicon Valley Code Camp

Except for PhillyETE, and GlueCon, most of the conferences I’ve been to this year have been overseas, e.g.  JavaZone, JFokus, QCon London, and Egyptian Java developers conference and the Cloud Foundry open tour in Ukraine, Russia, England, and India etc..  Consequently,  it made a nice change to recently speak at some local events: JavaOne 2012 and Silicon Valley Code Camp.

On the Sunday of JavaOne I taught a one day Spring class at JavaOne’s Java University. The class covered the fundamentals of the Spring framework – dependency injection, aspect-oriented programming and portable service abstractions – along with more modern features such as Spring Data for NoSQL and Cloud Foundry‘s support for Spring applications.

I also had a couple of conference sessions on the Wednesday. The first was Developing polyglot persistence applications.  This talk describes how an application can leverage the strengths of both SQL and NoSQL databases such as Redis. You can listen to the audio or view the slides:

The second talk was Developing applications with Cloud Services. This talk described how to develop applications that use cloud services such as Twilio (Telephony-aaS) and Factual (Geo database -aaS). You can listen to the audio or view the slides:

On saturday I spoke at Silicon Valley Code Camp. I’ve wanted to go to this event for the past few years but there were always conflicts. What a great event! Over 3000 attendees; awesome conference; the only thing lacking was plentiful coffee. At this event I gave the latest version of Decomposing applications for deployability and scalability. Here are the slides for that talk:

Posted in Uncategorized | Leave a comment

Developers are like cars

Recently @vambenepe tweeted

An excellent developer who doesn’t think like a PM is like a tennis player with awesome shots but who doesn’t aim.

This tweet reminded me of another excellent analogy that I’d heard many years ago:

Developers are like cars. They have an engine that determines how hard they can work; a gas tank that determines how long they can work; and a compass that determines which direction they head in.

In other words, it doesn’t matter how clever you are and how hard you work. If you are not creating something of value to your customer then you are wasting your time.

Posted in Uncategorized | Leave a comment

Awesome JavaZone 2012 – Oslo, Norway

I recently attended the JavaZone 2012 conference in Oslo, Norway. This was my third time at the conference and just like previous years it was awesome.

At JavaZone, I gave the latest version of my Decomposing applications for scalability and deployability talk. This talk describes the limitations of a monolithic architecture and describes how you can apply the scale cube to decompose your application into a set of narrowly focused, independently deployable back-end services and an HTML 5 client. It also describes how an open-source PaaS, such as Cloud Foundry, can simplify the developing, testing and deployment of applications with this kind of architecture. You can find the slides here and watch the video of the talk:

Decomposing applications for scalability and deployability from JavaZone on Vimeo.

I also enjoyed a number of talks, most notably:

The Thursday night after the conference I had dinner with @z_oleg at Cafe Asylet. I’d met Harold the owner a year ago on the flight home from JavaZone 2011. Good beer and very tasty Norwegian food. I had the Fiskesnadder – appetizer plate of mostly fishy things – and the Hjemmelagde kjøttkaker – meatballs. Highly recommended.

IMG 2823IMG 2824

Posted in Uncategorized | Tagged , | Leave a comment