Pagina/12 is one of the main newspapers in Argentina, it has a great supplement called Cultura Digital which covers the latest trends in technology. Mariano Blejman (@Blejman) interviewed me to talk about cloud, with focus on Platform as a Service (PaaS) and how OpenShift from Red Hat redefines the platform as a service space with a pretty unique value proposition.
Tuesday, September 25, 2012
Saturday, September 22, 2012
As entrepreneur (startup or corporate), you need to deal with so many things, to the point that it is easy to get overwhelmed and loose focus.
Many of those things that consume your attention are central to your project while others are critical but at the same time secondary compared to the core of your business.
Let's see how Cloud Computing can help on outsourcing the load of what is peripheral and how it can empower what is core to your idea, project, or business.
Go ahead and take advantage of the Internet Age:
One of the positive side effects of the current times is the pollution of digital services. You have at your disposal plenty of service providers which are happy to take those "secondary" concerns of yours and do them for you for a relatively modest fee.
Some of these services range from addressing new concerns that were born in the digital age like email address validation and search engine optimization to the "webificated" versions of traditional workloads such as payment processing or logistics.
You can explore opportunities to outsource many of your secondary things to these service providers.
For instance: for CRM, Goods Shipping, Credit Card Payment Processing, it is difficult to bit in price and quality SalesForce.Com, UPS, Verisign, or similar providers. Would you do all these things yourself in house? Most likely not.
Following this trend of thought you can take the same concept to stuff that is more core to your business, and if you have a tech-based service/product that trend takes you to the clouds...
But the interesting part is that the cloud concept (public or private) is not just about outsourcing and cost savings, as you'll see bellow, is also about time-to-parket, market survival, and a boost in competitive edge.
Enter the big fat buzz word today: The Cloud
On top of your already overwhelmed entrepreneurial brain now you have to internalize yet one more new concept, Yes, I am talking about the infamous Cloud.
Despite all the buzz around cloud computing, big data, and the mobile revolution there is some easy and tangible substance behind the fog. And the best part is that the most undeniable advantage of cloud is the cost savings.
If you are a tech entrepreneur, it is very likely that Cloud Providers are the ones with the best chance of helping you with the tech core of your business. And this is because most of the cloud offerings aim to convert into packaged services (in utilities, really) all those technical tools, assets, and services that are needed to develop, maintain, and growth the next web or mobile great idea.
Let's review what is the best type of cloud for each use case and for each type of entrepreneur. The right cloud for the right folk...
You love your IT Department, they are rockstars, they manage to deliver your near impossible hardware, network, and software requests one way or the other. But when it comes to get infrastructure or software very fast for yet experimental and/or entrepreneurial stuff your friends in corporate IT feel bad simply because despite their efforts is difficult for them to catch up with the speed of your creativity and the pressure of the innovation produced by your competitors.
A good Cloud for these cases is to work with your IT folks on a partnership with an external infrastructure as a service provider (IaaS) like Rackspace or Amazon EC2 in order to supplement your internal infrastructure with additional rough computing/storage resources. Or engaging with a Platform as a Service provider (PaaS) like Google App Engine, Microsoft Azure, or Red Hat OpenShift when you have higher-level requirements like full-stack, ready-to-use, and scalable environments for development and runtime.
If your organization has restrictions about working with external providers or is susceptible to data location regulations the solution may be to partner with a cloud provider that has a strong private cloud strategy or even better a provider with a good track record in enterprise software combined with a strong hybrid cloud strategy like IBM, Red Hat, HP, Microsoft, or Dell, just to name a few.
There is not special endorsement of the named vendors, just naming a few as examples, do the research that and check the ones that make more sense for your use case.
Infrastructure as a Service (IaaS) is OK but is like having remote Virtual Machines, you do not to buy servers but you still have to manage them and manage the software running on them.
Instead, Platform as a Service (PaaS) is the real deal when it comes to the full realization of the utility model that cloud promises; with PaaS you just focus on your coding the app and then the platform service takes care of running it and everything else, forget about scalability, performance, redundancy, security backups, stack management, patches, databases, servers, etc.
Try to stick with a vendor that can give you a nice hybrid-cloud story, meaning that offers a PaaS that can be deployed in your datacenter as well as consumed from the vendor-operated public online cloud. In this way you can move your apps between your laptop, your data center PaaS, and the online cloud PaaS without modifications.
For Software as a Service (SaaS) Providers:
You need to take your SaaS web app to market ASAP, or yo may need to keep your existing App/Service current and evolving over your competitors. How can you keep up with such pressure and fast pace and at the same time focusing on your platform and in your infrastructure? The answer is by relying on a Platform-as-a-Service (PaaS)!
Most of the new web and mobile apps developed today are not running on custom hardware or manually-maintained IaaS, the majority of new SaaS development runs on a PaaS layer. PaaS gives SaaS developers the freedom, focus, and bandwidth to improve their apps and services by paying a reasonably low cost for a platform service that gives them tuned, elastic, optimized, and full-stacked environments with application servers, databases, and frameworks maintained by professional vendors that can provide a world-class service.
Avoid those PaaS providers that only support a restrictive subset of your software stack or the ones that lock your code into proprietary APIs and services. It is better to go open, meaning going open source and open choice. CloudFoundry and Heroku are great examples, they are pretty open but a little restricted in some technology choices, Google App Engine and Azure are nice but have multiple lock-in points for your code, OpenShift is more open and less restricted, and despite is a younger player is getting a fast traction due to Red Hat's expertise and trajectory in the platform space.
Pretty much all the rules that apply to the previous category also apply to mobile projects. In fact, many SaaS solutions are Mobile, and Many mobile apps offer a SaaS-like optional service.
The important factor here is to pick a PaaS with great scalability and a simple pricing model in which you pay for what you use, since is very likely that you will suffer an exponential traffic growth in a short period of time as well as rollercoaster-like spikes in usage. Another big plus here is a strong support for NoSql as a service, preferable MongoDB which is becoming a de-facto standard.
MongoLabs and OpenShift are among the strongest cloud vendors in terms of MongoDB expertise and Elastic Auto Scalability capabilities.
I would also consider a PaaS vendor who has support for Node.JS; which becomes handy in many mobile use cases.
For Big Data Entrepreneurs:
From the business or functional perspectives you do not need to deal with storage directly, but most likely technical folks building web, mobile, or enterprise apps want to prepare for growth and looking to persist the app data in databases that are horizontally-scalable, high performance, and flexible structure databases.
MongoDB, Cassandra, and Hadoop are the most popular open source technologies emerging as leaders in the Big Data Space, look for cloud services with a high investment on these technologies, 10Gen is a great company in this space. Terracota and Infinispan are great NoSQL and data grid and distributed cache technologies, in particular if you do Java and Ruby.
For the rest of the mortals:
If you are not developing the next Facebook, or moving your whole Line-of-Business enterprise apps to the cloud, or creating the next LinkedIn and you simply want to take advantage of the cloud movement in your professional life, You may want to check Google Docs for office productivity and DropBox for file management on the cloud, just to name two.
Cloud is a new way of thinking about application/data development and consumption, not necessarily a technology revolution but a technical evolution, combined with new commercial models, closer to renting rather than owning. A model in which you outsource what is expensive and hard to do by yourself to a specialized vendor (or to an internal provider group in your organization in private clouds), so you can pay a low price for computing, storage, application services only when you use them.
It is happening already, those entrepreneurs that shifted to cloud are moving faster, at a lower cost, and they are getting a quality/UX gain due to focusing in their core business.
I argue that in the immediate future entrepreneurs that do not embrace cloud paradigms like Platform as a Service (PaaS) will be struggling to compete and survive due to the lost of agility, time-to-market, and business focus, compared to the ones that use cloud as a productivity and cost saving accelerator.
Thanks for Reading!
Stay up to date on this and related topics by following me on twitter: @Juan_Noceda