Cloud Computing with Kubernetes and DevOps: A New Way to Move Your Growth Towards Platform Engineering at Cloud Native Now 2024
This session will cover cloud computing, DevOps and the Kubernetes field. Specifically it will cover how Kubernetes, DevOps and cloud computing are widely used in the IT industry.
Key Takeaways:
1. Adopt DevOps best practices
2. Use Kubernetes as much as you can – which can ease your product running
3. Use infrastructure as code to automate your ideas
Transcript
Good morning everyone. Um, first of all, thank you so much for joining, uh, me for our TikTok based on a cloud computing with Kubernetes and DevOps. It's a new way to move your growth towards a platform engineering.
Basically a kind of how you can enhance efficiency, scalability, innovations, how you can do all these things, or how you can bring all these three major features in your organization. So our, that's all we are going to talk here about. A little bit about me.
I am Prince Vedi, principal, SRE, working in Oracle Cloud. Uh, have seven plus years of experience, uh, very passionate about Kubernetes DevOps platform engineering. I am also a certified Azure cloud DevOps engineer, expert certified Kubernetes administrator, and also experienced in designing and implementing and maintaining a highly scalable and reliable systems.
I worked on multiple clouds, including Azure, AWS, and right now Oracle Cloud. So that's it about me. Uh, here is a quick overview, what we will cover today.
So it's based on introduction on the cloud computing, uh, role of DevOps in cloud computing, Kubernetes, the game changer, transition to a platform, engineering future trends, predictions, and yes, you can reach out to me if you have any questions or if you want me to answer anything, which you have a concerns. Introduction to a cloud computing. So in terms of introduction or let's say a overview of a cloud computing, basically it's a kind of a fundamental transforming the way we deliver our services, how we are consuming our computing services, which includes servers, storage, database, network, multiple softwares, everything over the end.
So you can see here the deployment model of it divides mostly in three ways. Private cloud, public cloud, and hybrid cloud. So public cloud basically where anyone, anybody wants any public or any individuals, any uh, tech giant, any organization wants to access a cloud.
They can use these clouds, Oracle cloud, AWS, Azure, Google, and many more private clouds. As you can see, if any organization wants a standard that this particular cloud can only be used by my organization, not anyone else can go and do anything in this particular, my standard of my environment of cloud. So that's where you can use a private.
Here are a few examples of private cloud, which includes VMware, OpenStack, Nutanix, everything. And then the third comes with a hybrid cloud. So let's say if an organization or a person wants that, they need a more security, which comes with a private cloud, but they need a multiple services and which are very reliable, a kind of a software as a service part.
So they need a public cloud as well. So that comes with a hybrid cloud where they can use few functionalities of private cloud and few functionalities of public cloud. Also, this, when we are talking about a cloud computing, it has a three types infrastructure as a service, which provides infrastructure and then platform or software.
All these things you need to bring in. That's where OpenStack is come. OpenStack is an infrastructure as a service.
There is a platform as a service as well. There is a software as a service as well. So, which it's like just deploy our application.
We will take care of everything. That is what a software as a service platform as a service, which will give you an infrastructure which will, which will give you some platforms, but the softwares all the kind of required softwares you need to bring into the cloud. So they will provide a platform, but on that platform, you need to run your softwares, how you can run and on those softwares, you need to run your applications, your services.
That's what a platform is a service. Few key benefits of using cloud is like, it is mostly on all scalable, cost efficiency is very good and comes with many more innovations. Now, what is the role of DevOps in a cloud committee?
So that's what we are going to talk here about. Um, in terms of when we talk about a DevOps. So DevOps is not a technology.
DevOps is not a kind of environment. Basically it is a culture which every organization should bring in to their teams. So it helps you in all the technical movements.
It helps you on automation or on automating your things. It helps you to bridge the gaps between the developers, between the operations, between the IT teams. It'll help you to improving the product quality, which is accelerated into the market.
And also when we are talking here about DevOps, and you are emerging it in the cloud. So that's where it is a kind of a cloud DevOps. When it combines, when the DevOps culture combines with the cloud computing, then it becomes a cloud, which will help you on many, many in, uh, you know, a kind of, we can say that coding, building many operations without much manual intervention.
So it's a kind of what do you do? A code? You do build your service test package, do a release under production operations.
You need to manage monitoring plan. All these things are a kind of easy and manageable when DevOps joins, hence with the cloud. So again, cloud computing, we can say that it's a technology.
When it joins hands with a DevOps in a cultural way, it becomes a cloud DevOps, which is a very good for any of the organization. So if you are seeing this, that's where your, you know, um, infrastructure and if you want to switch from this to this, it's easy, reliable, scalable in terms of cloud DevOps. So that's where a cloud DevOps comes, where, okay, I am not going to do all these plugin and plug and play.
I want my DevOps culture to be implemented with my cloud environment. That's where I'm going to use a cloud. That's where a cloud and DevOps hence together and do magics for you in the organization.
See. Now let's talk about Kubernetes. So Kubernetes is a game changing part in when we talk about cloud computing, when we talk about DevOps culture part or adopting a DevOps culture part, Kubernetes is very, very important.
Kubernetes right now emerging as a game changer in the world of cloud and DevOps. So basically it is a open source container management tool which automates the container deployment container, scale up, scale down load, balancing everything not only on the cloud, but Kubernetes gives you freedom to take advantages of on-premise as well, which will help you on the scalable till much extent if you are on OnPrem. But when Kubernetes joins cluster, where it is helps multiple, multiple things, many things in terms of scalability wise, in terms of self fielding wise, a container orchestration wise, well, let's say if you want to do some rollbacks or let's say if you want to perform some deployments in a easy way.
So your application management will be very easy when it comes in the Kubernetes. So that is why we say Kubernetes is a game changer when it comes to the cloud or when it comes to the DevOps. And when cloud and DevOps, you are adopting a gain of Kubernetes where the cloud and DevOps, it will be a game changer fund.
It'll help you on more and more way. In terms of scalability, most of the organizations right now are facing a scaling problem. That scaling problem will be we that can be solved if you are in a, if you are adopting a Kubernetes.
So that's what Kubernetes can do for you. This is a basic architecture of Kubernetes where Kubernetes basically it's a, it'll give you a UI as a, a good ui, it'll give you a command line, you can operate it using a command line interface, we call it as a cube, CTL or Cube Country. Kubernetes right now basically divides in two paths.
Kubernetes master and of Oracle. Kubernetes master helps you where, I mean, you know, if you can see here a PA servers, schedulers controller, managers at cd. So basically it decides, okay, what I need to do to my nodes, or let's say if any service which is running in my Kubernetes worker node, then how should I cook?
How should I sketch it on what node or on what instance it go and schedule. All these things can be manageable when Kubernetes master teams, all the applications, whatever you are deploying, all these things we, in Kubernetes term, we call it as a PO or as a, so basically when a part deploys in form of container in a Kubernetes worker, its Kubernetes masters responsibility to handle the situation where if they need to perform a networking part, they need to perform any data saving part. They need to perform any internal or outside of external connectivity part.
All these things are managed by a Kubernetes master or one of the component of a Kubernetes master. Scalable in terms of scaling it is very easy when you go with the Kubernetes architectures. So the most important part of our presentation, transition to a platform engineering.
So this transition to a platform engineering is nothing but how all these things you can manage. So you, we discussed about cloud computing, we discussed about DevOps part, we discussed about Kubernetes part. So all these things, when all these three things joins hands together, there will be a new revolution.
There is a new revolution, which is a platform engineering. We are going to discuss more about it and how these things can help us. Platform engineering is nothing, but it's a practice of building or a any operating common platform as a product for a technology team.
So basically platform engineering is a next revolution in the journey of cloud and DevOps. It involve, um, building, operating all these commands or your product in terms of, so basically it prepares a platform where your product is going to deploy. It reduces the time, uh, to market and the complexity of providing a self-service department for their infrastructure as well as per our application, and also manage or helps you to manage your operating application in the production.
As you can see, there are three stages. So let's say if we have some organizations or we have some teams who are using a legacy DevOps culture and if they wants to transition it to a platform engineering culture, yes, this is a good way go transition it step by step. That's what how I used any new thing.
If I am transitioning it in my professional, uh, career, in my professional town, I am going to a step by step. So when I say transitional DevOps, the teams who are mainly focused on A-C-I-C-D who are performing all their manual configurations or separate tools, uh, they are using a multiple tools, multiple processes and bring it and connecting it for their CACD with all the manual configuration. That's what I call a transitional demos.
If they want to move it to the platform engineering, the first thing they need to do is switch it to the intermediate stage, which is like introduction of container orchestration, bring in Kubernetes. That's what we discuss. Bring use clouds, increase your automation, enhance your CICD pipeline.
It needs to be a continuous efforts for our engineers to make this thing a very automated way, at least that we can transform it to the platform engineering. And once you are or the teams who are already an intermediate stage, switch it to the platform engineering. So when it comes to the platform engineering, you will have a unified and central standard environment, self service capabilities, centralized DevOps portal and development of IDP.
So IDP means internal developer platform where once this internet developer platform, the team will get once they're fully transitioning to the platform engineering, this is how uh, internal developer platform works. So since we know that we are using our multiple services, uh, we are using multiple tools and technologies to build our service. The main thing developer should focus is on is a code consume the service.
That service can be consumed by the developers. They can do their coding and what platform engineering's responsibility is build that particular service, which can be consumed by our developers. So as I said, great powers come great responsibilities.
The main responsibility of a platform engineering team is like they need to build that particular service or standard service, which can be consumed by the developers. No, what all things developers can perform. They need to do their coding, they need to perform a continuous integrations, they need to perform a testing, they need to perform a continuous build, they need to deploy it on their development environment and once it is passed with all the approvals, they can go ahead and deploy to the production.
But so that is a centralized environment which platform engineering team needs to provide for their developers so that they can only focus on the code. They do not need to worry about. But how platform engineering team will build that particular service.
That's where it comes. Cloud DevOps, Kubernetes a three major part when it comes to the platform. So as you can see here, this particular service uses automations, DevOps, infrastructure, operations, security with all the automations and security, it'll then you can see the multiple tools.
Kubernetes, Jenkins, Terraform, Azure, Google Cloud. So it is like a cloud plus DevOps plus your platform engineering environment. So this is the responsibility of a platform engineering team.
They need to build a kind of a service, which we call as internal developer platform. Now in my previous slide, you have noticed a self-service capability, which platform engineering gives you. So wanted self-service capabilities.
So a self-service capability basically mainly used for their developers. They can develop their things in such a way that they do their coding and everything can be manageable in terms of all our DevOps cycles and everything on our platform. A self-service where they can do what all things are and they can monitor what all things are going on in my applications if my tests are failing or if my build is failing, if it is something they need to perform.
Our roadmap operations that all these things can be manageable using one centralized environment. That is what internal developer platform is platform engineering team provides. But how we are transitioning it from a legacy DevOps culture to a platform engineering, we need to build an engineering, a platform engineering team in it, right?
A most, uh, you can say that a valued in terms of right now how our technical industry is going into where we need to prioritize the things where we need to perform or need to continuously check our belts, where we need to measure what all things are going now, where we need to learn every day, where we need to hypothesis as well. We need to think about it. So all these principles, when it joins together, that's where your platform engineering team builds.
Basically all these principles are a kind of very, very important when you are looking out of one of the platform engineer because he's the guy for you, she's the guy for you. I mean, that's where you are checking, that's where you are seen, that's where you are exploring the market. When you are building a team, then these are the principles.
You are more looking forward when you're specifically building a team for a platform. So as I said, four important parts. Create a platform tech stack.
When I say a platform tech stack, that means get all the required tools in one table, which are being used by our service. Use cloud as per a requirement. Private cloud, private cloud, public cloud build container platform.
That's where I said Kubernetes a game changer. And then develop CICD deployment pattern. That's where I say bring in adopting a DevOps culture.
So if you have all these four things right now, yes, you are ready to go with the platform engineering team building. Basically when I say platform engineer, it performs infrastructure or he provides you that platform where infrastructure, operations services, application deployment, database storage, secret management, any observability like logs, metrics, any security governance, deving, uh, all the, uh, development executions, SRE part, all these things with end user ui, terraform, backstage, everything in one tech stack, you know, one table when everything gets put into, that's what you called a platform. If you are seeing here a platform engineering is a kind of a team which will bring you a development security operations, SRE part, the more coding part discuss about SLAs, business impact SLOs, everything.
So that's a kind of decision you can take if you have a platform engineering in place. Believe me, platform engineering is right now a next volution, which is coming now when I say which is coming, most of the companies started adopting it. And when I say adopting, they are working on it.
So let's say if some are on legacy DevOps culture, some are on intermediate stage, they are transitioning it, we are also doing the same thing. We are transitioning to the platform engineering. Platform engineering is not only brings all the teams on one table, but it'll reduce most of your scaling, most of your resourcing problem as, but now that depends how you are running your lead or how you are running your platform.
Engineering. These are some of our future trends. So if you can see some evolving practices, like majority of platform engineering.
So as we look into the future, several trends, what I can see in predictions which are shaping towards the landscape of cloud and DevOps and Kubernetes, these are main three important things. When you say a platform engineering, these three things will any come cloud DevOps, Kubernetes. If you are adopting it or if you are right now trying to adopt it, you are somewhere into a transitioning to a platform engineering.
There are some emerging technologies which are coming up with a platform engineering, which is like artificial intelligence machine learning. Now these latest technologies, ai, ml are also, you know, adopting it to, on a DevOps spot on a Kubernetes spot, which predictive analysis or ate detection or any automation with respect to your AI ml, that's where it is using edge computing. So basically extending the cloud capabilities, uh, to the edge and bringing compute power closer for a source of a data improvement performance.
So all these things are coming into the edge computing where you are collecting a more and lower power and making it on a one data center and operationally performing or operating that particular data center in a seamless manner. Platform engineering can help you. Serverless architecture, event driven or serverless computing models with more efficient or more, you know, a good resource utilization in a efficient manner.
That's where a serverless architecture, that's where the things are coming. So as I must say, platform engineering is the next revolution in terms of site reliability, engineers in terms of DevOps culture, in terms of dev SecOps culture because all these things we are putting into the one table of our platform. So if we are talking about a market prediction where growth and adoptions of future is platform engineering, when you are going for a cloud DevOps or Kubernetes, then there are new tools coming, new frameworks are coming new.
So this will, this can shape your future as well as your team's future. Basically when we say that use cloud use communities or adopt and DevOps culture. So slowly, slowly when you are trying to get on that particular level, the recommendation will be adopt a platform, adopt, create that particular environment inside a team, which can be helpful for you in terms of platform.