Facebook Twitter Gplus
formats

Google App Engine – Proof of Concept

PartneredWeb today announced the completion of its proof-of-concept web application based on Google’s App Engine (GAE) cloud platform.

The site serves as a US corporate directory providing information, reviews and social commentary. Here are a few links:

Amazon Corporate Office
Geico Corporate Office
Search Page

Add review for a company you like and let us know what you think.

Application Platform Requirements

Our envisioned application suite will focus on the social space, and so we needed something that would scale up dynamically both in terms of data storage as well as requests per second.  We made a strategic decision to choose a cloud-based solution but also to select something that would enable us to not only avoid hardware purchases, maintenance, obsolescence, etc.

More importantly, we needed a solid set of operational technologies to base our work on.  As a small team, we had an imperative to avoid the need to support operations ourselves.  The goal was to free ourselves from having to constantly deal with server configuration, upgrade, compatiblity, etc., types of issues.  It was felt this choice would pay us back many times over.

For language choice, we considered the very popular / tried and true (PHP, MySQL), the new and cool (Ruby on Rails, Play Framework, Grails, etc), and our old favorite Java.  Our team is highly experienced in enterprise level Java applications.  Because of that we have a strong bias toward that language and technology stack.  The others offer some attractive options, but we thought it best to avoid adding another learning curve to the mix, at least in the beginning.

Platforms We Considered

Amazon Cloud, Google Cloud and Heroku.

Amazon is intriguing no doubt.   It supports a high degree of flexibility and can host virtually anything you care to deploy.  The big drawback for us was the need to configure the virtual instances, build or select images, pick and configure your storage requirements, spin them up and down, back them up, define your redundancy parameters, etc.  This is clearly a great option for teams that want or need complete control, but for us this is just overkill.

Heroku for Java looks to fit the bill nicely.  This is a great competitor to GAE and something that we plan to try out very soon.  It is a polyglot platform where language choice is really a matter of syntax and library support.  They have (like most) turned their backs on JEE in favor of the containerless elastic application platforms (EAP).  The platform is a bit younger than GAE and, well, Google just seemed like a better bet than Salesforce.  There have been reports of Heroku instability, so we committed to trying GAE cloud solution first.

We Chose to Use Google App Engine

GAE is a cloud-based infrastructure that gets you from soup to nuts with absolutely no concern for the environment required to scale.  It leverages Google’s Big Table columnar data model that many (most) of Google’s applications including search are written on. Assuming your application fits within the confines of No-SQL limitations, you can enjoy virtually unlimited scale characteristics offered by the platform.

GAE supports three language bindings, Python, Java and Go.  Forgetting the last, Python is definitely the lead dog in terms of when new features are rolled out on GAE.  However,  the Java bindings don’t lag too far behind.  Another factor to consider is stability in production.  Our research pointed out that Java tends to be much easier to manage in production due to its superior error handling and reporting techniques.

There are a host of services that GAE supports.  However, you have to be certain that the tools you need will run in this environment.  For example, lots of people love to use Spring IoC.  The problem in GAE is that the system spins JVMs up and down all the time. Any given user (and perhaps many of them) will experience the full startup overhead of your service stack.  Because of that, and knowing how much overhead Spring brings with it, we chose to go lite– no IoC for this round.  The app as a result will load from dead stop (or freshly upgraded) on about 5 to 8 seconds.  This has been acceptable compared to a reported 30 to 45 seconds for those burdened by a Spring container.  (If someone wants to refute that, cool.  We have not used Spring with GAE so this is conjecture).

You must rethink how you model data in this environment.  We are using the Objectify persistence library instead of dealing with the datastore’s low level APIs.  There is a DAO and JPA binding for the datastore, but they are not well regarded mainly because the datastore is very different from your usual SQL-based RDBMS.  I recommend viewing this Google I/O video to get a feel for what the datastore is like to use.

Other Technologes 

The front-end leverages JQuery and Twitter Bootstrap.  I highly recommend both.  We use a combination of JAX-RS based services.  We use the JBoss RESTEasy library which has been nothing short of flawless.  Also, for server-side rendering, Freemarker template engine does a fine job.

 Conclusion

Our GAE proof of concept has been a success.  The datastore takes some getting used to, but if your problem domain can fit within its considerable raft of limitations, you’ll be pleased by the effortless operations you will enjoy once your app is deployed and in the wild.

 

 

 

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

The JOBS Act Opens the Crowd Funding Floodgates

With the U.S economy falling into recession as a result of the credit crisis and a slower than expected economic recovery the U.S government introduced the JOBS (Jumpstart Our Business Startups) Act bill in 2011. Today, President Obama signed the historic bipartisan initiative into law.  This Act forms part of the overall government strategy of kick starting the economy and increasing employment. A key part of this Act is relaxing the regulations that govern fund raising for small business start ups and effectively legalizes crowd funding.

The newly approved legislation exempts new and recently formed businesses and companies from Securities and Exchange Commission (SEC) regulations that require reporting and proof of financial worthiness, when raising startup capital. These new regulations reduce the costs and red tape associated with raising capital, giving small businesses greater access to capital than they have had before.

Under the previous regulatory system if a business wanted to offer an equity interest to the public it was required to register an Initial Public Offering (IPO) with the SEC. This was a complicated and costly process, which was generally only cost effective if the company was raising in excess of $50 million or more. There were some exceptions to this but each of these exceptions has specific restrictions as to the types of investors who could apply to invest. Typically, under these exemptions investors had to be high net-worth or professional investors and meet a series of tests that proved they fell within one of those categories.

The intent of the new legislation is clearly to encourage economic and employment growth by making it easier for small business to obtain access to seed capital and startup funding. The key mechanism for this funding that this legislation supports is ‘crowd funding.’ This is a very different funding model from other funding models as it allows an entrepreneur to attract a ‘crowd’ of people to provide startup funding for a business with each person taking a small stake in a business idea and a funding target.

This new regulatory system allows businesses and entrepreneurs to follow a relatively simple procedure to offer investment opportunities to the public over the internet. In fact this new legislation will support the growth of fund raising intermediaries, further enhancing the ability of entrepreneurs and small businesses to raise the seed funding which new business ideas need. This is without requiring them to go through the lengthy, burdensome and costly process of an SEC registration, as well as having to meet certain broker dealer restrictions.

For startups raising $1 million or less, investors can take up to $10,000 or 10 percent of the businesses annual income, whichever is less, in equity. Startups can raise up to as much as $2 million through crowd funding, if the company or business provides audited financial statements to their investors. The JOBS Act also makes it easier for small companies to go public because it has raised the threshold for exempting companies from SEC regulation to $50 million. Overall this is a solid win for companies as they can now stay private with twice as many investors and go public with a much smaller revenue stream. This should lead to a massive growth in small and medium cap IPOs.

There are however a number of concerns surrounding the new legislation, which essentially hinges on fears that less government oversight will lead to more investment scams. Especially as some see the new legislation as a back flip on the regulatory protection that were enacted as a result of the dot.com and Wall Street excesses, both of which led to investment scams and investment bubbles that eventually burst costing investors millions of dollars.

While there are a number of risks associated with facilitating ease of capital funding predominantly from poorly thought out and non-profitable business ideas, it is overall a huge plus for small businesses, the crowd funding industry and the U.S economy. This new legislation will make start up funding easier to obtain and create a new and dynamic funding industry creating an explosion in small business growth leading to increased economic growth and employment.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments