Kubernetes Deployment tool
Kubernetes Deployment tool

Team HyScale released v0.9.7 and v0.9.6 with few minor updates. These releases come with the following improvements:

v0.9.7 Release Updates:

Features:

  1. Installer support for Mac & Windows
  • In this release, the Mac & Windows user is no longer required to install additional software, Java11 as a prerequisite to use HyScale. Users can benefit from simplified installation for both OS.

2. 1.17 cluster support

  • User will now be able to deploy into 1.17 Kubernetes clusters

3. Structured output for hyscale deployments

  • Prior to 0.9.7, during deployments, the output workflow was a streaming activity. With structured output enabled, it is returned as a JSON output to the end-user which in turn helps them to integrate hyscale commands into their CI/CD workflows, scripts, etc. …

Security can no longer afford to be at the end of the DevOps process. It needs to be integrated into every step of both development and operations to eliminate vulnerabilities before the application is shipped. In essence, DevOps needs to evolve into DevSecOps.

Would you be surprised if we told you that a whopping 92% of DevOps teams don’t catch all security vulnerabilities before moving the code to production? We are sure most of them are glad they found the vulnerability before someone else did. …

Most enterprises aspire to move to Kubernetes to avail the intended benefits of containers — cost, portability, scalability, and more. But, in reality, migration brings with it several complexities. In our experience, to ensure smooth deployment of apps to K8s, we’ve seen application teams need two things — Abstraction & Automation.

As your enterprise application grows in complexity and as you scale out your K8s adoption to more apps, you start to stare at a long, tedious process of migrating these apps, troubleshooting errors and maintaining large amounts of K8s manifest yamls. These necessitate an automation platform that provides an App-centric Abstraction experience to overcome the complexities of K8s., …

Simplified Kubernetes troubleshooting with the help of app-centric abstraction
Simplified Kubernetes troubleshooting with the help of app-centric abstraction

Imagine this. You have just crossed the hurdle of deploying your app onto Kubernetes successfully. You build a docker image, push the image to docker hub, do the security scanning, run through several unit tests, and finally hit deploy. Before you catch your breath, your ops team notifies a bug, or Kubernetes pod running but not ready or an error with the cluster.

So you thought deployment to K8s is the complicated part, here comes troubleshooting to prove you wrong.

As most of us know, deployment failure messages on Kubernetes are complex and not intuitive for debugging. Users need to identify the errors from pod logs, pod events(describe pod), pod status, etc. Developers spend a lot of time and effort demystifying the cryptic messages K8s throws up, perfectly valuable time that could have otherwise gone in building core functionalities of the application. …

Image for post
Image for post
HyScale — An app deployment tool to Kubernetes

Team HyScale released a new version v0.9.5 this week. This minor release comes with the following improvements:

  1. Support for multi-stage dockerfiles

With this version, users will be able to provide their multi-stage dockerfiles as input in the service hspec. Users can specify the “target” stage up to which HyScale should build the image before proceeding for deployment.

2. Easier options for environment profiles

The users can now specify the profile name to apply (“-P <profile-name>”) for all services being deployed instead of individually specifying the profile file for each service. …

Image for post
Image for post
#app2k8s

Kubernetes is the technology that ran production workloads for Google for over fifteen years. Since then, it has been open-sourced, and hundreds of members of the community have come together to make it better. There is no doubt that Kubernetes is a production-grade container orchestration system.

Yet, one of the most common misconceptions about Kubernetes adoption is that if it works on dev / QA / staging, it’ll work on prod. This is hardly ever true. Firing up a k8s environment and deploying your microservice to it for dev / QA / staging is simple and relatively developer-friendly. …

The biggest difference between the declarative and imperative approaches to programming is the answer to the question: “Who does it serve?”

Image for post
Image for post
Photo by Markus Spiske on Unsplash

The biggest difference between the declarative and imperative approaches to programming is the answer to the question: “Who does it serve?”

The imperative approach, which outlines how a machine needs to do something, serves the machine. It aligns itself with the operational model of the machine and tells it how it needs to do something.

For instance, let’s say you are writing a program to pick out all the vowels from this sentence, calculating the sum of elements in an array, you’d write this:

int sum=Integer.MIN_VALUE;for(int i=0;i<arr.length;i++) {
sum += arr[i];
}

A declarative approach, which declares what you want, serves you, the developer. You tell the machine what you need and the rest gets done. …

Enhancing developer experiences with Kubernetes

Image for post
Image for post
App to k8s

More often than not, developers just want to write clean, secure, maintainable code for their applications. No developer ever said, “the best part about my job is writing the k8s manifest for deployment”. In fact, you’ve heard the opposite. Developers often complain about time lost in deployment — writing stateful-sets, PVCs, config-maps, and other things.

Developer experience concerns around Kubernetes are not new. In a recent New Stack survey, over 17% of the community said that developer experience should be the top area that the core Kubernetes project needs to address.

But what do developers want?

Independence: Self-Service Deployment

If there’s anything that bugs a developer, especially one in an agile team, it’s waiting for a DevOps engineer to provision the infra and set up the environment. Having to wait for this is not just a hit on productivity, but also overall motivation and effectiveness. Let’s say a developer is debugging something and wants to test in a different environment. If the DevOps team has an SLA of two days to enable that, they’re unlikely to persist. They might try to debug within the resources available to them. This can be constraining. …

Image for post
Image for post

Errorlessly deploying a modern application to the cloud is, more often than not, a Herculean task. To undertake that journey one release cycle after another, and reach your goal every single time, you need something which is high-performing, dependable and consistently successful. While VMs continue to be the poster child, containers and microVMs are looking to lead the coming era.

The Ever-So-Reliable Virtual Machines

A virtual machine, as VMware famously defined, is a software computer. …

Image for post
Image for post
The journey from app2k8s

In the containerized world, a developer needs to be more than ‘just a developer’. In order for the cloud-native application to run smoothly and efficiently, DevOps needs to function right — which often means that developers will need to do more than just programming. They need to understand the infra and make the code work on that infra — for instance, in addition to code-level dependencies, they now need to worry about environment-level and system-level dependencies too as part of their day job.

The uphill task of upskilling

Developers — especially seasoned ones — often find this the most challenging part of adopting Kubernetes. A good developer before Kubernetes needed to know application-level coding and how to package them. But a developer today needs to understand k8s architecture, ReplicaSet, ConfigMaps; and be able to build a container image, do rolling upgrades, monitor the application in k8s, etc. …

About

Team Hyscale

Thoughts, learnings, and musings from the team behind HyScale, an open-source tool for app deployment to Kubernetes. More at https://github.com/hyscale

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store