In the age of digital transformation, our engineering cloud infrastructure team at Juniper was challenged with increasing demands to deliver modern cloud native technology stacks that would accelerate development life cycles, build automation for faster turnaround of software testing and improve engineering productivity. As many teams are facing similar challenges, we thought it would be helpful to share our best practices learned during the process.
Applications that can deliver digital transformation are increasingly containerized for more agile development, integration and deployment while maintaining stringent performance, security and cost expectations. Considering this, we quickly identified Kubernetes as an efficient way to schedule, manage and dynamically orchestrate those containers with its scale up/scale down capabilities and highly automated environment, but also realized that it does require deep management and tuning expertise to be most effectively deployed. As a first step in the evaluation process, we identified five critical requirements that are common across many enterprises:
- Automation: The team wanted to make sure they could deploy in an automated fashion to minimize manual intervention and rework.
- Enterprise-level reliability, availability, and scalability to meet strict SLAs 24×7 with a follow-the-sun, global cloud operational model.
- Easy integration with existing data center storage, networking, and security solutions. We wanted to have a new solution that would integrate seamlessly with our current infrastructure footprint.
- Seamless Upgrades: Overall, we had concerns about our ability to keep up with the volume of Kubernetes upgrades that happen regularly. Given our prior experience with a number of other platforms, we didn’t want to be left with hard-to-upgrade technologies and lost time.
- Leveraging innovation without a large staff: Additionally, we wanted to leverage the innovation and flexibility of open source projects and communities without the pain of managing the software life cycle ourselves. At the scale that we were looking to implement Kubernetes, we would have to hire a fairly large team with the requisite skills and expertise. And, we quickly realized Kubernetes expertise is hard to come by and retain.
As with many enterprises, we studied several potential approaches, including DIY, commercial Kubernetes distributions, and managed Kubernetes as a service. After a close evaluation, we determined that only a managed Kubernetes service would match our requirements. The key benefits we identified included:
- Faster Time to Market: Managed Kubernetes enabled us to drive digital transformation and faster time to market by providing a flexible, scalable, on-demand infrastructure for the DevOps and CI/CD pipeline.
- Smoother Upgrades and Open Source Innovation: Taking a maintenance window for a nonstop Kubernetes offering is very disruptive. Managed Kubernetes’ rolling upgrades capability avoids disruption and down-time. This also provides all the benefits of open source innovation on a continuous basis.
- Lower TCO: Lower Kubernetes engineering personnel costs, strategic personnel redeployment and enhanced operational simplicity helps enterprises like us achieve significant TCO savings when compared to competitive solutions.
- Day-2 Operations Simplification: Managed Kubernetes, with its SLA-backed service, addresses our focus on running managed Kubernetes 24×7 in an efficient way.
- Faster Time to Value: Had we attempted to implement Kubernetes by itself, it would have taken six to 12 months to reach production stage with global deployments. A managed Kubernetes solution achieved this in just a few weeks.
Many organizations may still naturally shy away from open-source technologies. However, with the increasing availability of a next-generation SaaS management plane architecture, there are now resources that provide the operational simplicity and ease-of-use of public clouds while simultaneously delivering the most open environment using upstream Open Source cloud-native stacks, e.g., Kubernetes, Prometheus, Istio, and OpenStack. This makes it easy to standardize and scale operations across the infrastructure.
Working in a SaaS model, we now have access to a central operational console and a single pane of glass for all Kubernetes clusters, no matter their location. As a result, we no longer have to worry about the operational burden of up-time/SLA management, upgrades, security patches, and production outages. For us, a managed Kubernetes solution has proven to be the best of both worlds.
Feature image via Pixabay.