Why OpenCredo partnered with Google
Recently OpenCredo chose to partner with Google in order to share knowledge and resources around the Google Cloud Platform offerings. Our clients come in many shapes and sizes, but typically all of them realise three disruptive truths of the modern IT industry: the (economic) value of cloud; the competitive advantage of continuous delivery; and the potential of hypothesis and data-driven product development to increase innovation (as popularised by the Lean Startup / Lean Enterprise motto of ‘build, measure, learn’).
At OpenCredo we provide expertise in technology, process and organisational change, and we also help our clients to clarify their business goals and identify potential wider-reaching issues. Working closely with Google allows us to build upon their work and knowledge, and provide our clients with a solid technological foundation on which to create and deliver innovative products and services.
At OpenCredo we pride ourselves on our wide range of expertise, and also our neutrality towards the use of big tech brands. We strive to always chose the most appropriate tools and technology for the problem at hand, and we never re-sell applications or licenses. However, we appreciate the benefits of partnerships at the business level, and as we began to realise the potential benefits of partnering with a large cloud vendor, we started to evaluate the numerous offerings in the market. Our key evaluation criteria were as follows:
Our evaluations lead us to choose Google as our partner of choice. Read on to find out more about our findings and reasoning.
Many of our clients have a range of applications and workloads that they want to move to the cloud. Although we generally discourage ‘lift and shift’ of existing applications (as this typically doesn’t allow the full benefits of cloud to be realised), this is a business reality, and accordingly we need a platform that supports this. Google Compute Engine (GCE) meets this requirement, with a range of instance sizes and prices to suit most budgets, and existing applications and enterprise platforms can typically be ported across en masse.
GCE also allows the migration of existing applications and workloads, and we have particularly enjoyed working with the ‘Cloud Launcher’, where we can easily launch instances with popular software packages installed and preconfigured (such as Hadoop, RabbitMQ and Tomcat). We can then divide and rebuild existing application stacks, and gradually move existing workloads across to the cloud.
At OpenCredo, we are also embracing the concepts distilled within the ‘Lean Enterprise’. We very much value the ability to rapidly create hypotheses around business or process change, design and implement experiments, and collect data for analysis (following the famous ‘build, measure, learn’ cycle, or ‘observe, orient, decide, act (OODA)’ loop). Google App Engine (GAE) is a perfect fit for this requirement, as it is an opinionated PaaS with support for Java, Python, PHP and Go. The local development SDK and tool chain support allows modifications to be made, deployed and viewed within minutes, which is perfect for the continuous delivery of experiments.
It is a well-known issue that some cloud vendors have an impressive, but complex, set of offerings. At OpenCredo we value simplicity, and accordingly we like Google’s focused and cohesive set of offerings. All it takes to confirm the conciseness of offerings is a quick look at the ‘Products’ tab on the GCP homepage – many of the category subheadings have at most four offerings. It is worth mentioning at this point that ‘simplicity’ should not be confused with ‘simple’, and the Google offerings are feature-rich and provide a range of functionality to meets the needs of many use cases.
The user experience (UX) of Google’s products also strive for simplicity, and this is evident with how quickly our consultants and our clients can understand and begin to work with both the GCP web-based portal and gcloud command line interface. In particular we are strong proponents of the glcoud tool, and repeatedly use this in combination with other infrastructure automation tooling (such as Terraform, Ansible and Puppet), for rapid creation, testing and destruction of infrastructure.
Following from the above notion of simplicity, OpenCredo also values transparency, both in the way we operate, and also with our third-party suppliers and the tooling that with use. One particular area we often struggle with when utilising cloud platforms is the transparency of the pricing models. Our clients are obviously curious about the costs of cloud in comparison with their existing solutions, and they are constantly reminded of the benefits of ‘cloud economics’ by the IT press.
The GCP pricing models are relatively straightforward, and their calculator is understandable and usable. This helps us evaluate and discuss the cost/benefits proposition of moving to cloud with our clients. Another area of pricing in which GCP shine is their ‘sustained use discounts’, which essentially reduces the per-unit cost of a resource the more it is used within a specified time period. This is in direct contrast with a lot of other cloud cost models of paying upfront (effectively CAPEX) to guarantee the use of resources for a reduced per-unit operating cost over a fixed timespan.
The sustained use discount approach allows many of our clients to not worry about forecasting their use when moving to the brave new world of cloud computing. We also like Google’s notion of ‘preemptible VMs’, which are similar in concept to other reduced-price spare capacity/spot market compute instance offerings, but are offered in GCP with a fixed-priced model and maximum runtime of 24 hours. This not only allows easier budget forecasting, but encourages the creation of ‘cloud native’ applications that can withstand the ephemeral nature of cloud compute resources.
It’s hard to argue against the pedigree of Google, but the same can be said with many of the large cloud vendors. One criticism we have heard levelled against Google is that they were slow to adapt to the emergence of the increasingly popular IaaS market, and this is fair. However, we were fortunate enough to share the stage with Matt McNeill, head of Google Cloud Platform, UK and Ireland, at a recent Google/OpenCredo joint presentation, and he shared some of the reasoning why.
Paraphrasing Matt, he suggested that Google originally invested heavily (and successfully) in creating internal PaaS-like platforms, such as Borg, and exposed only this high-level deployment abstraction to employees within Google that were developing applications. This made it difficult to release public offerings that related to the ‘standard’ market definition of cloud computing primitives e.g. compute resources exposed as IaaS. This issue has now been resolved, and the GCP now provides everything you would expect from a cloud vendor.
In the realms of cloud fabric, Google engineers were also the creators of the classic ‘The Datacenter as a Computer’ book, which has arguable inspired all of the latest wave of clustering technology, such as Hadoop, Mesos and Kubernetes. Google engineers also initiated the creation of the Linux kernel cgroups functionality, which is a key component of LXC and Docker containerisation. Finally, Google created what many see as the language of choice with ‘cloud native’ tooling, in Go (golang). Go powers everything from Docker to Kubernetes, Terraform to Vault, and etcd to gogs. Everywhere we look within cloud technology, we can see Google’s footprints.
As much as looking into the past is important, it is equally important with cloud vendors to examine their potential for the future. Innovation is one of the keys to success in the crowded cloud space, and here Google are also one of the leaders. In addition to new products and exciting changes that will be revealed over the coming months, Google are also putting their Kubernetes container orchestration platform front-and-center of their cloud plans, and this is exposed via their Google Container Engine (GKE).
We’re big supporters of Kubernetes at OpenCredo, and this topic deserves a separate blog post, but the key attractions are the understandable developer primitives (pods and services), and simplified operational overhead (replication controllers, pods get their own IP address etc). We are confident of Google’s ability to drive innovation in the cloud computing market.
This blog post aspires to provide an insight into why OpenCredo chose to partner with Google and embrace their Google Cloud Platform. The key takeaway is that disruptive innovation is everywhere within the IT industry, and successful companies of the future will learn how to exploit this. The rise in popularity of the ‘three ways of DevOps’ (from The Phoenix Project), the scientific method (i.e. ‘build, measure, learn’ or OODA loops), and lean-inspired operations at scale (i.e. Lean Enterprise) are only the beginning of a fundamental change within our industry. Many businesses will need to fundamentally change, both in terms of technology and organisational processes.
Indeed, many of our clients initially contact us with a specific technology problem, and as our business relationship develops they seek our help in driving more fundamental changes to their methodologies, processes and organisational operations. In a nutshell, we believe that in addition to expertise in technical, organisational and cultural change that OpenCredo provide, many of our clients also require a solid cloud platform upon which to build or expand their cloud estate. The pedigree of Google and their involvement within the history of cloud technology in undeniably excellent, their current offerings are flexible, powerful and understandable, and the future technical roadmap is very exciting. This is why we chose to partner with Google.
Additional information can be found on the slides of the recent presentation given at Google’s London HQ: http://www.slideshare.net/dbryant_uk/embracing-disruptive-change-with-opencredo-and-google