A tour of cloud computing: “Don’t take the cloud provider’s word for it”
Cloud computing is worth exploring; this is what we think but of course, we’re no experts. Therefore, we decided to invite 13 experts to weigh in on the present and future of cloud computing. Our next guest is Patrick O’Keeffe, Vice President of Software Engineering at Quest.
Cloud computing is worth exploring
In last year’s JAXenter Technology Trends Survey, we asked readers about their interest in different technologies and, according to the results, the cloud was a very relevant topic for developers. As you can see in the figure below, cloud computing was the runner-up in the “General IT topics” section, after software architecture.
If you want to read more about respondents’ favorite and least favorite cloud platforms, have a look at the results. Sure, cloud computing was already very popular but these results put things into perspective for us; in 2017, respondents were more interested in cloud computing than in microservices, DevOps, machine learning, blockchain and the list goes on. That may or may not still be the case, but these results opened our appetite for everything cloud-related.
Despite cloud computing’s popularity, there are still a lot of unknowns, misunderstandings and gaps. For example, earlier this year, we learned from Sumo Logic’s 2018 Global Security Trends in the Cloud report that almost half of their respondents reported that current tools do not work in the cloud. Furthermore, a whopping 97% out of the 300+ respondents felt that they lacked the tools for proper cloud security. Read more about the report here.
The bottom line is that cloud computing is worth exploring and the benefits definitely outweigh the risks. This is what we think but of course, we’re no experts. Therefore, we decided to invite 13 experts to weigh in on the present and future of cloud computing.
Here are the interviews published so far
- Abby Kearns: “It’s very important for technology to be cloud-compatible, if not cloud-native”
- Oleg Chunikhin & Terry Shea: “Serverless is another step towards improving productivity, especially in DevOps and operations”
- Peter Meulbroek: “Cloud-neutral adds a large amount of complexity and risk to a migration, without really solving the issue”
- Ross Kukulinski: “Observability is an essential component when successfully operating software in the cloud”
- Carlos Sanchez: “A seamless multi-cloud experience is currently practically impossible”
- Ben Newton: “Kubernetes is crucial for widespread multi-cloud adoption”
- Shiven Ramji: “The next step is to make integrations between cloud services as easy as possible”
- Brian Johnson: “Cloud-based infrastructure by itself doesn’t deliver huge benefits”
- Vince Arneja: “The Fn project is one technology to watch out for as it has great potential”
- Jeff Keyes: “Serverless is the natural evolution of microservices”
- John Mathon: “The cloud gives us a lot of tools for producing better security”
- Vamsi Chemitiganti: “Every enterprise should run on hybrid cloud”
Our next guest is Patrick O’Keeffe, Vice President of Software Engineering at Quest.
JAXenter: Has GDPR affected the way you or your organization does things? How?
Patrick O’Keeffe: Whilst it hasn’t made as many headlines as the data breaches and the non-compliance fines, one of the key impacts of GDPR from a development perspective is the effect on the future role of the database administrator (DBA). When you think about the protection of personal identifiable information (PII) under GDPR, this is inherently a database issue, and it’s an absolutely critical one. DBAs will be able to demonstrate their value to their organisation by fulfilling the role of gatekeeper and compliance expert during pre-production and development.
DBAs need to be clued up on protecting PII at every stage, maintaining access control and ensuring that the wrong people don’t have access to it. Protecting PII in databases is a huge issue for businesses, and the key to compliance is being clear of who within the team needs access to what data, and limiting unnecessary access.
JAXenter: What benefits does a cloud-based infrastructure bring? What are the drawbacks?
Patrick O’Keeffe: In the early 20th century, a lot of organizations had generators in their basement because the power grid was so new and not as reliable as one would like. Now almost nobody has a generator because we accept that the power infrastructure is reliable. This is really important because making energy widely available to society has had immense economic benefits; being able to just plug your thing into a wall socket and use it instead of having to maintain and fuel a generator plan has made many things possible that would not have been possible.
Drawbacks come when you’re not sure exactly what you need from the cloud, and end up purchasing far more than you need – the net result is the dreaded ‘unforseen’ cloud costs.
The cloud is the same – not only can we do old things better in the new infrastructure, but it also allows new ways of doing things only possible in the new infrastructure. One example if this can be found in offerings like CosmosDB – this is a ‘planet scale’ database technology with latency guarantees and distributed deployment built into the core of the implementation – no real analog for this exists ‘on-prem’. I would use the word trade-off, not drawback – in every major technology shift we tend to leave things behind we once thought were important in order to take advantage of new opportunity.
From a development perspective, I’m still seeing the majority of people moving to the cloud for cost control and simply because there are many services offered out of the box by the cloud providers that you simply can’t get anywhere else. There’s also a lower risk involved as a result of moving pre-production environments to the cloud too. Drawbacks come when you’re not sure exactly what you need from the cloud, and end up purchasing far more than you need – the net result is the dreaded ‘unforseen’ cloud costs. My advice for moving to the cloud is: don’t take the cloud provider’s word for it – select the most appropriate OS for your needs, not just the one you currently have on premise. Try out different environments, find the most appropriate one, and make a smarter decision.
JAXenter: How important is it for a technology to be cloud-neutral?
Patrick O’Keeffe: I lead an Engineering organization whose job it is to create value by building products that solve user problems. Is “not being cloud neutral” a problem I want to solve? I don’t think so, at least it’s not at the top of my list. I want to solve customer problems, so if a container ubiquity solution helps me do that, so be it, that’s just a right-tool-for-the-job choice. The issue fundamentally is differentiation – if you make the problem domain narrow enough, generic solutions work.
The minute you need some sort of differentiation or need to colour outside the lines, you end up working around the limitations of your generic solution and what was going to save you time and money now ends up costing you time and money. I would focus on solving the problem for my customer, and make the best technology choices in support of that.
JAXenter: How can we capture the multi-cloud opportunity? What are the roadblocks to multi-cloud success?
Patrick O’Keeffe: Again I would take a pragmatic approach here. Focus on the problems to be solved. We have things deployed in AWS because it is the right technology choice and things deployed in Azure because that is the right technology choice. Where you might see roadblocks will be in things related to costs around network ingress/egress if your solution moves significant data around.
JAXenter: What do you think of serverless? Is it a “revolution of the cloud,” as Maciej Winnicki, Principal Software Engineer at Serverless Inc. told us last year?
Patrick O’Keeffe: First there was IaaS and then PaaS and now serverless. Thus I would argue evolution, rather than revolution. That being said it is an important step – tech stacks can be pretty deep. For IaaS, to get something working you have to deploy and VM, then the OS then the functions in your application code. For PaaS, you can skip the VM and the OS and just deploy an application.
With serverless, you can deploy an individual function within that application separately. This gives you enormous flexibility and agility. It also allows you to think in terms of function-as-a-service and take a pipeline approach to data processing (where you chain functions together to process data). You can compose applications of many functions and because the cost of change for each function is small you can deliver value to your customer with higher velocity.