Thursday, July 5, 2018

Make Existing Apps Faster, More Scalable, And Cost Effective To Operate With Stacksmith, Kubernetes & Spotinst

Written by Ido Bar Oz, Director Strategic Partnerships at Spotinst

Kubernetes is one of the hottest topics in the IT industry at the moment. As you have learned in Spotinst’s previous blog post about the state of the Kubernetes ecosystem, many companies offer solutions around container-orchestration. In this blog post you will learn how to use Bitnami Stacksmith to package an application for Kubernetes, then leverage Spotinst’s Elastigroup to reduce compute costs, while maintaining high availability of that application as it runs on your Kubernetes cluster.

What is Kubernetes?

Kubernetes is an open-source container orchestration system for automating deployment, scaling and management of containerized applications. Originally designed by Google, Kubernetes was born from a need to run cloud-native applications on a massively scaled network, and that’s exactly what it enables its growing user base to do. The demand for platforms that can run web-scalable workloads means Kubernetes is increasingly under consideration by IT engineering teams, and many are choosing to adopt it.

Bitnami Stacksmith – Automating Application Packaging and Simplifying DevOps

Bitnami Stacksmith removes the complexity associated with packaging and maintaining your applications for today’s cloud and container platforms. Stacksmith does this by utilizing sophisticated tooling and automation that Bitnami has developed over its many years packaging open-source applications and run time environments for all the major cloud providers.   Supply your application code and scripts, select the appropriate template and a few parameters, and hit create. Stacksmith then automates the packaging of your application, optimizes it for your target, and delivers everything you will need to deploy it.

But the benefits of Stacksmith don’t stop when the application is deployed. During the packaging process, Stacksmith documents the components and dependencies that go into your application.  Armed with this, Stacksmith continuously monitors trusted sites for new releases and security updates to these components, and alerts you when they become available. It also provides a simple way to re-package your application to incorporate the updates, to ensure your applications stay up-to-date and secure. 

Stacksmith is an end-to-end tool that automates and simplifies development and IT operations tasks associated with packaging and maintaining your applications for the cloud. 

Kubernetes and Stacksmith

Bitnami Stacksmith works by providing a set of pre-defined application architectures using “templates”. When packaging applications for Kubernetes, Stacksmith will create a Helm chart and a container with all the necessary dependencies for that application. This means that customers can deploy Kubernetes applications in a matter of minutes, and are able to enjoy all the benefits of Kubernetes without having to go through the complex task of containerizing their environment themselves.

Containerization Simplified – What’s the Next Step?

Using Stacksmith can help to alleviate the complexities surround creating a Kubernetes environment, but once the environment is created, what comes next? Often, managing the underlying infrastructure of Kubernetes workloads can be an unwelcome, complex and time-consuming task. Spotinst Managed Container Service (MCS) can remove this unnecessary demand on developer teams.

Spotinst MCS allows customers to run their containerized environments without having to think about the infrastructure layer of servers their containers are running on. MCS provisions, manages and scales infrastructure underneath various containerized environments, including Kubernetes. With Spotinst MCS’s simple import process, all that is needed to migrate Kubernetes workloads to the Spotinst platform is to import the ASG that was created by Stacksmith into Spotinst Elastigroup.

Through dynamically scaling infrastructure and smart container packing to fit the need of customer workloads, MCS doesn’t only automate the infrastructure management but also considerably improve the efficiency of the environments.
Spotinst MCS smart scaling activities:

  • Headroom – a buffer of spare capacity (in terms of memory and CPU) will be provisioned to make sure that there is no need to wait for new instances when scaling up whilst simultaneously ensuring instances won’t become over-utilized.
  • Smart Scaling Down – Spotinst Elastigroup will monitor the cluster for idle instances which remain underutilized for a specified amount of consecutive periods. Once identified, MCS will find spare capacity in other instances, drain those instance tasks and reschedule those on other instances before terminating the idle instance.
  • Tetris Scaling – Elastigroup records the events written when an Kubernetes task is pending and analyzes why they are yet to be started (i.e. Insufficient Memory / CPU, No Ports Available, etc.). It will then spin up instances inside the customer’s cluster to accommodate for the incoming tasks.

Cost Reduction for Spotinst MCS

Spotinst MCS doesn’t only fully automate the provisioning and managing of the underlying infrastructure for Kubernetes environments, it also significantly reduces their costs – by as much as 80%. Spotinst MCS utilizes Spotinst Elastigroup technology to spin up the infrastructure on Spot Instances instead of On-Demand Instances, reducing costs by as much as 80% whilst utilizing predictive analytics to ensure availability.

Spotinst Elasitgroup uses both real-time and historical data to predict Spot Instance terminations or price increases and, once these events are predicted, Elastigroup will preemptively and seamlessly migrate customer workloads to a different Spot Instance of either another instance type or across AZs. If no suitable Spot Instance is found, Elastigroup will automatically fall-back to On-Demand Instances, meaning that customers can enjoy a 70-80% cost reduction whilst still enjoying a 99.99% SLA – the same SLA as provided by AWS.

Through using Bitnami Stacksmith to deploy containerized environments and Spotinst MCS to handle the instance management for the containers, you can spin-up containers and have them running with significant cost reductions all without increasing demand on your developer teams. To see this process in action, you can register for Bitnami and Spotinst’s joint webinar here!

Original post located here.