Watch the best sessions from autocon/22, the autonomous cloud conference 🚀
August 18, 2023
September 18, 2023
Sedai, an AI-powered cloud optimization software, is a powerful tool any developer can easily use. Assuming one has an AWS account (if not, see tutorial here),
For this example, we are optimizing a sample e-commerce store that is built for an Elastic Kubernetes deployment as part of the EKS workshop. The EKS workshop is linked here and to deploy it, one simply needs to follow the steps through the Introduction to Fundamentals module.
The first step is to go to the Sedai website at sedai.io and begin by clicking the start free button as displayed below.
Once you click the button, you are prompted to a simple account creation page to input your basic information for a one-month free trial. After signing up, you will begin an introduction to the autonomous tools used. Here, you can easily specify your goals and resource type for your application (ECS, EKS, Lambda, and Kubernetes compatible). As we’re deploying a Kubernetes application, we are going to select AWS EKS as seen below.
The next step involves connecting to your cloud account through the AWS Identity and Access Management pins on your account. If you are slightly unfamiliar with this, simply click the “Launch CloudFormation” button to create a stack in your AWS account, which will prompt you to create a stack – press create.
After that, simply go to your stack and copy and paste the ARN in the outputs tab.
Once this is done, you will receive instructions to connect a Sedai agent to your AWS account either through the helm or kubetcl command. Simply copy and paste your command of choice to your terminal or Cloud9 IDE.
Once this is done, you will be prompted to select a monitoring platform. For the sake of ease, we will be selecting the Prometheus monitoring platform, which is easy to integrate with AWS. We will cover the steps to integrate Prometheus below.
When using the Elastic Kubernetes Service with Sedai, one needs to integrate a monitoring platform into your AWS account. There are many options that Sedai supports, but for the sake of ease, we will install Prometheus. The first step is to download Prometheus locally from the website. Once this is done, you should follow the steps from the blog post linked here.
After Prometheus is connected (check progress through kubectl get pods command) and the server is running, connect your local endpoint to Sedai.
The final step is connecting the Sedai smart-agent through the helm or kubectl command the interface provides and wait for the pods to ready.
Congratulations – once you complete this step, you are ready to launch Sedai! Once you launch the UI, you will be prompted to a homepage with a directory bar on the left to specify the different tools and modes you can access, while the main page will simply display your activity on the application.
Once you are ready to begin your optimization process, click on the Topology tab and specify the cloud name.
To effectively simulate the software for a variety of different-sized e-commerce stores, we simulated four different loads of traffic/engagement for the e-commerce site: new startup (low), growth company (medium), established (high), and market leader (very high). This was done through the Locust framework, where each traffic bot engaged with the website’s product and payment functionality. The Github repository for the traffic simulation is linked here.
When you have selected your desired cloud, cluster, application, etc., you can see the optimization/availability actions. Once you are ready to optimize your resource, first look at the optimization opportunities to see projected impacts of optimization.
Then, you can specify your optimizations and availability if you go to the settings and topology page as seen below:
After specifying your optimizations, you should be all-set! Sedai does have a two-week learning period based on the data it ingests; however, there will be initial optimizations, where you can begin to see differences
The performance and reliability of EKS (Amazon Elastic Kubernetes Service) deployments can be significantly influenced by specific configurations and deployment strategies. Minor optimizations in EKS configurations can lead to substantial improvements in cluster response times and resilience. For instance, a study by Google showed that a 1% reduction in page load time can result in a 2% increase in conversions. Amazon discovered that a 100ms decrease in response time can elevate customer satisfaction by 1%. Additionally, Microsoft's research indicates that a 10% reduction in latency can boost productivity by 5%.
Sedai, with its advanced optimization capabilities, has been especially successful in enhancing the performance of EKS deployments. By optimizing pod scaling, resource allocation, and network configurations within EKS, Sedai ensures faster application response times and minimizes deployment failures. This not only improves user experience for applications hosted on EKS but also drives customer satisfaction and potentially higher revenue. With streamlined server-side processes within the Kubernetes cluster, applications become more responsive, ensuring efficient access to required resources. The true value of Sedai lies in its potential to offer a robust and seamless experience on EKS deployments, fostering increased trust and loyalty among end-users. Adopting Sedai is imperative for businesses that aspire to lead in the dynamic world of cloud-native applications and EKS deployments.