Posts Tagged ‘startup’

Lessons from building microservices | part 1: the industry’s influence

I started learning about microservices and seeing momentum the architectural pattern around 2015. A number of developers I worked with at Grovo were enthusiastic about the idea as a solution to a number of scaling issues we were facing. The more I looked around, the more I saw developers across the industry purporting microservices as the new, modern architectural pattern. For some companies, this was natural evolution in their systems architecture, but for many companies, especially smaller startups, the push towards microservices seemed driven by the idea that, despite the cost and difficulties, this was going to be the status quo for leading tech companies and that was the direction they should be headed in. I was on the “smaller startup” side of the industry and, from my vantage point, this perspective didn’t seem to be based on any sort of real engineering analysis but more-so aligning with what was being talked about in the industry, adopting what larger companies (e.g. Netflix) were doing, and a belief that microservices were a silver bullet to scaling issues. Looking back, none of this is too surprising. Following in the footsteps of Big Tech, even when your business is operating at a different scale and your tech problems look very different, or jumping on the hype train for the latest technology (e.g. the “just-got-back-from-a-conference” effect), continues to be prevalent in the industry.

For VC-backed startups, it’s also worth looking at the state of the market around 2014-2015. Venture capital funding in tech shot up along with the size of the deals. Closing a VC round and being pushed to grow was also not out of the ordinary. I’ll hand-wave a bit here, but I think this also led to larger engineering teams, a corresponding overconfidence in what could be tackled, and an underestimation of the difficulties of working within and maintaining a topologically complex architecture.

The lesson in all this is to look at and understand industry dynamics relative to your company and your role. Software isn’t made in a vacuum and the zeitgeist of the industry is a key factor in how engineering decisions are made and what solutions manifest.

Finally, this may all sound cynical and, in terms of the pattern itself, it sort of is. Working on microservices led me to view them as an optimization and not a general pattern for application development. However, building with microservices was also a powerful forcing function to really look at and tackle inefficiencies in infrastructure, deployments, and code structure. In addition, the company-level initiative to push towards microservices highlighted the dynamics by which decisions are made and driven, from industry buzz to company leaders to individual engineers. What I learned from all of this improved my technical work in areas beyond microservices and that’s what I hope to really highlight in this and future posts.

Keeping your data with a startup

There are 2 outcomes for most successful startups: they get acquired by a larger company or they have an IPO. In general, an IPO is rare. The more likely case is that a profitable or otherwise attractive company will be acquired. If it seems odd that these are the only 2 options, realize that once a company takes money from an investor the values of the shares are expected to gain massive increases in value, very quickly; a small development house or consulting shop can’t produce such gains.

Acquisition being the likely outcome, a disturbing trend seems to be developing in this new era of cloud services.

When a company is acquired, it doesn’t always get to simply continue functioning as-is, serving it’s customers. The acquirer may shutdown the startup in order to integrate its technology into its own offerings or simply to eliminate it as a competitor. In the case of startups that store, maintain, and handle users’ data this leaves customers with with a painful (translation: time, money, and stress) migration path (assuming there is one) to get their data out and onto another service or their own PCs or servers.

A few specific cases I’ve come across so far:

  • DabbleDB, Smallthought Systems, acquired by Twitter. I was actually searching for this in order to recommend it to someone. After learning of the acquisition, I realized what a mistake it would have been to recommend this to a user only to have them deal with the present data migration issues.
  • Etherpad acquired by Google. Service that allowed for real-time, collaborative text editing; its functionality now integrated into Google Docs.
  • Plannr acquired by Google. I wasn’t interested in the service. I simply came across it in a post on reddit.

Cuil fails… and succeeds?!

Below is an email response to my aunt sometime in July, when Cuil was launched,

Yea, I read about cuil this morning. I played around with it a bit and they’re getting quite a bit of press due to the founders past employment w/ Google and their claim that they’ve indexed more pages than google. However, it’s a pretty poor launch: shoddy search results, mismatch between sites and images, useless results “summaries” and terrible performance…

I never bothered with Cuil again until I read this a few days ago,

Cuil isn’t performing well any way you look at it, and I can only imagine how nervous the startup’s management team and investors must be by now. Based on the numbers and graphs we gather from Google Trends, Alexa, Compete and Quantcast, you could even say search engine traffic is nearing rock bottom.

I decided to give Cuil another try to see if anything had changed since my first analysis. Unfortunately, I still encountered the same frustrations; here’s the first result in a search for “fallout 2”,

cuil search for fallout 2

I think that’s Evander Holyfield in the associated image and, as far as I remember, he was not in Fallout 2.

Attempting to compete with good-to-better search results than google would have put Cuil in a steep uphill climb for success, but such poor results and mis-associations point to flaws in the technical architecture of the service itself. Not to mention simple usability flaws; results in a multi-column layout is a dumb idea – it’s completely alien from the way people actually read (well, read English, at least) – I’m supposed to read top to bottom, scrolling down… then scroll back up to continue?!

What’s amazing in all of this is that Cuil’s founders are apparently experts at search and managed to raise $33 million in funding! … and what’s even more amazing is that they were ranked as one of the most successful U.S. startups by Business Week. Business Week’s explanation for this apparent oddity is as follows,

Cuil raised $33.25 million in that period, and whatever you think of the company or their product, the amount raised indicates that investors judged them worthy of significant backing, as some TechCrunch commenters noted. Obviously, that’s different from them getting traction or becoming profitable. But they made the list under the criteria we used, which we made clear from the start.

I guess you have to buy into the idea that funding = success.