paul vidal - pragmatic big data nerd

Category Archives

3 Articles

A Hybrid approach to the Hybrid Cloud

by paul 0 Comments
A Hybrid approach to the Hybrid Cloud

Unless you have been hiding under a rock, or maybe spending too much time looking at the clouds passing by, the last couple of years have seen the advent of the adoption of the cloud as a major part of enterprise IT infrastructure. ¬†As with everything in IT infrastructure, trends are followed for and without good reasons. Like I’ve argued before, outsourcing your non business critical software to SaaS may make sense, while maintaining your core business on site seem to be a good approach. In this piece however, I’d like to address the adoption of the cloud as PaaS, what are the pitfalls of that type of approach, and how adopting cloud as IaaS could alleviate some of these pitfalls. Perhaps more importantly, I’d like to offer a nuanced approach that will hopefully avoid an all-or-nothing approach. In short, here is how I view it:

Note: As always, I am touching here on enterprise data strategies as the backbone of a business, and therefore talking about data platforms as a whole. I’m not talking about expert systems/system of records and where/how they should be implemented.

Going all in

Exposing the flaws of going all into one cloud is fairly straight forward. Cloud infrastructure is super attractive. Being able to spin up at will nodes and services is super attractive. It’s like a kid at an arcade choosing what to play next. Until you run out of quarters and want to take a worthy price home. Here are some clear limitations of going all in into one cloud, and using all its services:

  • The services you use lock you in. If you develop something on AWS for instance, using lambda or any other tool, you will have a hard time the day you want to move these applications. To some extent, all the work you have done to liberate your data from your system of records and drive a true data driven business could be rendered void by going all in with one cloud.
  • Cloud vendors are very good a getting your data in and storing it for cheap, as well as running ephemeral elastic workloads. However, running long lasting compute or getting data out can be extremely costly.
  • Maintaining internal process of governance & security are very limited in the cloud.
  • Not all clouds are equal across the globe. If you truly are a global business you must have the ability to chose the cloud vendor that is available in your region.

The hybrid approach: a great option for today

The response to these limitations comes in form of a hybrid cloud. It is the idea of having workloads running on components that can be deployed on demand on premises or in the cloud in the same manner. Frankly, this solves 99% of the problems IT is trying to solve:

  • The services you use are infrastructure agnostic, and therefore allow you to maintain control of your data.
  • You can leverage cloud vendors for ephemeral workloads and on site for long lasting ones.
  • Governance and security are shared across cloud/on-prem.
  • You get to leverage any cloud.

As always, the devil is in the details. The only true way to implement a hybrid cloud is to have the same architecture on prem and in the cloud. This means separating storage and compute, as opposed to having storage and compute coupled like it is traditionally setup on premises. Theoretically, considering the advances of networking, and the advances of container management, morphing traditional architectures to have compute and storage separated should be fine.

The hybrid-er approach: a path towards true agnosticity

Like I mentioned before, I am a firm proponent of the hybrid approach. Nevertheless, I can’t help but imagining a world in 5 to 10 years, where everyone has implemented their hybrid data platform backend and the hot new tech is a new platform that provides a very specific and essential set of capabilities (think complex AI workloads) only possible by coupling compute and storage. Traditional RDBMS weren’t fit for many types of work (e.g. large scale, etc.), that does not mean they completely disappeared. I think we are going to see the same thing with containerization. It will be essential for many cases, but for others, different resources managers may be more appropriate. Regardless, these are truly exciting times, and I am very excited to be in the midst of this transformation.

3 essential features of the perfect software

3 essential features of the perfect software
Hi Mark. John left the company 3 months ago. Can you help us find a bug in his code? It is somewhere in this file.

I have recently been thinking quite a bit about what make a piece of software successful. Very early in my career, I got to temper my idealistic view of computer science and the world in general, quite well captured by the saying “you don’t have to be the best to be the first”. As I progress in my professional journey, I have been trying to identify key aspects that make a software go head and shoulders above their competitors or see a exponential growth in a niche of the market not exploited at the time. While it is most likely impossible to find the 3 magic words you have to pronounce to make the perfect software appear, I am still going to pretend I did this, for web traffic purposes, because I have no integrity. All bad humor aside, and for the sake of readability, I did try to funnel my thinking into 3 major aspects which, combined, are a successful piece of software. Quick aside: the purpose of this piece is not to dive into what technical aspect of a piece of software is valuable, but rather to present the software features to which the market responds positively. With that out of the way, let me present you the current state of my cogitation: the perfect software is:

screen-shot-2016-10-07-at-8-50-30-am

SIMPLE

Simplicity is essential for the end-user to open their eyes. While the algorithms, architecture and other under-the-hood building blocks can and will most likely be complex, the idea here is to present something that is simple to understand. Simplicity can be driven by multiple factors. It could be for instance the front end of your application. This is why UI/UX is such a sought-after skill, and while it is predominant in the B2C industry it is severely underused in the B2B world. It could also be driven by the product packaging. If building a platform with many potential uses, packaging them into specific solutions recognized by the industry is a fair way to achieve simplicity. It could also be targeted: focusing on solving the problems of one vertical for instance.

NON-INTRUSIVE

This characteristic is epitomized by the success of cloud computing. Software As A Service particularly is the perfect example of non-intrusiveness being a successful business model: end users do not want to have to install and maintain software. It is an obvious cost reduction feat for big enterprises, it is just as much a reality for consumers: no one wants to have to install a software on their computer, and the ones we do install are the ones we hate the most (he who had no complaint about Microsoft Word cast the first stone). Even more interesting, web software like appointment booking, ticket sales and so on are considered websites and not pieces of software, but I digress. That being said, and as I argued as early as last week, SaaS isn’t the only model and non-instrusiveness can be characterized by other traits. Backward compatibly or maintenance of current set of existing skills and application is a great way to ensure a non intrusive model. One of the reason why I think disruption is nonsense, see previous rant.

ACTIONABLE

Being simple and non-intrusive are essential qualities, but your software must actually do something in order to be valuable. The important question here is: what’s in it for your user? What is the value? And I don’t think that a value proposition such as “we are doing it better than the others” is enough, nor is “imagine what you could do with that”. You need to be able to be able to show tangible results right off the bat, drive your customer through a story of what they will be able to do now that they weren’t able to do before. This feature is in my opinion one of the hardest and most often forgotten feature for a software to possess, especially put in relation with the other two. Indeed, innovation while maintaining non-intrusiveness could be seen as an oxymoron. In reality, the perfect unique innovative actionable value that of which no one thought before does not exist. That being said, many tech companies today start by building technical prowesses instead of focusing on creating value. My recommendation is to think about the value first, then focus on making the solution simple and non-intrusive, which is ironically why this article is written in the opposite order.

Conclusion

Can a piece of software truly possess all these qualities fully? Probably not, but at I think it is at least an ideal to strive for. As mentioned awkwardly at the beginning of this article, this is also a very preliminary assessment of my thought process. I do believe that if a piece of software possess a good balance of theses 3 features, it is set for success. More importantly, I think that these features should drive the development of new softwares. I know that I have a few ideas about what to develop, and I’m going to make sure to keep that in mind.

Do software companies need purpose?

by paul 0 Comments
Do software companies need purpose?
There are cookies on the other side, right?

Following Richard Branson, I stumbled upon this article from Virgin: Is purpose the new branding? When I read this, all I could think of was this quote from Rick & Morty: “Nobody exists on purpose. Nobody belongs anywhere. Everybody’s going to die. Come watch TV?”. It’s a very funny quote despite being out of context here, although one could argue that it isn’t that much out of context, since this blog and this article don’t belong anywhere :) In all seriousness, the fact that purpose has been on the forefront of my newsfeed lately and that I have been pondering with branding strategies for my job got me to dive a little further into the subject. And you, fellow reader, get to bathe in the splashes of this hypothetical dive.

Establishing the premise

I want to set the stage of this post and thus establish the scope within which I will be operating. Let’s acknowledge my (limited) domain of expertise. First, I’m going to talk about software, not things. Secondly, I have little experience in B2C marketing and strategy, but I have an extensive experience in marketing and strategy in software B2B. So I’m going to talk about B2B here, not B2C. And it’s good, because I think that the “purpose in B2C branding” horse has been beaten to death. Poor horse.

With this established, let’s have a look at who is the target of B2B. A good place to start is this study from Google, The Changing Face of B2B Marketing, debunking some of the myths surrounding B2B marketing. The surprising outcome of this research and what I can read is quite simple: the persons that you are trying to target are following the same demographic and user expectations patterns as the rest of the population.

So, in short, here is the what we’re talking about: software B2B marketing strategy for people like us.

Not only caring about money does not mean we want to make the world a better place

Make no mistake: the first goal of a marketing strategy is to sell more. At least until capitalism collapses, which I’m not going to debate here. The assumption that many articles debating purpose is that generating revenue is not a purpose in itself. I think this assumption is correct, and several studies suggest that a paycheck is not the sole purpose of employment for our generation (take a look at this report for instance).

What I think is wrong is the conclusion that because millennials (we) are not by default driven by money, because we acknowledge that our jobs will change quite a bit over the course of our career, and because we seek personal development, it means that we are moved and seeking purpose. Like I argued before, our generation is the generation of individualism, and these findings should be interpreted within this framework. Specifically in the realm of B2B, I can tell you from experience that what excites is not the Purpose with a capital P of a solution but rather what it can do. What it can do for me, now.

Do bytes have purpose?

Another interesting question to ask, and perhaps the first question we should have asked, is: can my software have a Purpose? I would argue that no, software is a tool to achieve a goal. It does not have a purpose, it’s 0s and 1s (at least as long as we use binary machines). Of course, any set of tool can be used to achieve a purpose; but we are not talking about what you can do with the tool, rather if the company that is building the tool or the tool itself can be presented as having a higher properties or purpose than using the tool. I think this quickly becomes over reaching.

So: do software company need purpose?

The outcome of my current thought process is no. The theorized search for purpose of the millennial generation is operating under false assumptions. Furthermore, pieces of software by definition do not have a purpose which makes your software marketing strategy intrinsically swimming against the current.

Instead, I think that branding should focus on capabilities, not purpose. In my opinion, highlighting what a product can do in a comprehensible and palatable manner is far more exciting and ultimately convincing than positioning a product as the banner behind which we need to rally to express our views of the world. I would also add that B2B decisions are more and more data driven, and I don’t think that purpose is a relevant data point when considering alternatives. As always, I would love to proven wrong and hear your thoughts against this conclusion.