If you attended Kubecon + Cloudnativecon last week, we hope you had the chance to stop by our booth. While attending the conference, we had some intriguing conversations about the cloud computing space. We received some recurring questions about the Opsani technology and its workings in the Kubernetes environment. We concluded that it would be beneficial to share this information if anyone else has the same questions.

Let’s begin with how Opsani gets deployed into your Kuberenetes environment.

When you implement Opsani into your Kubernetes environment, Opsani will deploy a companion side-car container along with your targeted Microservice application. Servo is an Open sourced transparent application deployed into your application namespace but does not get installed into your application code or container. This means that the security implications are well-bounded, and the Servo is acting as a Kubernetes Operator and is easily audited, and has strict security boundaries. 

Opsani works at the pod level.

 The first thing that Servo does when starting an optimization is that it will launch a tuning pod; this is just one additional replica of your application. This tuning pod receives traffic just like all the other pods; however, Servo controls this tuning pod. The Servo monitors the tuning pods’ metrics by reading the metrics from the existing metrics or APM systems such as Prometheus, or AppDynamics. Servo will use these metrics to measure against the targeted Service Level Objective.    

Servo will then make adjustments to the Tuning Pod to find the optimum configuration. Once an optimum is found Servo can be configured to operate in either a fully autonomous mode, meaning it can apply the new configuration to the rest of the pods in the deployment. Alternatively, Servo can be configured for recommendation mode, meaning Servo will provide the recommendation and allow for humans in the loop to decide and take action to apply the recommended changes.

Opsani does not adjust the number of nodes or adjust the node sizing or configurations.  

The Servo will rely on the Kubernetes Cluster Autoscaler to manage pods’ scheduling and ensure the cluster has sufficient capacity. Opsani ensures your containers/pods are optimized to give you the performance and user experience SLO you need while utilizing the least resources. This enables for very efficient packing of pods, and the cluster autoscaler will ensure the right node resources are available to schedule the Opsani optimized pods.

If you use Spot, Reserved or Dedicated nodes or have an established savings plan in place with your cloud provider, Opsani will provide optimized resource utilization and efficient pod sizing to meet the targeted SLO for your application. This means you never pay more than you have to meet your target SLO.

Now that you know Opsani works, it is crucial to understand the fundamental problem we solve: why you need cloud optimization. Applications can have trillions of configurations, and it is not humanly possible to efficiently tune these configurations. Opsani was developed to save CFOs money and developers time and stress. Opsani’s AI can provide application reliability so you can count on the best configuration being deployed, all at the lowest cost. To learn more about optimization you take a look at this blog What Is Optimization And Why Is It Important? For more Kubernetes tips, take a look at our ebook The Essential Guide to K8s Optimization