In less than a couple of weeks, a new edition of JAX London will be held at the Business Design Centre. Running from 12th to 14th October, this year’s edition has 12 tracks, covering a range of topics from Agile and Craftsmanship to Enterprise Development through DevOps, Cloud and deep-down Java. InfoQ talked to some of the speakers at the Enterprise Java track to get a glimpse of what to expect from JAX London.
Steve Poole and Chris Bailey are giving a talk titled “All Change! How the new Economics of Cloud will make you think differently about Java”.
InfoQ: Steve, you already gave this talk earlier this year at Devoxx UK by yourself, how do you think the collaboration with Chris is going to change the dynamics of the talk? What can we expect different from the version of the talk that you gave at Devoxx and this one?
Steve Poole: Joint talks work well when split into alternating segments. Most of my talks have a strong narrative and that does help with dividing the effort so it shouldn't be too challenging. Having said that, the version at Devoxx was focused at potential decisions developers could have to face, while this talk will be more grounded with real examples of cloud cost vs technology decisions already being faced by development teams.
Steve Poole is also giving a talk with Daniel Bryant about DevOps and the Cloud.
InfoQ: What would you say are the points in common between the two talks?
Steve Poole: I see the Cloud Economics talk as complimentary to the DevOps talk with Daniel. Most of the practical challenge for DevOps and Cloud is about finding the “right” balance between team culture / ownership vs the technology used to implement a solution. The economic factors influence the design decisions, but the extent of this influence is something that depends a great deal on the maturity of the team (and also that of its business or management). Keeping the economics mostly out of the “how do I do it” conversation is right for now as most DevOps teams are still fairly young in their thinking, they need to focus on merely getting things working. As economic factors become more obvious though, we can expect to see more developers talking about choosing technology based on footprint, start-up time or monetary cost.
Daniel Bryant: I agree with Steve on this one, and a lot of my programmable infrastructure (aka DevOps) and cloud migration consultancy work at OpenCredo initially focuses on assessing the operational maturity of an organisation, including technical, process and social capabilities. Price nearly always factors into the cloud migration equation somewhere, but this is typically at a lower priority than, say, whether a cloud vendor offers all of the desired functionality (e.g. “will this cloud vendor help with my competitive advantage?”), and how much responsibility / accountability an organisation wants their developers and operations team to have (e.g. IaaS vs PaaS vs SaaS).
Organisations that are operationally very mature, or are running at massive scale, are generally more price-sensitive, and this is where you are seeing the rise in popularity of the combination of cluster manager and container technologies. Google would be the archetypal company in this category, and this is why they developed their internal Borg resource / cluster manager that efficiently “binpacks” containers onto hosts, and dynamically modifies the ratio between “tier 1” tasks (e.g. Google Mail) and “tier 2” tasks (e.g. offline batch data processing) in order to ensure high CPU and memory utilisation. There is a great video by John Wilkes that goes deeper into the topic.
InfoQ: Taking this into account, do you think it’s best suited for cloud practitioners or cloud skeptics?
Steve Poole: Good question. The answer is both or neither. Cloud is real and the realities of the related economic factors need to be understood by everyone. It's not in support of either supporters or skeptics. The talk is intended to raise awareness of the new challenges we face and to provoke some discussion about how and why we will need to adapt our behaviour and our technology.
Daniel Bryant: Once again I agree with Steve. Amazon CTO Werner Vogels stated at the recent AWS Summit London “Don't fight the cloud, make use of the cloud to propel your business forward”. At the risk of sounding cliched, the cloud really can become a competitive advantage for many businesses, or at least remove some of the “undifferentiated heavy lifting”, which frees up time for innovation, which in turn enhances customer experience. However, the costing models of the cloud are very different to that of traditional IT, and this can cause complications for companies attempting to forecast expenses. In fact, in practically every cloud migration project I have worked on, I have assisted with methodologies and models to aid predictive costing calculations over and above that offered by the cloud vendor websites.
In addition to that, at the moment the cloud is very much moving from product to commodity (in terms of Simon Wardley's mapping techniques), and so functionality or differentiation of offerings often trumps costs in terms of an organisation's choice of cloud vendor, which may not always be the correct approach. Combine this with constant innovation in the cloud space, for example, the event-driven AWS Lambda platform where billing is made in increments of 100 milliseconds of compute, and you'll soon realise that driving awareness in the economics (and associated challenges) of cloud, as Steve is doing, is a timely call to action for many organisations.
Holly Cummins is giving a talk titled “Microservices: From dream to reality in an hour”.
InfoQ: Holly, you are renown for doing live demos at your presentations, should we expect one at JAX London? Will we maybe see a microservice running inside a hat?
Holly Cummins: I’m definitely planning a demo for JAX London. "Planning" is a polite way of saying "panicking about", because this demo has more moving parts than any I've ever done before, and JAX London will be the first time I've done it. I'm not using a hat this time, but there will still be a bunch of Raspberry Pis and a pcDuinos. I'm thinking of it as a "datacentre in a handbag". One of the important things to remember about microservice architectures is that these are distributed systems. Distributed systems can solve some problems really well, but they also come with their own sets of challenges: you can't guarantee all of your services are going to be there. It's important to think about failure, and since I'll be doing my demo with five low-cost microprocessors, I think I can almost guarantee some sort of system failure!
InfoQ: You have talked in the past about Cloud Foundry and IBM’s implementation of it, Bluemix, will we have the chance to see some more of it when you talk about microservices?
Holly Cummins: I hope so. I think it's fair to say that, cool as it is, the datacentre-in-a-handbag won't become the industry standard anytime soon. A much more realistic architecture would involve something like Bluemix (a datacentre-in-a-building). Bluemix provides a Platform-as-a-Service for running Java, Node.js, and Ruby applications, and it also provides a lot of services around running Docker containers. That's really nice for microservices. My intention is to show scaling some of the microservices out from Raspberry Pi cluster to the cloud.
InfoQ: One of the most desired characteristics of microservices is that organisations can use very heterogeneous environments, with different services implemented in different languages and technologies; however, the enterprise world has traditionally gravitated towards focusing on few, core technologies. Given this, how do you think microservices will evolve in an enterprise environment?
Holly Cummins: That’s a really interesting question. Microservices provide a good way for organisations to introduce new languages and technologies into their stack without doing a big bang transition. This minimises both risk and cost. If the new technology works well, more of the estate can be migrated across; if the new language doesn't meet the business needs, it can be backed out. So it may be that some organisations will still stick to a core of a few technologies, but that the introduction of new technologies, and the phasing out of technologies that aren't working anymore, may be more bottom-up, and experimentation-based.
Chris Bailey is also doing a talk titled “Java vs. JavaScript for Enterprise Web Applications”.
InfoQ: Over the years, a number of languages have claimed to be taking the spotlight from Java, do you think this time is different? if so, why?
Chris Bailey: Like all good answers to these kinds of questions, it’s yes and no! JavaScript is the go-to language in the browser, and as the pages loaded into the browser for web applications are provided by the server, there's a growing interest in using JavaScript on the server too. Interestingly, this is similar to the way that Java gained traction on the server.
InfoQ: When comparing languages, people tend to focus on features and performance, although for the case of interpreted (or semi-interpreted) languages like Java and JavaScript the virtual machine becomes important too, will we see a comparison of these as well in you talk?
Chris Bailey: I’ll certainly be covering the relative performance of the two languages, and digging a little into where the difference in performance comes from. Whilst the relative maturities of the underlying virtual machines is a factor, it’s not the only one. I have more details but you’ll have to see the talk for that ;-).
InfoQ: In a world that is tending towards the API, and where the technology at choice is hidden behind it allowing different technologies to cooperate, do you think language comparisons will become more or less common?
Chris Bailey: I think there will be a trend towards using the right language for the right purpose. This aligns well with the concepts being driven through micro-services: one of the important factors on how well a service can perform its role is the language that it’s written in.
Steve Poole is Lead Engineer of Cloud and Development Platforms at IBM.
Daniel Bryant is Principal Consultant at OpenCredo and Cloud Editor at InfoQ.
Holly Cummins is the Delivery Lead for IBM WebSphere Liberty Profile.
Chris Bailey is Technical Architect at the IBM Runtime Technology Center.
Other speakers in the Java Enterprise track are Peter Lawrey, Niall Deehan, Lukas Eder, Jonathan Gallimore, Geertjan Wielenga and John Davies.