Home / Companies / Pulumi / Blog / June 2022

June 2022 Summaries

7 posts from Pulumi

Filter
Month: Year:
Post Summaries Back to Blog
Pulumi provides an efficient way to manage configuration settings across multiple environments and applications by integrating with AWS Systems Manager Parameter Store. This approach is particularly beneficial for larger teams or organizations that need to maintain consistency in configuration settings across various apps. By using Pulumi's stack references alongside Parameter Store, developers can store, encrypt, and manage API keys and database credentials centrally, allowing downstream applications to inherit these settings automatically. The process involves setting up a shared configuration stack in Pulumi, which defines and stores parameters in AWS Systems Manager, and then creating additional stacks that reference and utilize these parameters, facilitating both deploy-time and runtime configuration access. This method not only ensures secure handling of secrets but also allows for flexible and immediate updates to configuration settings without requiring redeployment of downstream applications. The blog post also highlights alternative solutions such as AWS Secrets Manager for scenarios needing additional features like secret rotation and auditing.
Jun 30, 2022 2,577 words in the original blog post.
Cloudflare Workers offers a serverless platform for deploying applications globally without managing infrastructure, supporting NodeJS, WebAssembly, and languages that compile to WASM. It provides features like 0ms cold start, automatic scaling, and 100k free requests per day, making it a compelling choice for edge computing. The article describes deploying a serverless URL shortener using Pulumi, with setup instructions for different programming languages and detailed steps for configuring Cloudflare accounts and API tokens. It explains how to use JavaScript for worker code, manage code separately, and handle domain connections with Cloudflare Zone. It also covers the creation of DNS records and setting up routes to direct traffic to Cloudflare Workers, emphasizing the importance of secure connections through HTTPS and proper DNS configurations. The guide provides comprehensive instructions for deploying a URL shortener with Cloudflare Workers and Pulumi, including code examples and configurations for different programming environments.
Jun 29, 2022 2,944 words in the original blog post.
Infrastructure as code (IaC) tools can be categorized into configuration management tools, like Ansible, Chef, and Puppet, which manage existing servers, and provisioning tools, such as Pulumi, Terraform, and CloudFormation, which handle the creation and modification of infrastructure. While provisioning has gained prominence in modern architectures utilizing containers and serverless technologies, configuration management remains crucial for legacy, on-premises, and hybrid environments. The two approaches complement each other, as demonstrated by deploying a WordPress server to AWS using Pulumi for infrastructure provisioning and Ansible for server configuration. This method illustrates the benefits of combining IaC tools, allowing for scalable and repeatable infrastructure deployment while accommodating both mutable and immutable infrastructure needs. The process involves setting up AWS infrastructure, configuring security groups, launching EC2 instances, and using Ansible to automate the WordPress installation, highlighting the synergy between provisioning and configuration management in modernizing cloud architectures.
Jun 27, 2022 9,639 words in the original blog post.
Drift detection is a crucial component in managing infrastructure as code (IaC) with Pulumi, as it ensures that the actual state of infrastructure remains consistent with the desired state defined in Pulumi programs. Drift occurs when unauthorized changes are made, leading to inconsistencies that can complicate automation and pose risks to an organization. To address drift, Pulumi offers strategies such as using the `--refresh` option during deployment, which updates the state file by comparing it with the current infrastructure but can slow down the process and potentially trigger unnecessary updates. To combat drift effectively, two main approaches are suggested: the workflow approach, which involves frequent scheduling of Pulumi runs via CI/CD tools to catch drift regularly, and the operator approach, which utilizes the Pulumi Kubernetes Operator to continuously reconcile the state at short intervals. Best practices for safe adoption of continuous drift detection include manually running `pulumi up --refresh` to preview changes, using protections for critical resources, ignoring changes on specific properties when necessary, and enabling delete-before-replace for certain resources. By integrating these strategies, users can maintain control over their infrastructure and minimize risks associated with drift.
Jun 16, 2022 1,225 words in the original blog post.
In a nostalgic reflection on the now-obsolete speaking clocks, once popular in the 1930s and used widely up until the mid-2000s, the author embarks on a project to create a modern, serverless version of this service using AWS and Pulumi. By taking a test-driven development approach with Jest, the author outlines the process of building a speaking clock that delivers the current time via an MP3 audio stream accessible through an HTTPS endpoint. This involves setting up an AWS Lambda function with a Function URL to expose it to the internet, using Google Translate's text-to-speech API for audio generation, and ensuring cross-origin resource-sharing (CORS) compatibility. The project serves as both a playful homage to vintage technology and a practical exercise in modern cloud infrastructure and testing practices, demonstrating how Pulumi and Jest can be effectively used to build and test serverless applications.
Jun 13, 2022 4,046 words in the original blog post.
The article explores how to use Pulumi Components and the Pulumi Automation API to streamline the process of provisioning customizable Kubernetes clusters across multiple cloud providers. By creating a custom Pulumi Component Resource called "ShinyCluster," users can abstract away cloud-specific implementation details, allowing infrastructure teams to manage Kubernetes clusters more efficiently. The guide provides a detailed walkthrough of setting up clusters with different cloud providers like Linode and Civo, and demonstrates how to use Pulumi's Automation API to automate the deployment of both the backend infrastructure and a frontend application. This approach reduces manual configuration and enhances consistency, making it easier to support multiple clouds and simplify codebase management for infrastructure and frontend service teams.
Jun 09, 2022 3,181 words in the original blog post.
Pulumi's introduction of YAML support opens up the possibility for integration with various programming languages, such as CUE, JSONNET, and Rust, providing a flexible interface for defining infrastructure as code. By using YAML as a bridge, developers can leverage CUE's capabilities for managing DNS records on platforms like Cloudflare, while JSONNET allows for the creation of functions to generate resources with default values. Additionally, Rust's meta programming features enable the creation of complex resource types using Serde for serialization, highlighting the potential to automate type generation through procedural macros by importing schemas from Pulumi providers. This advancement suggests a future where developing with Pulumi becomes more versatile and efficient, with the promise of further enhancements through automated type generation.
Jun 08, 2022 902 words in the original blog post.