 All right. Up next, we're going to be having a section on the topic implementing a DevOps-friendly API architecture with Apache API 6 by myself, Anita Ihuman. So like I introduced myself earlier, I am Anita Ihuman, and I'm a developer advocate. And I'm passionate about sharing knowledge on everything technical writing and public speaking. I'm an open source advocate and passionate about growing developer communities in areas of onboarding, documentation, and diversity, equity, and inclusion. And I also love cats. So this section is going to be going up next. If you have any questions, once this is done, you can drop it in the chat as well. Hey, everyone. My name is Anita Ihuman, and I'm really happy to be here today. And once I've heard of numerous API management tools that take care of API architecture, however, today we'll be looking at implementing DevOps-friendly API architecture with Apache API 6. And so let's get into it. A little bit about me. I am a developer advocate and a technical writer previously at NeMata and Apache API 6. I'm also an open source advocate, a huge fan of that. And you can see most of the time advocating on open source best practices, on documentation, diversity, equity, and inclusion, onboarding, and the community. So that's all about me. Let's get into today's topic. During this section, we're going to be looking at what an API is all about. Of course, you can discuss API gateways without understanding APIs. Now we're going to look at what Apache API 6 is all about and what it means, what DevOps means in a DevOps-friendly architecture. We're going to look at how can DevOps use a central API gateway? And how does Apache API 6 fulfill all of these demands? And let's get into it. First and foremost, what is an API? Just like the name sounds, it's an abbreviation that stands for Application Programming Interface. And this is a central to building and delivering your services. It's simply a way for one or two more computers here to communicate with each other, offering services. Now, most of every service that we see today are either APIs or actually use an API. A simple example of this will be your bold app that you use for transporting from one place to another. Now, this application makes use of an API for the Google map, an API for Google map, which helps in navigating different places. Yes. So now, that application makes use of an API that helps with the mapping system and all. And so the success of your services depend on the services of your application. And let's take, for instance, this bold application depends on the integrity, the availability, and the performance of that API, which is the mapping that you're actually using. Let's take, for instance, you're trying to book a ride to a particular location and then the map happens to malfunction at that moment. The map feature does not work, or it takes it to a wrong location. Now, that only means that unless a person says, ah, both is terrible, both did me wrong, both did me shitty, or something like that, yeah. But it all boils down to the API that this application uses, which is the Google map API. Now, that is basically what an API does. So the integrity, availability, and performance of your application solely relies on the performance of that API that you're using. Now, what exactly is an API gateway? API gateway, on the other hand, is just like the name sounds, it's a gateway where it's an application management tool that sits between the client and the collection of backend services. So API gateway serves as a middleman between you, the user, or the person trying to assess that particular backend services. Let's say you're assessing through your system or your phone, whatever you're trying to assess. But yeah, the API gateway will sit between you that's trying to assess it, receive the call that you're trying to make, or the request you're trying to type on your phone, and then send it to the backend services. And this, as it sends it to the backend services, these backend services will check. And whatever response that aligns with what you're looking for, it's now send back a response with an aggregate, or it's now send back a response, and then the API gateway aggregates all of the response that has received from the backend services that align with what you are looking out for. Now, you might, let's take, for instance, to vote up that we're still talking about. Now, why you try to look for a location on the map? Most times you see that they're like different locations that have similar names that you're actually looking out for. And that is exactly what the API gateway would play in a situation like this. Now, why you send your request is going to bring back responses in accordance to that request that you've sent, and then gives it back to you, then you can decide which one exactly suits or best suits what you're looking out for. So that is what an API gateway basically does. It sits between the client, which is you, and then a couple of backend services, which is the response you're trying to look out for, and then helps with the communication between both ends. And the API gateway offers a lot of services or a lot of features such as observability, monitoring, logging, and analytics. It takes care of cake management, stabilizing, and load balancing. It also handles authentication, security, and policy enforcement. It can also take care of the service discovery and the basic business logic that goes on within your application, but then whatever it is, the API gateway actually does all of this. Now, Apache API 6 happens to be an API gateway. It is a successful open source project under the Apache Foundation, and it offers a dynamic real-time, high-performance API gateway features. Now, this open source tool, this tool was open source in the year 2019, and since then it has gained a lot of attention from developers from different organizations. And as of today, it records over 9,000 stars and over 300 contributors on GitHub. And of course, this API gateway lets you build cloud-native microservice API gateways and delivers the ultimate performance, the security and scalable platform for your APIs as well as microservices. Now, this Apache API 6 is used today by a wide range of companies and organizations for different purposes, such as production, commercial products, and also research. And most of the companies that use this tool today include the T-Sense game, you see companies like Swisscom, NASA, and so much more. Yeah, so this is a graphical representation of what goes on in the background when you try to make use of an API gateway or when you're trying to actually make API requests within an API gateway. Now, you can see by the fire rights, there are a lot of sources and that includes the phone, your computer, the traffic lights, and other gadgets that you might be trying to make an API request with. Now, whatever request it is you're trying to make is going to go through a set of protocols, right? And these protocols could be HTTPS, the TCP, it could be the UDP, whatever protocols it is that you decide to use. But then this course will go through that particular protocol down to the API gateway, which is Apache API 6. Now, Apache API 6 now uses the easy data plane and control plane to handle, to handle your data configuration and processing. And then it's now sent this request down to the backend services. And the backend services will now check what exactly aligns with what you're looking for. Let's say, now let's go back to the both app that we're talking about. And let's say you're trying to look for a particular location on the map. Now, once this response goes to the backend services, it's look for locations that are actually similar to what you're looking for. And then return it back to you. Return it back to the API gateway. The API and sends the response back to API gateway. API gateway will then accumulate all of this and then stream out the best response that actually suits the answer that you're looking for. And then sends it back to you on the receiving end. And that's where you see that, okay, you get notified on which services or which particular response that you're looking out for. So basically that is what Apache API 6 does. And enterprises can quickly manage their APIs and microservice traffic with Apache API 6 and using features like the flow limiting, the authentication, the login security, handling of support for complex and all of that. Apache API 6 can do a lot for your applications such as providing the internet features of handling the nuts to South traffic from clients. It also offers the envoy features of handling the East to West traffic between your services and also it plays the ingress controller features which can also help in handling the services within the traffic within your services. It also provides data in traffic results that is collection and analysis and analyzing of all of the data in real time. It also handles observability which includes logging, tracing and handling of metrics. And last but not the least, it is friendly for developers, program managers and operations. And so whatever purpose it is that you want to use API 6.4 regardless of how much knowledge you have on this, it has a very user friendly dashboard that you can easily just navigate through and assess all of these features by just clicking a button. Now let's move to what is DevOps in a DevOps friendly architecture. Now we can't of course discuss DevOps friendly a DevOps friendly architecture without talking about DevOps. So DevOps is simply a set of practices, tools and philosophies or beliefs that combine the software, the efforts of the software developers or software development and IT operations. Now this practices basically aim to increase the efficiency, the speed and the security of software development and delivery compared to the traditional processes that we're actually used to. So by adopting DevOps culture within your application, a team can actually gain the ability to better respond to customer demands and customer needs. It also increases the confidence within an application that you're building and also achieves your business goals faster than you actually plan to. Now what exactly is a DevOps friendly architecture? A DevOps friendly architecture is simply one that fosters an effective working relationship between the developers and the operations thing. Now this means that the architecture should be considered scriptable with APIs that work reliably. Now being able to actually put together the architecture into scripts or make it accessible using APIs can consider it to be DevOps friendly and also infrastructure, consider using infrastructure as a code. Now a DevOps friendly architecture should be able to like store these configurations in form of code forms or code states so that within repository, so you can always review the system with this code if need be, you can distribute this amongst your teammates of course if need be and in a way that you can always share all of these configurations amongst the developers and the operations thing. And it's DevOps friendly when it is loosely coupled, when it has a loosely coupled architecture that scales in a modern way in and out. And this is very important because we did not want to have the silo architecture that makes it difficult for scaling and sharing and distribution. Yeah, so a DevOps friendly architecture is one that is loosely coupled that makes it easy for scalability in modern way that is using or leveraging modern technologies that we're familiar with today. And of course it is considered DevOps friendly when it is open and you can actually assess this code, inspect it and also share this amongst the teammates. So basically making your software or your application open source for other persons to actually look through this configuration files and inspect it in the best ways is also an addition to making it DevOps friendly or achieving a DevOps friendly architecture. Now so how can DevOps use a central API gateway? Now I've highlighted three ways that this can be done. First, which is to consider automation. Now I mentioned earlier that using config files or putting together this code in a config file for other persons to always retreat back to would be a sensible thing to do. Now organizations should also practice managing configuration files within repositories. Now where the managing and provisioning of infrastructure are done using code. So you can actually put all of your configurations within a config file that makes it easy for manual processing and distribution amongst teammates. This config files would most likely be there to help establish the parameters and also the settings of that particular application or software you're working towards. And the next is you can achieve a central API gateway through a DevOps friendly dashboard. Now there's been like reoccurring complaints from the developer teams and operation team on the learning curve. Now getting to use most of the tools from the both parties can be really, really taxing in the sense that developers have to get used to the tools that operations team use. And then the operation teams also have to get familiar with tools that developers use. Now that takes a long learning curve which can be exhausting and time consuming on your end but having a DevOps friendly dashboard that makes it easy for people to actually assess all of these features without having to go through a long stressful learning curve is also a great way to achieve a central API gateway. And also you can achieve a central API gateway by allowing the DevOps teams to gain access into the API gateway itself. Now, which means transforming, you're going to have to transform your API gateway into a multi-tenancy architecture where more than one person or more than one team can actually have access to see what is going on in the background. And that is how this at the top three ways you can actually work towards a central API gateway in a DevOps environment. And how does Apache API 6 fulfill all of these demands? Well, let's look at it. First things first, Apache API 6 fulfills these demands by providing a built-in low-code dashboard. And so with this Apache API 6 dashboard you do not have to go through the long learning curve that we talked about earlier either as a developer or as an operations team. You don't have to go through all of that. You can actually achieve it by just looking through the powerful, flexible UI and get a hang of it by cutting or by cutting all of the learning curves. And with this dashboard you can operate you can operate and manage the Apache API 6 without any form of struggles. You can handle the real-time monitoring with your API and it also has integrations with the Grafana plugins. You can manage upstreams routes as well as consumers and also install any plugin for your security, your service security, your traffic control and observability. And so all of these can be achieved on the Apache API 6 dashboard with just a click of a button and which is exciting actually because no one would want to go through understanding all of the background work that is done that is done to actually have a good functioning API gateway. Now another feature that API 6 has to offer for a DevOps friendly environment is the multiple ready to use plugins. Now as of today, API 6 records over 60 built-in plugins that are broken down into several categories. These categories cover authentication, security, traffic control, serverlessness, observability and other aspects to meet the common usage scenarios of your customers. So whatever it is that your customers might actually be looking out for. We have built-in plugins that are already ready to use. You don't have to go ahead to also create new ones. However, API 6 also has provision for custom plugins. Now this means you have the ability to actually build your plugins according to what feature it is that you want API 6 to serve your customer. So you can actually customize your own plugins from scratch and put it together according to what exactly you're looking out for. And another feature that API 6 has to handle this is it provides hot uploads and hot plugins. So you can continuously update your configurations without having to restart your applications. And this saves a lot of development time for you as a developer or as an operations team. You can easily modify or add a plugin without having to restart your services. Now, for instance, you manually create or customize a plugin that works for you. You can actually include this plugin without having to go through the stress of restarting your service or your application to have these plugins you've imputed working or functioning. And this makes controlling of the external workloads in API 6 so much easier and a lot more flexible. Now API 6 also makes provision for custom plugins. Like I said, so once you find out what particular plugins you need and you want to customize that, you don't have to go through the struggles of restarting your services to achieve all of that. Now, next is API 6 has support for multiple platforms and technologies. And you can actually run API 6 from a bare metal machine to Kubernetes providing vendor neutral and multiple platform solutions. And so you don't have to struggle or think of the technologies that align or do not align with it because API 6 has support for provision for like multiple platforms that you might be using which and some of these tools that you can also integrate API 6 with some of these tools and platform include the hash pickup vault. We have tools like Zipkin, the Apache skywalking console, Knuckles, Eureka and also it supports technologies like Golan, Java, Node.js, Python and so much more. And so whatever technology or platform it is that you're using, Apache API 6 got you. So you can always check it and then just quickly integrate it within your platform that you're using. Last but not the least, Apache API 6 is open source and that means that you can distribute the code base among your developer teams. You can actually check, also contribute to this particular project if you want to contribute and also you can share this project and improve on it in the best ways that you think you need to improve on it. And so there is so much more that Apache API 6 could do when it comes to helping you to achieve your DevOps friendly architecture in the best ways for your API management. Thank you so much. And that is all that I have for today. If you also have questions regarding Apache API 6 or getting involved with this project, adopting it or integrating it with your software, you can reach out to me via email or check me out on Twitter and LinkedIn with my profiles that are listed out here. Thank you and that's all that I have for today.