Home / Companies / Pulumi / Blog / September 2018

September 2018 Summaries

5 posts from Pulumi

Filter
Month: Year:
Post Summaries Back to Blog
This post is the third installment in a series on the Kubernetes API, focusing on diagnosing why a Pod might not be getting traffic in a Kubernetes deployment and introducing the diagnostic tool kubespy. It provides an insightful exploration of common issues such as service existence, Pod readiness, DNS reachability, and kube-proxy functionality, which can affect the flow of traffic to a Pod. The post highlights the functionality of the kubespy trace command, which automates the process of checking certain key factors in real time, offering a clear view of a Service's lifecycle from creation to public exposure. The tool, derived from Kubernetes support developed for Pulumi, aims to simplify the deployment of applications on Kubernetes by providing concise, real-time insights into resource statuses. The post encourages experimenting with different service types and observing the effects of deployment changes, while hinting at future expansions of the tool's capabilities to cover more aspects of app rollouts.
Sep 26, 2018 847 words in the original blog post.
Pulumi's use of TypeScript for cloud infrastructure development is praised for its robust type system and early error detection capabilities, which enhance productivity. A core innovation in Pulumi's programming model is the introduction of a complex type system that allows for expressing dependencies as a type called Input<T>, which encompasses various data states like promises and dependency information. This flexibility benefits data producers but can complicate data consumption, leading to cumbersome code structures known as the "programming Pyramid of Doom." To address this, Pulumi developed an advanced TypeScript function that recursively unwraps all layers of these complex types, simplifying code by converting deeply nested data into more manageable forms. This solution leverages TypeScript's advanced features like Union, Mapped, Conditional, and Inferred Types, allowing for expressive and type-safe handling of intricate data dependencies. The implementation not only reduces code complexity but also maintains TypeScript's type-checking support, significantly improving code readability and maintainability.
Sep 19, 2018 1,175 words in the original blog post.
The first installment in a series about the Kubernetes API introduces kubespy, a tool designed to provide real-time insights into the status changes of Kubernetes objects, particularly Pods, as they are deployed and managed within a cluster. Highlighting the functionality of kubespy, the post describes a step-by-step process of deploying a simple nginx Pod using either Pulumi or kubectl, and details the four distinct status updates observed: writing the Pod definition to etcd, scheduling the Pod on a node, creating the Pod by pulling the container image and setting up necessary configurations, and finally marking the Pod as Running once the container is successfully initialized. The post also encourages experimentation with kubespy by inducing errors and exploring different configurations, while hinting at deeper complexities such as the precise meaning of a Pod's "Running" status and the influence of settings like restartPolicy, which will be explored in future posts.
Sep 18, 2018 703 words in the original blog post.
Kubernetes has emerged as the leading platform for running containers in various cloud environments, supported by major cloud providers like Google, Microsoft, and Amazon. Pulumi for Kubernetes offers a solution for creating, deploying, and managing Kubernetes applications using familiar programming languages such as TypeScript, JavaScript, and soon, Python and Go, which simplifies the traditionally complex Kubernetes configuration process. The platform addresses challenges like the "Wall of YAML" and "Mountains of Bash" by offering a more streamlined, code-driven approach that reduces boilerplate and enhances productivity. Pulumi's integration with multiple cloud services enables users to manage diverse infrastructure needs with a consistent workflow, facilitating sophisticated cloud-native scenarios through its single CLI command and end-to-end deployment orchestration. The platform supports GitOps workflows and continuous delivery, aiming to make Kubernetes more accessible and enjoyable while lowering the barriers to entry for developers and DevOps engineers.
Sep 12, 2018 958 words in the original blog post.
Pulumi offers a cloud-native infrastructure as code solution that enhances the deployment and management of Kubernetes applications by utilizing familiar programming languages instead of traditional YAML configuration files. This approach simplifies application authoring, increases expressiveness, and reduces boilerplate, enabling developers to define Kubernetes applications and their configurations programmatically while integrating cloud services. Pulumi supports multi-cloud infrastructures by allowing the declaration of cloud resources alongside Kubernetes ones, facilitating the management of cloud-native deployments with tools like Envoy, Prometheus, and Helm Charts. It provides robust software delivery capabilities, enabling sophisticated continuous deployment workflows, gated rollouts, and dependency-based updates, ensuring repeatability and auditability. Pulumi's integration with IDEs, its ability to handle complex orchestration tasks, and its flexibility to incorporate existing YAML configurations make it a versatile tool for managing modern cloud-native applications.
Sep 12, 2018 5,030 words in the original blog post.