Architecture

Downloading Datastore Data from a Java Application on Google App Engine

Reading Time: 3 minutes One of the most frequently talked barriers for getting onto the cloud is the data lock-in. In this post we would try to look at how we can download data as a CSV from the app engine datastore. This would help us get the data back from the app engine, just in case you want to move away from the datastore. So there exists a Continue Reading

Multitenancy in Google App Engine: Scope of NamespaceManager

Reading Time: 2 minutes As you would have read in our previous post, we used the Namespace API to make the SaaS application that we were working on multi-tenant in a matter of four hours. You would have noticed that we set the tenant name in the NamespaceManager [sourcecode language=”java”] NamespaceManager.set(request.getServerName()); [/sourcecode] Our initial assumption was that the NamespaceManager would continue to exist for the lifetime of the session Continue Reading

Duplicate Code? Introduce Null Object

Reading Time: 3 minutes One of the most significant code smells is having duplicate code. There are primarily 2 forms of code duplications Explicit – These are the ones where there is blatant copy paste of the code. Methods are repeated within classes and it is easy for the CPD tool of PMD to figure out that lines are copied thus leaving us red faced. Subtle – This is Continue Reading

Lock-in, the Overrated Barrier to Cloud Adoption

Reading Time: 4 minutes By definition, lock-in makes a customer dependent on a vendor for products and services, unable to use another vendor without substantial switching costs. That sounds scary. Now let us take a step back and look at all the standards which were available in the traditional world to prevent lock-in. JEE specs sure have a lot of them and that ensures that you would be able Continue Reading

Don’t Set Up That Power Plant Just Yet, Think SaaS

Reading Time: 5 minutes A few months ago a dear friend of mine bought a house in New Delhi. It was a house with 3 bedrooms, a decent sized living room and a huge backyard. The backyard was almost thrice the size of the house. Well, it would be a good place to play soccer. Except that he had a different plan. He wanted to set up a power Continue Reading

Performance Tuning Java Applications on Google App Engine

Reading Time: 5 minutes Performance Tuning is one of the stages of taking your application to production which you can seldom avoid. Irrespective of the fact whether you have taken all good performance practices into account, there is something or the other which needs to be tuned before the application is production ready. Performance Tuning takes a different turn when your application is supposed to run on the cloud. Continue Reading

Deploying BIRT in Your Existing Web Application

Reading Time: 5 minutes The Business Intelligence and Reporting Tools (BIRT) project is an open source, Eclipse-based reporting framework that enables the creation and deployment of enterprise reports. Development with BIRT can usually be thought of as a two-step process: The creation of the report designs within the Eclipse BIRT Report Designer Deployment of the designs and framework to an application for dissemination. BIRT also offers three public APIs Continue Reading

Making Your Existing Applications Multi-tenant in the Cloud

Reading Time: 3 minutes Last week, while presenting at the IndicThreads Cloud Conference, we got into a very interesting discussion. How to make the existing application that we have multi-tenant without changing a hell lot of code or may be without changing even minimal code. Before we get to that question, let us do a quick recap of multi-tenancy. Multi-tenancy is the ability to run multiple customers on a single Continue Reading

Premon Architecture

Reading Time: 5 minutes In our last post I introduced you to the basic characteristics of Premon, the Intelligent Monitoring solution. In this post let us try to look at what is the architecture of Premon which makes it possible for Premon to support the characteristics that we talked about. Let us look at the architecture and dissect the pieces one by one. If you would notice, there is Continue Reading

Architecture Governance Lifecycle

Reading Time: 2 minutes In the last post, we discussed the need for architecture governance and tools which can be used for enforcing architectural governance. Let us discuss about the general Architecture governance lifecycle. As with most of the tools mentioned in the last post, the recommended strategy to enforce governance would be followed in 3 major lifecycle steps 1. Define – The Architecture Rules. Most of the above Continue Reading

Architecture Governance 101

Reading Time: 2 minutes What is Architecture Governance? Enterprise Architecture Governance is the structure by which an enterprise defines appropriate strategies and ensures development alignment with those strategies. Why is it needed? Architecture Governance is required because of either one or multiple factors listed below 1. Avoiding structural erosion of Architecture with time- When there are more than 2 people working on a system, the architecture tends to erode Continue Reading

Intelligent Monitoring With Premon

Reading Time: 2 minutes In our last post, we discussed how intelligence can be built into the monitoring systems. This helps in decreasing the burden of system monitoring and allows administrators and stakeholders to focus on relevant information. In this post we would introduce Premon and look at some of the features that it provides to make monitoring easy and efficient. Premon complements, it does not compete: Premon does Continue Reading

Building Intelligence Into Monitoring

Reading Time: 3 minutes In our last post, we discussed the pitfalls of the traditional monitoring solutions. We also touched upon a possible solution to take care of the issues. Let us try to analyse that solution in some more detail now. Intelligent Monitoring (IM) should be able to decrease the burden of system monitoring in multiple ways. An IM system should be able to listen to multiple data Continue Reading