 All right. Good morning. I think we're ready to get started. So my name is Titus Kurek. I'm a product manager at Canonical. Mostly focused on OpenStack, but also helping with other parts of the data center business at Canonical. And in this session, I'm going to talk about cloud optimization techniques. So just to set the stage for this conversation, this is how the inflation forecast for 2023 is going to look like globally, according to the latest estimations. Like after the two difficult pandemic years, a lot of geopolitical mess happening in 2022, the inflation has increased globally, putting a lot of pressure on organizations and also the IT departments. Because if you think about that, all of that translates into increasing cost. It's not just the cost of life, that's increasing, but it's also the cost of energy, that's increasing, that's the cost of the data center rental, that's increasing, that's the operation staff salary, that's increasing, it's everything. So obviously a lot of that puts a lot of pressure for various types of organizations. And it puts them in a very uncomfortable situation when it comes to 2024 budget planning for IT departments. So if you think about that, the average spending on cloud infrastructure actually constitute a very significant portion of organizations' budget. You might not be aware of that. According to Gartner, 41% of the IT budget is spent on cloud infrastructure. That's a lot, that's basically almost half of the budget of a typical organization. And when we take a look at that from an organization-wise point of view, that's almost 6% of the capital budget. So every organization, whether this is like a research institution, whether this is like a government, or whether it's a telco, whether it's a software company, whether it's an enterprise, whether it's a manufacturing company, on average the spending on cloud infrastructure constitute to the 6% of the capital budget. So that's a lot. And obviously, why am I saying that? Because if we manage to lower the TCO associated with cloud infrastructure maintenance, that can result like a significant savings for organizations of any type, and can basically help to mitigate the negative impact of the inflation, which is visible through like an increase of data center rental services, like electricity cost, and so on. So what I'm going to be presenting in my session will be some kind of cloud optimization techniques that everyone can apply from public clouds through adopting the hybrid multi-cloud architecture down to a non-prem infrastructure so the private cloud, like your own clouds. And one point that I forgot to highlight is that this is a sponsored session. So as a spotlight sponsor of the event, Canonical gets like one sponsored session. So you're going to see some Canonical products being featured here, so don't get surprised, even though it's still going to be more tech oriented. So we're going to talk about cloud optimization, but let's define what it is first, right? So what is cloud optimization? It's basically allocating right resources to cloud workloads and data, right? If you think about that, whenever you are running an application, whenever you are storing the data in a cloud, like you need to decide where is it going to be hosted, where is it going to be stored, would that be one of the public clouds, would that be a specific type of storage like in public clouds? And this might be your own cloud, this might be a cloud that's run by the managed service provider. You might use some, you know, expensive resources to power your applications. You may use more cost-effective resources, right? So it's all about making a decision at the end of the day, right? And cloud optimization is all about allocating right resources to cloud workloads and data. In this process, there are a couple of inputs that everyone needs to take into account. So first of all, compliance, right? Like am I obligated to store my data locally, for example, right? Or can I store my data in a public cloud, right? Like if I put my data like in this particular cloud, like will I still be compliant, right? Like there might be some internal policies that organizations adopt, there might be some policies that are enforced externally. So first of all, like whatever you do, wherever you run your applications, wherever you store your data, those might need to be compliant with some regulations, either internal or external. Second of all, performance, right? So you might choose depending on, you know, the type of a workload, whether it's going to be put on some, you know, highly-performance substrate and utilizing, you know, like more RAM or VCPUs underneath. Or if this is not like a production workload, maybe, maybe, you know, like you're oversubscribing, right? Like you shouldn't be using so much resources to power this particular application, right? Because at the end of the day, you know, like every resource being consumed translates into the cost on the IT department side, right? And finally, functionality, right? So will I have all the desired functionality if I run my workload, like in this particular cloud, on this particular type of a VM compared to, well, running a non-prem, for example, right? So those are the three kind of inputs that always need to be taken into account when trying to come up with an optimal decision for the workload placement and for the data placement, right? So compliance, performance and functionalities, right? What do you get as an output process is a total cost of ownership, right? Like how much is it going to cost me to run a particular workload in this particular place to host this particular chunk of data in this particular place, right? And so now, you know, like basically by applying various types of cloud optimization techniques, we can influence the TCO, right? And if we do it in a smart way, that all results in a TCO reduction, right? So we can actually reduce the total cost of ownership associated with cloud infrastructure. And this can help to, you know, to lower the budget, well, to not lower the budget, but to meet the budget, right? This can help us to meet the budget with, you know, like less cost, less spending on cloud infrastructure, leaving way more space for, you know, like hiring additional team member or investing in innovation, for example, right? So in the following three sections, I'm going to talk about the exact techniques that can be applied across various types of clouds. So starting with public clouds. First of all, like there are some general considerations that you should be taking into account when running, you know, your workloads in public clouds. So first of all, choose the right region because the prices change significantly, depending on the region. Maybe, you know, if it's not like a production workload and does not need to have like a super high bandwidth, maybe it could be running in some region where the prices are lower compared to other regions. Be smart and use pricing calculators to estimate costs so that you would not be surprised, like at the end of the month or at the end of the year, with the bill that you get from your public cloud provider. Group resources that have the same life cycle so that, you know, like if they are shut down for the night, for example, like they don't run 24 per seven, then, you know, like you don't forget cleaning up unused resources. Consider containerization of your workloads just to, you know, make sure that you are using the least amount of resources as possible and finally adopt infrastructure as code techniques to automate everything. One particular feature that's very compelling when using public cloud services and it's adopted by all the leading public cloud providers are kind of reserved instances, right? So even organization commits to a certain usage of cloud resources over a time. Let's say they know they're going to consume like this amount of CPUs, that amount of RAM, that amount of storage throughout three years for example, then they can opt in for significant discounts. That can leave from 30% up to 70% cost savings according to our research. Another type of instances that's provided by the leading public cloud providers are spot instances. Spot instances basically use spare capacity of public cloud. So if there are some nodes that are underutilized, public cloud providers can offer spot instances that would be utilizing those resources. The only drawback is that this is not suitable for production because if those resources need to be allocated to some other types of workloads, then those workloads would get terminated or stopped or hibernated depending on the specified behavior. But this is something that could be used for development purposes for example, right? Like if a workload can be interrupted, maybe spot instances are the option. So based on our research, this can lead up to 91% cost savings like compared to the list prices. So that can result like in significant cost savings. One other thing you can consider is using ARM instances. If your application is suitable for running on ARM, if it supports ARM architecture underneath, you can put your workloads on ARM instances. Those are usually available at a lower price compared to like AMD and Intel architectures while providing the same level of performance. So it's basically like a better price performance ratio. Implement policies when running your applications on public clouds so that, you know, for example, if you're using public cloud resources for development purposes, if your developers are working in an office and they're going back home for a night, right? Like, and they should be cleaning up resources on public cloud not to leave any instances running there to create like an additional extra cost, unnecessary cost. You can implement policies to, for example, shut down all of your workloads running in a public cloud at a given time to make sure that those are, you know, either shut down or completely clean up. So those were like kind of a general techniques that can be adopted in a public cloud space. Now moving to the hybrid multi-cloud architecture. Just to start with some data. So according to the global hybrid cloud trends report from Cisco from 2022, hybrid cloud is basically gaining momentum these days. Like something that 82% of IT decision makers have already adopted, right? So this becoming a kind of a trend. So what we're going to see in the future is that, you know, everyone is consuming some resources from public clouds but at the same time they run their own cloud infrastructure for various reasons. Coz optimization is one of those. And what's really more representing the reality of today is a multi-cloud architecture. So basically consuming services from various cloud providers at the same time can be multiple public cloud providers, can be multiple private cloud providers, can be a mix of those. And here according to the report from 451 research group, 48% of IT decision makers have repatriated their workloads. So what does it mean? Like if you know what the repatriation trend is all about, it's like a lot of companies initially embraced public cloud offering because it was like super easy to consume but then over time they realized, you know, like their codes keep growing because public clouds come with a relatively high OPEX cost over time, right? So there is a trend that's happening these days is like a lot of companies are actually considering a repatriation of their workloads back from public cloud infrastructure to a non-prem. And just to briefly give you an overview how those codes usually shape so across public clouds and private clouds. So if we start with a CAPEX, so like the initial investment that organizations need to take with public clouds, it's usually like almost zero, right? Because the infrastructure is just there. Like all you need to do is to attach your credit card and then you can start consuming the resources. While the private cloud usually comes with a relatively high CAPEX cost, like you need to purchase the hardware in to deploy the cloud on top of this hardware and so on. But the trick is that over time, you know, that the OPEX cost associated with a public cloud is relatively high while on a private cloud side it remains relatively flat, right? Because assuming the fixed capacity, regardless of how many workloads are running on your private cloud, it's still like the same cost. It's the same electricity, hardware maintenance cost and so on. So this is how it looks like when we add the two. So we get like the total cost of ownership. So CAPEX was OPEX over time and now if we try to kind of represent that on a single picture, there's obviously like a period of time where public cloud would be preferred from the TCL point of view because it's just cheaper, right? Especially on a small scale when using it in a short term. Public cloud is definitely a preferred option. But at some point, at some point like those two curves cross and this is where it's more optimal to use hybrid multi-cloud architecture from a cost optimization point of view. So just to give you just to give you a feeling of how it can look like we've got three scenarios represented here. Those are from Khanical's cloud pricing report that we issued in 2022. So starting with a very simple scenario like a small scale, small scale application deployment and internal CRM system that we've got like some resource requirements documented here in terms of the number of vCPUs, amount of RAM, amount of storage and so on. So this is how those costs shape depending on whether the workload is placed on a public cloud or in a private cloud, right? So it's pretty much evidence of that. At a small scale, there's no economical justification for running this kind of a small application deployment in a private cloud. It's just, you know, like it's not, it does make sense. However, when you take into account like some more advanced scenarios, so it's like a medium scale deployment and online banking system, right? With way more resources that are required to power this kind of workload. It becomes evidence of that, you know, like over time, over time, it basically makes more sense to place it in a private cloud just because, you know, like the OPEX course again associated with consuming so many resources from a public cloud provider becomes higher compared to like the TCO of setting up and operating a private cloud over time. And like a third scenario, like a large scale workload, a video streaming system, something similar to Netflix, for example, this could look like so, you know, in this kind of a scenario, you know, like there's need for data warehouses, data lakes, you know, like this data needs to be stored somewhere. There's need for data analytics, you know, video transcending engine, web application providing an interface to the end user, like let's assume it's operating, you know, millions of users, right? So there is a need for way more resources that are available for this kind of workload. On that scale, it becomes even more evident so that from an economical point of view, it makes more sense to set up your own cloud infrastructure for powering this kind of an application, right? So what I wanted to demonstrate here is that it is always like before we go to the cost optimization in private clouds, it's always important to make data driven decisions, right? Depending on the scale, depending on for how long the exact workloads are going to be run, it may make more sense to run it in a public cloud or in a private cloud or use both, right? Like use both in the hybrid multi-cloud architecture whereas, you know, some workloads might be running where it makes more sense from the economical standpoint while still using like highly scalable public cloud resources during the heavy load periods or to provide the functionality that's not available in a non-prem infrastructure, right? Like, for example, having a private cloud for powering the production workloads while, you know, like if some development needs to happen on ARM, let's say, and if there is no ARM servers on prem, those could be run in a public cloud, right? So be smart and use the best of the two worlds and make data driven decisions. And finally, when it comes to cost optimization in private clouds, like this is how a typical budget for private cloud can be represented. So it consists of like four pillars. There's some hardware and facilities costs associated with setting up the cloud on prem software licenses and services for basically setting up the cloud software on top of the hardware. Our analyzes show that the most of the TCO associated with private cloud infrastructure is spent on internal operations and maintenance. So, you know, data center maintenance, you know, stuff salary and so on. And only like a very small portion of the budget is usually allocated to R&D and change, which is like the only positive cost on the organization side as it enables them to explore new technologies, grow, be more competitive on the market and so on. So a couple of tricks that can be used when setting up your own cloud on prem. So first of all, use optimal architecture for private cloud implementation. And what we usually promote as a company is that, use the one that provides the best price performance, right? So this is how the curve, the cloud performance, the cloud price usually looks like. So, you know, like you can continue adding, you can build a cloud using, you know, the most expensive components that are available on the planet. But there's always going to be some bottleneck at some point that will unlock you from using all the benefits of the underlying hardware. This can be limitations in software, this can be limitations in open stack, in SAF, in Kubernetes, right? So be smart, right, and use an optimal architecture that does not put an extra pressure on the budget while still providing the desired level of performance. Use right software distribution model, something that does not put you in lock-in, something that's open source, also enables flexibility and modularity so that you would be able to integrate the cloud platform that you're using with other open source components that are required to power your business applications. Automate and package cloud operations. So in, in county-calls world, like this is mass and juju, right? So mass takes care of metal automation while juju takes care of applications automation, basically. And shut down unused machines, this is really important, right? So there are, there are, it is not uncommon to see, you know, unbalanced clusters when running on-prem. So there is like a service in open stack that's called Watcher that basically enables you to automatically life migrate instances in nodes and shut down nodes that are not necessarily powered up at that point. And one final thing, consider whether you should go with a fully managed service or whether you want to operate the cloud yourself. Again, depending on the scale, you might be surprised so that on a small scale it's actually more economical to rely on fully managed services provided by the managed service provider rather than setting up your own operations team from the ground, training them, upskilling them, it might actually be more cost-effective to rely on the managed service provider. Of course, at some point it makes more sense to do it yourself, right? It makes more, like from the resiliency point of view, from the avoiding, you know, any kind of a vendor dependency point of view, it may make more sense to hire a dedicated operation team for your on-prem infrastructure, bad on a small scale from the cost point of view, it actually makes sense to rely on the fully managed services. So that's what we... So by applying all of those techniques on the private cloud site, like this can lead to decreased TCO of the private cloud infrastructure, which at the end of the day results like increased innovation costs, like the portion of the budget that's now safe can be spent on innovation. So one thing I wanted to highlight is that we had another session yesterday about Kate's native open stack. There's a new project, Sunbeam, that has landed in the open stack tree as of yesterday. So if this is something that you wanted to try out, you can scan this QR code, follow the tutorial that we put together for you, at the end of the tutorial you'll get an activation key that will enable you to collect an exclusive merge from Khanical at the booth. So don't be shy, try it out. We can even give you a virtual machine to try it if you don't have resources on your workstation to do it. And that's, well, I can go back if you need to scan it. But that's mostly it in terms of the content for this presentation, so I believe we have five minutes for potential questions. Well, if there are no questions, then thank you very much for your attention and happy to chat at the booth if you have time to visit it. Thank you.