International Business Machines Corporation (IBM) Earnings Call Transcript & Summary

July 27, 2020

New York Stock Exchange US Information Technology IT Services conference_presentation 31 min

Earnings Call Speaker Segments

Jessica Leitsch;Moderator

attendee
#1

Hello, and happy Monday, everyone. Thank you for attending today's IBM Community Webcast featuring the Middleware Community. My name is Jessica, and I'll be moderating today's webcast. Our topic for today is data processing at the speed of business with IBM and Hazelcast. Before we get started, please note that the audio is played to your computer or device, there is no dial-in number. To view the demo in full screen, please click the 4 arrows located at the top right corner of the media player box. Be sure to navigate over to the resource list to check out our upcoming webinar series and the on-demand recording. We'll also have a Q&A session towards the end of the presentation but we encourage everybody to submit your questions at any time directly on the Q&A box. Tomorrow, we will e-mail everybody a copy of this on-demand recording as well as the slides. There will also be a link to the Multicloud Management Group to post any additional questions. With that, I would like to present -- introduce our 2 presenters for today, we have Dale Kim joining us, who's the Senior Director of Technical Solutions at Hazelcast, and along with him is Matt Rodkey, Program Director of IBM Cloud Pak for Multicloud Management. Welcome, gentlemen.

Matt Rodkey

executive
#2

Thank you very much. So this is Matt Rodkey from IBM. I'm just going to speak for just a moment here and hand it over to Dale, who's going to take you through the bulk of the content today. So we're going to learn a lot about Hazelcast today. But I want to talk a little bit about how Hazelcast is really important for us strategically from an IBM perspective, particularly in the area of Multicloud Management. So when we think about Multicloud Management, one of the things we think about is managing applications in a heterogeneous set of environments across potentially multiple different clouds. With the introduction of Hazelcast and the ability to manage high-performance computing in-memory applications, we bring forth a whole new class of applications that we can bring our best in the business management capabilities to, alongside everything else we manage. So we're really excited that Hazelcast extends the classes of applications that we can manage with the Cloud Pak for Multicloud Management. And you're going to see us doing lots of interesting things and integrations with them in the future as we move forward here and go. But it's very exciting for us. We're very excited for the opportunities that we're going to have to jointly go and sell the story about high-performance computing and Multicloud Management together. So with that, I'm going to hand it over to Dale, who's going to take you through all of the goodness and the nitty-gritty details, including a demo for Hazelcast. So over to you, Dale.

Dale Kim;Hazelcast;Sr. Director of Technical Solutions

attendee
#3

Great. Thanks a lot, Matt, and thank you, Jessica. And so hi, everyone. This is Dale Kim, and let's go ahead and jump into the agenda. And so I want to first talk about some of the key trends today. And so I'll talk about some of the exciting things that are going on, but really focus on the notion of multicloud and why we see that as a very important trend today. And of course, when you're looking at some of these deployments today that are getting higher and higher expectations from your customer base, I'll talk a bit about application performance and how that will fit with some of your longer-term strategies. Now certainly, application performance when people mention that, they think about the monitoring aspects. So application performance monitoring, or APM, but that's a good way to analyze where some of the challenges are and identifying some of the bottlenecks, what are some of the solutions out there that can allow you to alleviate those bottlenecks and get the performance that you need, especially in this -- in today's very connected world. Then I'll talk a bit about how Hazelcast and IBM are working together and how they fit together in terms of a solution. And then I'll show an excerpt from a demo video that we have on the Hazelcast site. So just talk about the relevance of MCM or Multicloud Management and how it fits in with what we do at Hazelcast. So if you look at some of the trends, I think the big overarching trend is this notion of digital transformation, which sort of implies that you have to change up a lot of different things to get the additional value from data that you're looking for. But I don't necessarily see it that way. I think digital transformation can be done incrementally. You just have to make some of these steps that involve changing the way that you think about data and maybe adding some of these modern technologies. So I don't think that necessarily as an overhaul, but rather as just an approach to a series of activities that allow you to get new ways of getting value from data. And so one of those ways is the notion of the hybrid and multicloud. So everyone knows about the growing popularity of cloud and how it ties in with some of their long-term data strategies and all the advantages like pay per -- pay-as-you-go as well as a lot of the agility that you get by being able to provision a new instance fairly quickly. And so you should really think about how that ties in with your on-premises system and then how it ties in with this notion of being able to deploy on multiple cloud vendor sites with your entire set of solutions. So that's one of the topics I'll talk about a little bit more. And then artificial intelligence and machine learning is certainly an important topic today, especially when it comes to automating a lot of tasks, but also getting more accuracy and more scale out of some of the work that you're doing, and I'll give an example of that. We're doing a lot with edge. And we have a technology that fits well with some of the constraints that you see at the edge having to do with limited hardware space, security, limited bandwidth and so on. And certainly, 5G will help a bit with that. But I think there will be more and more opportunities that arise and different shifts and focuses on what some of the challenges people will face once they get 5G in place as a means of connectivity. So a lot of potentially exciting things there. And as a result of some of these trends, the architecture is evolving quite a bit. So we see microservices getting hotter and hotter, same with streaming data. So some of these technologies that represent a new way of thinking about your overall architecture. But what it really means is that this is all about customer expectations and how to deal with parameters or dimensions like responsiveness, dependability and privacy. And the thing is that when all these expectations arise with customers, it's not isolated at an industry level. And I think one of the more amusing situations that are encountered around this type of notion of customer expectations arising everywhere is when people were facing some challenges with their web conferencing solutions and perhaps having some scale issues, some security issues, there was some talk about people using Fortnite, the video -- the online video game system as a means for communication because people knew that Fortnite solves the scale and perhaps some of the security issues that the web conferencing people should solve as well. And so people had a mindset of, like, well, if it works in Fortnite, why wouldn't it work everywhere else. And so it's kind of interesting that you would compare 2 completely different technologies, but have that same mindset of what expectations are. And so we recently did a survey asking a number of IT decision-makers about some of their challenges they're facing today. And certainly, customer experience is a top-of-mind issue. But the ability to handle customer experience in a positive way with today's loads on online systems was a burden on their tech infrastructure. So certainly, there's a need to be able to figure out how they can accommodate customer experience in the new way. So let me jump to talk a little bit about cloud as multicloud as a must-have. So people are probably just thinking about multicloud as a nice-to-have for now. And that's okay. This isn't something that everybody will jump to right away, but it is something that you need to at least have as part of your road map for a number of reasons. And one thing that we want -- we think that is really valuable is just being able to have that consistent interface across all these locations as well as being able to integrate sites, whether it's on-premises, whether it's on some of your primary cloud vendors or all across the board. So I think by having some of these capabilities across multicloud will be really important. And to dig into a little bit that -- into that a little bit more, some of the advantages include having lower latency with sites closer to your data sources. So in a demo, I'll show an example of where having data sources all around the world would require having sites all around the world to collect that data in a more low latency type of way. And then certainly, regulations are going to figure in, in terms of where you want to have your data centers and run all your different activities like analytics. So there's some restrictions around where data is going to be stored. And certainly with multicloud, there's going to be some issues around each of the teams, each of the user groups and their preferred vendors. So most companies will probably have multiple options for cloud vendors anyway. So how you tie all of them together so they work seamlessly. And then there's some extra safeguarding possibilities around widespread outages. So you hear about Internet connectivity breaking and maybe 1 site goes down. And if you have multiple sites running with shared data, then you can safeguard against that type of outage. There's always this notion of cloud vendor lock-in concerns. So I see it as having that flexibility of running in multiple cloud gives you some more bargaining power in terms of where you can spend your budget. So it gives you greater leverage when trying to coordinate these and negotiate these big deals in running in the cloud. And then with all the different nuances between the different cloud vendors, you have exposure to different technical capabilities. So with all that said, one of the challenges that you face is, well, it's easier said than done to be able to get that consistent interface, to get that integration. But -- so that's where IBM and Hazelcast are fitting in to address that issue. So how do you make that seamless experience and share the data and make sure that all these sites are connected at some level so that you get capabilities across the board. And one issue that's part of being able to deploy globally and across multiple providers is this notion of performance. And so just talking about what performance means. It's more than just speed. So there are a lot of issues that are bundled into this current performance, especially because you can't have speed while compromising other issues. You want to be able to have the speed, in other words, low latency and responsiveness, but also scalability, you want to make sure that your system is reliable and available and the data is secure. So certainly, there are some ways that you can optimize or maximize speed by making trade-offs in some of those other areas, but we see this as a combination of -- performance is a combination of all of these traits and that you have to adhere to them. You have to make sure that the data is secure. You have to make sure that it's available with high uptime and the data is correct. Otherwise, you don't get a lot of credit for speed if you're making compromises in those areas. So I want to give an example of where performance represents a yield value. So a lot of us think of performance in terms of being able to do more in less time. And this example gives some details in terms of how you can get better outcomes, not just more, but better. And so the example I want to show here is a bank that issues credit cards and some of the things that they have learned as a result of having that extra performance headroom. And so we all know that when you use a credit card, you go through the swipe and then within a few seconds, you get the approval or the decline. And it might not be surprising that most of that time is actually sending the data and getting it back over the network, which means that the credit card processor doesn't have a lot of time in terms of authenticating the card? In other words, making sure that's valid and seeing if the purchase is -- looks legitimate. So the notion of fraud detection will be run with a time window of maybe 50 milliseconds. So you want to make sure that you can get all that done in the shortest amount of time. Now the notion of fraud detection is often run today with machine learning and artificial intelligence programs. And that makes sense because with the number of credit cards that you're getting, transactions you're getting, you want to be sure to run very quickly and in an automated way, there's no way that you can handle that in a rule-based manner or certainly, not manually. And what this bank determined was that you can get a fairly good machine learning algorithm on fraud detection, but you can get it even better if you run multiple algorithms simultaneously and get a composite score. And so what they've done is created those different algorithms based on work from different data scientists, plugged them into this environment and they get a composite score that represents greater accuracy. And so this not only means that they have a higher rate of detecting fraud, so they can avoid some of the losses associated with fraud. But they also reduced the number of false positives. So in other words, transactions that look fraudulent, but actually aren't, are actually legitimate transactions. And by eliminating those or reducing the number of those, that means that they can retain the transaction fee associated with that purchase. And if you think about it, if you ever got a decline on a card, all you did was take out another card and buy it, and buy the product. And so you proceeded with the transaction. The merchant is good to go, you're good to go. However, the issuing bank of your first credit card loses out on that transaction. And so this is a way that this bank is able to reduce those losses by having a more accurate detection system. And again, it all started with performance as a means to getting there. And so there are many approaches for gaining performance. I just want to cover that really quickly here. And certainly, tuning your existing systems is a good way to do it as a way of getting started, but it doesn't get you all the way there. So you think about the performance improvement you might get from configuration changes and other tweaks to your existing systems, you'll get some performance, but you still have a lot of bottlenecks based on some of the hardware that you have. And so maybe you can add new hardware, upgrade your hardware. So you might have faster disks, faster SSDs, faster CPUs or networks. And that, too, will get you to a certain point but then again, the software needs to be able to take advantage of that hardware to be able to get the speeds that you're looking at. You could overhaul your architecture. And this tends to be a good way of getting a lot of performance, especially in light of the new hardware that you might have added, but it tends to be a very time-consuming effort. And so that's why we think of in-memory computing as a great way to get a huge boost in performance and accelerate our applications with some of the existing hardware that you have in place. Now certainly, each of these approaches, you don't want to run in isolation. You want to have some combination of this, but I want to show the in-memory computing edge as a key way of getting the most performance improvement for your dollar. And so if you look at this chart, you might think, well, there's a cost element here, and you might think that you get what you pay for. So if you get a lot of performance, you have to pay a lot more. But it turns out that in-memory computing tends to be a much more cost-effective means of boosting your applications versus some of the other ways. So that would allow you to think about how you can put more emphasis on in-memory, and especially in light of some of the technologies that are being brought out today like IBM and Hazelcast both partner with Intel who have developed their Optane DC Persistent Memory, which is a great technology that can be run in volatile memory mode. So it will run as fast as RAM, but for a fraction of the cost. So that's going to open up more opportunities for boosting performance by in-memory usage. And of course, RAM prices continue to drop. So the notion of in-memory while it's been around for a long time, it's certainly becoming more feasible for a lot of businesses as a result of the cost effectiveness. And again, all of this goes back to your customers' expectations around the responsiveness, the dependability and processing. So when you have your in-memory computing platform in place, you have an opportunity to be able to address customer expectations in these dimensions. And so talk about one approach to multicloud and performance together, we have a series of Cloud Pak that IBM has produced in these particular areas. So what the Cloud Paks are, are essentially containerized software solutions. So you get a curated set of technologies that work together for different types of use cases. And so Hazelcast is part of this Cloud Pak as a means of accelerating the applications you build in each of them. And so these Cloud Paks are good for on-premises deployments or in cloud vendor deployments. And basically, they are software that's selected to work together to build out a Kubernetes-based environment. So they actually -- it -- all the Cloud Paks use Red Hat OpenShift as that platform on Linux using Containers and Kubernetes as a cloud-native way of deploying your architecture. And then as I mentioned, Hazelcast fits in as that memory computing platform. And so specifically, the IBM Cloud Pak for a Multicloud Management essentially is that management system that allows you to run your different applications across your different environments, whether it's on-premises or in the different cloud vendors. And within those Cloud Paks, you have that OpenShift platform as the low-level foundation with Hazelcast as a part of it. And so one of the ways that you can simplify the deployment of data and applications across your multiple clouds is by simply having an underlying technology that can do that replication and then transmission of data for you. So the WAN replication capability, also known in other companies as Cross Data Center Replication, or XDCR, is simply the mechanism that allows you to get data from one site and transfer to another site and vice versa. So you can synchronize the data between all of your locations that are running Hazelcast. And with all of your Cloud Paks, then you'll have that as a component to be able to synchronize your sites. And so you might know that WAN replication is great for both disaster recovery as well as geographic distribution. And if you have an active/active deployment, that means each of the sites are running independently in terms of updates, but the changes are propagated to each other so that they remain sync. So that's very good for a geographic distribution type of environment but also doubles as a great way to support disaster recovery should one of those sites go down due to some disastrous events. And certainly within WAN replication, you need to have a lot of optimizations to make sure that it's efficient in terms of copying data over to the different sites, and that's one of the key things that we've put a lot of effort into, in making sure that only deltas and very specific deltas of the data are sent across the wire and being able to check what has changed to make sure that you're not sending too much data. So particularly good in environments where your bandwidth might not be very high and so you want to make sure that you can accommodate some of those challenges in getting data across the wire. And so this is a slide that -- or a diagram that I borrowed from IBM site, which is an example of this notion of application modernization, which is a term you might be using as part of your digital transformation. And to me, application modernization simply means adding additional components to your architecture to take advantage of some of these newer paradigms on how to process that, like stream processing. So if you see the blue area, the outlined blue area sort of in the middle with the green boxes, there are certainly some capabilities like logging and monitoring and metering to the right, which represents some of the capabilities in an IBM Cloud Pak. And so if you move a little bit to the left, you'll see where Hazelcast fits in, where things like data caching or having an operational data store where you might do transformations with in-memory or stream processing or some of the capabilities that you could add as part of your Cloud Pak deployment so that you get these extra -- capabilities that allow you to get more types of analytics, more types of processing within your system. And so I've talked a bit about in-memory computing and the cloud. And so you might be thinking, so what exactly is an in-memory computing platform? And so for us, it's encompassed in this -- the green box in the middle where you have Hazelcast Jet, which is the stream processing engine, but also good for batch processing. So if you have a lot of data in place and some storage mechanism, you can use Jet as a means of quickly reading it, doing some transformation, maybe doing some aggregations and then writing that to some other destination or maybe even the same repository as your source data. And that works in conjunction with our what we call our IMDG, which stands for in-memory data grid. And so you can think of an in-memory data grid as sort of like an in-memory database, so it stores data, and then retrieve the data very quickly. But the data grid is different from a database in that it supports data locality and distributed processing. And what that means is that you can send a code to each of the nodes that are in the cluster of an IMDG. And so you can basically set up a parallelized application very simply. So you don't have to write a lot of the logic to coordinate the efforts because the IMDG has the API that allows you to do that. So a very powerful way in deploying some of these newer applications by taking advantage of multiple nodes that can access the data that's local to the processing. And so you get a lot of performance improvements and performance advantages by having a data grid as part of your deployment. And so in this diagram, you have the standard setup of many different sources on the left and with the connectors that we provide, you can add any -- almost any data stores today, all the popular ones certainly are supported as a means of processing and streaming in a batch or more like an operational data store type of environment. At the top, we have our applications, so any request-reply type of application can reach into our system and provide data at a very high speed or do some kind of processing. To the right, we have data sinks. So places that we can send as data -- as a destination for your data. And then we have systems of record at the bottom. So because we're in-memory, we don't think ourselves as having -- as being that permanent store. Now certainly, we'll do some things to adjust where we fit into the stack. But for now, we're more about being able to hold data from systems of record and be able to accelerate the access to the data, and so that's why we work very well in conjunction with a lot of databases out there. So let me just run through this really quickly to talk about some of the technical use cases. And I'd like to call this our freeway diagram where it talks about all the different ways that data flows. You can think about the left to right or the west to east as stream processing and the north to south as request-reply type of applications. And so with stream processing, there are capabilities around stream enrichment, around stream analytics, streaming ETL, where you get a stream and dump it into a database for downstream analytics as well as CDC, or change data capture, where you get data from a database and then dump it off into some other destination using the transaction log files within the database to get information that's recently updated. And that, we expect to be a very popular way to approach application modernization. Rather than refactoring your code, you just tie in CDC with your existing databases and be able to process data in new ways. And then we have write-through caching. So you can use Hazelcast as a cache mechanism where if you make updates to Hazelcast, they will be propagated back down to the system of record. And as I mentioned, it looks like a database so that you can use it for in-memory data storage. And then there's a notion of real-time caching. If you tie it in with the system of record, any changes that are being made to the database can be propagated into the cache so you always have that fresh copy of data. And that can especially be enabled with CDC. And as I mentioned, you can use Hazelcast for batch processing. So read data from some system of record, do some processing in-memory, do it in a parallelized way and write it back out to some repository. So I can quickly go over some of the architectures and some of the technical use cases that are supported that you can run across the cloud or on-premises. So here's an example of running a transactional system where you have the Hazelcast platform using connectors to read from some event store like Apache Kafka, loading that into an in-memory store and now having a separate application using Hazelcast client library to read from that store. So a very easy way to be able to plug-in transactions like payment processing, dump the data into an in-memory store for analysts to look at the data and get insights from there. And very similarly, there's this notion of on-demand analytics, where you may not be processing the data continually, but you might have data at rest residing in some platform where you want to be able to process and index it very quickly and then put it into an in-memory store. So the architecture looks very much the same, with the processing a little bit different in that the data is already at rest. And so you might have an end user send a query, and then it will get that information and then process it on the fly and prepare it for analytics. And -- running out of time but I want to quickly talk about different ways to scale. Hazelcast Jet and IMDG work together well. So you can plug them together and have them scale together and this is good for any environment where you have a lot of predictability in terms of what the input looks like and what the load will look like in the near future. But you can also separate them out. You can decouple them and then look at them -- so scale them out individually. So you can have more of this input processing going on by adding more Jet nodes or you can increase the memory for analytics by increasing the IMDG component. So let me just finish it up by going to the video that shows our demo. [Presentation]

Dale Kim;Hazelcast;Sr. Director of Technical Solutions

attendee
#4

So I think it should be running. And so I had mentioned earlier that this demo is a good way to illustrate how multicloud management might work. And if you think of a connected car environment where you're processing data, collecting data, sending it over a cellular base to some centralized data center, you want to make sure that a lot of these sites, the -- your centralized data centers or the cloud sites are relatively close to the cellular base. And so you have your distributed systems, you have your cloud sites spread throughout the world, and then you have your web browsers acting as applications talking to your system. And I see that the -- sorry, that the video is proceeding. So one thing that we're getting from this data is data from connected cars, it's showing the average vehicle speed, and it's showing also some policy violations. So certainly a lot of calculations are going on. You get the GPS information and then you calculate the speed. But you might want to see what they're doing at various places like are they stopping suddenly, are they going too fast for a given speed limit, are they driving unsafely? And so all that information is being calculated. And when you're -- when you have hundreds of thousands or millions of cars on the road collecting this information, you want to make sure that you have a high-speed system and something nearby that can monitor all this and map out what cars are doing. So this would be good for insurance companies to track user behavior to make sure that they are driving safely or can be used by a fleet-management company to see where their -- how their fleet is operating. So that's just an example of using Hazelcast as a means of processing the data ideal for a multicloud environment. That video is actually available on the Hazelcast site so be sure to check out the full video to get the full context. And so I think that wraps it up. So let me hand it back over to Jessica.

Jessica Leitsch;Moderator

attendee
#5

Thank you so much, Dale. I appreciate that. That actually brings us right to time. So what we'll do is we'll make sure everybody gets a copy of this on-demand video as well as the PDF slides. And then any additional questions, you can just head over to the Multicloud Management Group. Dale, thank you so much for joining us today, and thank you for everyone in the audience. We hope you have a great week.

Dale Kim;Hazelcast;Sr. Director of Technical Solutions

attendee
#6

Thank you, everyone.

This call discussed

For developers and AI pipelines

Programmatic access to International Business Machines Corporation earnings transcripts and 248,000+ others is available through the EarningsCalls.dev REST API. Plans from $24.99/month — full transcripts, speaker segments, full-text search, and the recently-added /api/v1/transcripts/recent polling endpoint for ETL pipelines.