CloudProfs Issue 13: Kubernetes special!

This is issue 13 of CloudProfs, published to subscribers on October 22.


NEWS

Red Hat has taken the opportunity at KubeCon to release a series of updates to various tools for OpenShift, including OpenShift Pipelines, OpenShift GitOps and the Red Hat build of Quarkus. OpenShift Pipelines further integrates into software development lifecycles, automating updates to be applied across all environments. With the latest OpenShift GitOps, developers can enable greater code security through practices that define where, when, and how updates can be made via Git. Red Hat has also introduced new virtualization features into OpenShift 4.9. The UI will now include Migration Toolkit for Virtualization (MTV) as the choice tool to import virtual machines to OpenShift Virtualization. Source.

Meshery, a utility tool for managing the performance of services and the meshes which run them, has been adopted by the Cloud Native Computing Foundation (CNCF). Meshery, from Layer5, currently supports 10 different service meshes, including AWS App Mesh, Istio, and Linkerd. Among Meshery’s features include performance management – for workloads on/off service meshes and inside/outside Kubernetes clusters – configuration and lifecycle management. Layer5 CEO Lee Calcote said the company was ‘on a mission to see that organizations [were] successful in their operation of the world’s next layer of cloud-native infrastructure.’

Alibaba Cloud unveiled a slew of updates this week, alongside open sourcing some of its tools. Its primary launch was the Yitian 710, a new, proprietary, ARM-based cloud-native processor. The company will use it to power the Panjiu servers for its own cloud infrastructure.  Among the open source releases this week include various RISC-V CPU cores. These include the C910, C906, E902 and E906. The Yitian 710 is designed by T-Head, an Alibaba subsidiary, in whose GitHub the open source components also reside.


RESEARCH REPORT: DATA ON KUBERNETES 2021

Another new report on cloud-native technologies has landed, this time from the Data on Kubernetes Community (DoKC), an openly governed group of practitioners sharing in the emergence and development of techniques for the use of K8s for data.

The report, which polled more than 500 Kubernetes users, aimed to explore the types and volume of data-intensive workloads being deployed in the platform, as well as benefits, challenges, and factors driving further adoption.

90% of respondents stated their belief that Kubernetes is ready for stateful workloads. More than two thirds (70%) said they were already running these workloads in production. Half of respondents said they were running 50% or more of their production workloads on K8s. Organizations which have progressed furthest report 2x or greater productivity gains.

Survey respondents were not just restricted to developers. CIOs, CTOs, VPs and directors of IT were quizzed, citing the wide-ranging impact of data on Kubernetes. Overall, the targeted demographic ratio was 45% for executives, 35% for practitioners and 20% for managers.

More than two thirds (68%) of those polled said they were ‘very likely’ to migrate additional production workloads to K8s in their organization, compared with 26% for ‘somewhat likely’ and 5% for ‘not very likely.’ Yet more than half (54%) of organizations said they only began using Kubernetes in the past 12 months.

When it came to specifics for stateful workloads which orgs run on K8s, databases (50% cited) was the most popular, ahead of persistent storage, streaming/messaging, and backup/archival storage (all 45%). For those organizations designated as Kubernetes leaders in the study, databases were cited by 61%. Consistency (45%) and standardization (40%) are the name of the game for reasons to run stateful workloads on Kubernetes. For leading organizations, standardization was noticeably more important, jumping to 50%.

Regarding the ‘stateful challenge’, lack of integration with existing tools was seen as the biggest issue, cited by 35% of respondents. 32% cited a lack of interoperability with their current stack. Vendor issues also came to the surface, with respondents complaining of solutions only solving niche needs, or the fact that few solutions exist at all. When it came to the benefits of using Kubernetes operators, simplified management (50%), scalability (49%) and improved application lifecycle management (49%) were the biggest boons. Yet, in one of the report’s clearest findings, a lack of quality operators (44%) was cited as the primary reason for those who are not ready to run stateful workloads in production.

Standardization was a recurring theme of the report, and a mitigating factor for many respondents. As the report puts it – ‘when done well, it drives Kubernetes adoption; when absent, it slows it.’ While stateful workloads are pervasive, indicating maturity, standards are required to bring operators to a level of quality which enables greater consistency.

“Signs point to a future where organizations can standardize, or further standardize, on Kubernetes for data-intensive workloads,” the report concluded. “This may be driven by industry standards and exemplified by declarative data and similar concepts. It will undoubtedly encompass the world of data technologies (persistence, streaming, analytics), data infrastructure (storage, security, networking), and data governance (policies, protocols, access) and require contributions from everyone; achieved with open communities, open standards, and open source.”

You can read the full report here (no email required).


WEBINAR OF THE WEEK: GOOGLE CLOUD ON GETTING STARTED WITH KUBERNETES

By Apurva Kadam

User difficulty level: Beginner

Three out of four firms use Kubernetes in some form – an astonishing 78% of respondents – according to a report from the Cloud Native Computing Foundation (CNCF).

As part of KubeCon, Google published Getting Started with Kubernetes on Google Cloud, a webinar series on its Cloud On-air platform to encourage the adoption of Kubernetes. In Introduction to building with Kubernetes (60 minutes: unlisted video link) Kaslin Fields teaches audiences about Kubernetes. Don’t let the title put you off however; there is plenty of vendor-neutral best practice available here.

With the help of an illustrative case study on Uptime Flowers, a hypothetical online flower store that is looking to transition from monolithic architecture to microservices, Fields explains all the decisions that companies take leading up to employing Kubernetes.

In terms of learning, Kubernetes still holds an air of mystery. It is the most rapidly adopted tool, but a dynamic shift from physical servers to serverless means that many companies are still playing catch-up. They want to swap their monolith server system for microservices to get on the cloud and into the future but still struggle with fully grasping Kubernetes.

The webinar explains the basics of the Kubernetes architecture along with the key components of Google’s Kubernetes Engine. As a foundation, it explains the pros and cons of a microservices architecture and how Kubernetes helps deal with certain cons. The webinar covers the distinctions between monolithic versus microservices architecture as well as virtualization versus containerization that make Kubernetes the popular choice to orchestrate containers at scale. For the cloud-novice audience, this online seminar explains these terminologies in detail.

TIMESTAMP: Monoliths (02:23) / Virtual Machines (03:03) / Containers (03:33) / Microservices (03:33)

What makes Kubernetes so desirable is its declarative configuration function. This means that a user just declares the state in which the container must exist, and the Kubernetes engine automatically makes it happen. Kubernetes also allows for imperative configuration so that a user can input commands to achieve the final state, but this process is time-consuming and not conducive to scalability.

Kubernetes features support for both stateful and stateless applications, autoscaling, resource limits, extensibility, and portability. Kubernetes’ ability to run on any cloud service provider without a vendor lock-in is one of its most sought-after benefits.

The webinar details various components within Kubernetes and outlines their function within the container environment. These include Clusters, Control Planes, kubeAPI server, nodes, pods or workloads, commands as well as the roles of etcd, kube scheduler, kube cloud manager, kube control manager, kubelet, and kubelet proxy.

Google’s Kubernetes Engine provides managed services to help companies transition from monolithic architecture to containerized-microservices using Kubernetes. The webinar details the benefits of GKE at a managed cloud service provider capacity.

Kaslin also describes how the migration of a monolithic system takes place using what is called the strangler fig pattern. It is named after the strangler vine which grows around a tree slowly decomposing and finally killing it. The migration process explained using the Uptime Flowers case study describes how the monolith is transitioned into a pod first. This pod still behaves like a monolith therefore monolith containers need to separate into individual containers in the next phase. These containers still reside within a single pod until the final phase where individual pods are created. After the transition, container(s) rest within pods and share resources. With Kubernetes, there is the added benefit of the fail-safe that any existing architecture converted to a pod in Kubernetes can be switched back to its original state in case of malfunction. This process can take place at a pace which is agreeable to the company – a swift or steady decomposition of the monolithic server into a microservice.

Whether you are a Kubernetes greenhorn or just looking for a refresher on Kubernetes architecture this webinar is highly recommended. Not only does it cover the basics, but it also provides a business perspective to convince the C-suite into adopting Kubernetes.

FULL TIMESTAMP LIST:
06:19 Microservices as a solution – pros and cons
13:26 Running a monolith on a single VM
15:31 Running microservices on multiple VMs
16:57 Running microservices in multiple containers
18:40 Containers
23:02 Container structures
26:59 How containers are created
30:00 Introduction to Kubernetes
33:15 Kubernetes features
34:47 Kubernetes architecture
42:20 Google Kubernetes Engine
46:26 Case study migration to microservices


THE ECLIPSE FOUNDATION CLOUD DEVELOPER

100% of cloud developers surveyed by the Eclipse Foundation said their employers allow them to use open source technologies for software development – although almost two thirds (62%) have some restrictions in place.

The survey, which interviewed 319 cloud developers across four countries (US, UK, France and Germany), explored how flexible developers were in their use of tools, how open source continues to drive innovation, and future platforms of interest.

Overall, 84% of developers polled are using public cloud environments, compared with 64% in private cloud and 32% on-premises. More than two in five (42%) said the majority of their most critical applications were cloud-native, with 31% saying it was an even split between cloud-native and on-prem.

For on-prem applications in terms of rebuild or rearchitect, it was a relatively even split; 23% said their organisation is looking to completely rebuild cloud-native versions of on-prem apps; 36% are porting or moving on-prem apps to the cloud; and the same percentage are rearchitecting or refactoring.

This advanced approach has not quite made its way to integrated development environments (IDEs) yet. More than half (57%) of those polled said they still used desktop IDE environments. Only 53% said they used IDEs, compared with code editors (69%) and text editors (35%). Of cloud IDEs, Google Cloud Shell Editor (49%), AWS Cloud9 (44%) and GitHub Codespaces (26%) were the most popular. Generally, developers are split as to whether they use an IDE based on the organisation’s primary cloud provider, or whether they use an open source option which allows them to customise.

In terms of how cloud developers are seeing their future, this is how the survey respondents replied to statements on open source:

  • Open source technologies allow my team to focus on building features that matter to my company (71% agree) vs. Open source technologies require too much maintenance and cause more problems than they solve (29%)
  • Open source solutions easily integrate with our current stack (63% agree) vs. Open source solutions require too much work to integrate with our environment (36%)
  • I would like to see my company invest more in open source (74% agree) vs. I do not want to see my company invest more in open source (24%)

To summarise how developers worked, 61% said they would use whatever development environment was the best fit for the task at hand. Just under half (48%) believed  the tools they used for app development would change ‘dramatically’ as their organization moves to cloud, with slightly more (51%) believing their patterns will mostly stay the same regardless of hosting options.

When it came to cloud tool integration priorities, monitoring was the key feature, cited by 46% of respondents. Unit testing (35%), debugging (34%), and observability (32%) were also prominent. For future projects, the developers polled were most interested in edge computing (49% of respondents) and AI/machine learning (48%).

The report suggested that developers performing non-developer tasks will lead to IDE consolidation. “More and more front-end developers are working on more and more advanced developer and non-developer (especially data) tasks, including AI/ML and traditional ops tasks,” the report noted. “As successful technologies build out API plugins, they will focus on the most heavily-used tools, at the expense of others.”

You can read the full report here (email required).


SECRET KNOWLEDGE AND HIDDEN GEMS

A cool selection of recent (or recently updated) cloud repositories and tools across vendors and languages. Got a tip or are you working on a project you want the world to know about? Email the editor today!

KUBERNETES-FLAVORED

BONUS! Kube by Example (KBE): A set of free Kubernetes learning resources, developed by Red Hat. “KBE lessons emphasize an ‘absorb by doing’ approach so you can practice skills as they are explored and explained to learn Kubernetes.”

BRAND NEW! Gokp. A proof of concept (pre-pre-Alpha) centred around getting a GitOps aware Kubernetes platform on Day 0. The idea being that the end user just needs to start committing to the proper directory to further configure the cluster. Primary language: Go (95.6%)

Deckhouse: An open source platform for managing Kubernetes clusters in a fully automatic and uniform fashion. Allows you to create homogeneous Kubernetes clusters anywhere and fully manages them. Latest release: v.1.25.5 (Oct 15). Primary language: Go (65.7%)

Kbrew: A CLI tool for Kubernetes which makes installing any complex stack easy in one step – inspired by Homebrew from MacOS. Latest release: v0.1.0 (Aug  3). Primary language: Go (87%)

KubeLibrary: A RobotFramework library  for testing Kubernetes clusters. Latest release: v0.5.0 (Oct 3). Primary language: Python (54.6%), RobotFramework (43.7%)

Teleport: Certificate authority and access plane for SSH, Kubernetes, web applications, and databases. Latest release: v.7.3.2 (Oct 20). Primary language: Go (75.6%)

ELSEWHERE THIS WEEK

NEW! Frisbee: A cloud-native testbed for exploring, testing and benchmarking distributed applications. Primary language: Go (96.6%)

NEW! GreyOS: A whitepaper which proposes a new kind of OS and the ‘era of the cloud computer.’

NEW! Terraform-provider-multispace: Implements resources to help work with multi-workspace workflows in Terraform Cloud (or Enterprise). The goal of the provider is to make it easy to perform cascading creation/deletes in the proper order across a series of dependent Terraform workspaces. Latest release: v0.1.0 (Oct 17). Primary language: Go (88%)

NOW OPEN SOURCE! PolarDB-X. A cloud-native distributed SQL database designed for high concurrency, massive storage, complex querying scenarios. Primary language: Java (98.9%)

Leave a Reply

Your email address will not be published. Required fields are marked *