May 2024 Summaries
7 posts from Pulumi
Filter
Month:
Year:
Post Summaries
Back to Blog
Software debugging is often considered the most significant challenge in development, impacting project timelines and scalability because its time requirements are unpredictable until the issue is understood. Pulumi offers an enhanced debugging experience for Infrastructure as Code (IaC) by providing breakpoint debugging capabilities within popular Integrated Development Environments (IDEs) like VS Code. This enables developers to set breakpoints and inspect the state of their code during execution, similar to traditional software debugging methods, thus offering a more structured and insightful approach compared to relying on unstructured logs or printf debugging. A detailed walkthrough exemplifies setting up a TypeScript project in Pulumi, configuring VS Code for a robust debugging workflow, and diagnosing an issue by examining variable states at breakpoints. Despite some limitations, such as lack of integration with the Pulumi backend or asynchronous nature of inputs and outputs, the approach significantly enhances the developer experience and can be applied to other languages supported by Pulumi, such as Python, Go, and C#. Pulumi also provides additional tools like logging for aspects not covered by breakpoint debugging.
May 31, 2024
3,105 words in the original blog post.
Pulumi, an open-source project for cloud infrastructure management, has achieved the milestone of 20,000 stars on GitHub, reflecting strong support from its global developer community. Since its launch in 2018, Pulumi has grown to include over 4,400 contributors, and its tools have been downloaded more than 100 million times. The project is notable for its integration with familiar programming languages and its robust set of features, including Kubernetes native support and the Automation API. Pulumi's roadmap is publicly shared to foster transparency and community collaboration, and it has consistently been a leading Infrastructure as Code (IaC) project, surpassing competitors like Terraform and OpenTofu. The company continues to innovate with recent additions like Pulumi AI and Go generics, and it encourages community involvement through initiatives like the Puluminaries, which offer developers opportunities for direct collaboration with its engineering team.
May 23, 2024
754 words in the original blog post.
Pulumi has introduced support for authoring Azure Deployment Environments (ADE) environment definitions, allowing developers to use Infrastructure as Code (IaC) to manage Azure resources efficiently. This integration enables developers to leverage the Pulumi IaC platform's capabilities to deploy and test cloud-based applications using familiar programming models, while maintaining centralized governance. ADE facilitates rapid infrastructure deployment through project-based templates and a user-friendly self-service portal. The collaboration between Pulumi and Azure has resulted in a standard container image that allows Pulumi programs to run seamlessly within ADE, and developers can customize environments using various programming languages or custom container images. This new capability enhances development processes by enabling streamlined provisioning of Azure environments, supporting collaboration, and ensuring secure, compliant deployments with features like centralized policy enforcement and CI/CD integration. Pulumi and Azure encourage developers to explore these new tools and resources, offering workshops and code examples to facilitate adoption.
May 21, 2024
959 words in the original blog post.
A new GitHub Action has been introduced to simplify the integration of Pulumi's OpenID Connect (OIDC) Trust feature into GitHub Actions workflows, enhancing secure authentication with Pulumi Cloud by using GitHub as an identity provider. This action enables users to streamline the authentication process by automatically retrieving short-lived Pulumi access tokens, thereby eliminating the need for long-lived credentials and reducing the potential for token leakage. The integration supports trusted OIDC identity providers, allowing for secure exchanges of short-lived tokens for temporary access to perform infrastructure deployments or retrieve secrets. This approach aligns with cloud security best practices and improves the maintainability and readability of workflows by automating the authentication steps, reducing errors, and making updates easier. The GitHub Action demonstrates its utility through an example that authenticates with OIDC to run the Pulumi preview command, encouraging users to explore its capabilities in their workflows.
May 20, 2024
380 words in the original blog post.
Pulumi Automation API allows developers to incorporate Infrastructure as Code (IaC) into existing software applications, such as REST APIs, using supported programming languages like TypeScript, Python, Go, or C#. This integration provides more flexibility and control compared to other IaC tools like CloudFormation or Terraform by enabling programmatic interaction with Pulumi stacks to create, update, or delete infrastructure. The API facilitates the creation of service APIs that can be exposed internally or externally, contributing to the API economy, where APIs are used to innovate and create new business models. Examples of organizations leveraging the API economy include Google with its Maps platform and other major brands like Amazon and Slack. Pulumi's Automation API can be used to build REST or gRPC API endpoints, which can be deployed on services like AWS Lambda or Azure Functions, and the API's implementation is demonstrated through examples in TypeScript and Python. Pulumi Cloud, a managed service, further simplifies the adoption of Pulumi's open-source SDK by offering state management and integration with CI/CD, enhancing infrastructure management and visualization.
May 15, 2024
3,489 words in the original blog post.
Pulumi stands out in the realm of infrastructure automation tools by leveraging general-purpose programming languages, granting users access to a broad ecosystem of packages, libraries, and modules that enhance productivity and flexibility. Unlike tools that rely on proprietary domain-specific languages, Pulumi allows seamless integration with existing language ecosystems, making it easier to perform tasks like determining MIME types for S3 file uploads, which can be cumbersome in other systems. By utilizing community-created modules, developers can streamline complex processes without writing extensive custom code, thereby reducing project overhead. Pulumi's approach empowers users to harness their preferred languages and tools, enabling them to automate infrastructure efficiently and creatively. Pulumi Cloud further augments this experience by offering a managed service with state and secrets management, integration with source control and CI/CD, and a user-friendly web console, making it accessible for both individual and team use.
May 13, 2024
1,665 words in the original blog post.
Pulumi has introduced a new feature, the --continue-on-error flag, for its pulumi up and pulumi destroy commands, which allows resource operations to proceed despite encountering errors as long as they are not dependent on the failed resource. This feature, available from Pulumi CLI v3.112.0 for pulumi destroy and v3.114.0 for pulumi up, ensures that the operations continue for resources that do not share the same dependency tree as the failed resource. The feature is designed to allow maximum resource updates or destruction without halting at the first error, while still respecting dependencies—resources that require a successful operation on the failed resource will not proceed. The introduction of this feature requires updated Pulumi SDKs for various languages to handle potential unknown values resulting from failed resources. This enhancement was highly requested within the Pulumi open-source community, and users are encouraged to try it and provide feedback.
May 09, 2024
572 words in the original blog post.