2019-08-23 14:22:47 -07:00
|
|
|
---
|
2023-06-02 21:41:36 -07:00
|
|
|
title_tag: "Pulumi vs. Cloud SDKs (AWS Boto)"
|
2022-12-13 15:19:37 -08:00
|
|
|
meta_desc: Learn about the major differences between Pulumi and cloud SDKs like AWS Boto and more.
|
2023-05-15 15:25:28 -07:00
|
|
|
title: Cloud SDKs
|
|
|
|
h1: Pulumi vs. AWS Boto and Cloud SDKs
|
2023-06-08 16:15:52 -07:00
|
|
|
meta_image: /images/docs/meta-images/docs-meta.png
|
2019-08-23 14:22:47 -07:00
|
|
|
menu:
|
2023-05-15 15:25:28 -07:00
|
|
|
concepts:
|
2019-08-23 14:22:47 -07:00
|
|
|
parent: vs
|
2019-09-10 08:04:15 -07:00
|
|
|
weight: 4
|
2021-09-14 07:48:43 -07:00
|
|
|
aliases:
|
|
|
|
- /docs/reference/vs/cloud_sdks/
|
|
|
|
- /docs/intro/vs/cloud_sdks/
|
2019-08-23 14:22:47 -07:00
|
|
|
---
|
|
|
|
|
|
|
|
The cloud providers offer SDKs in multiple languages, including AWS Boto (Python), and many unnamed libraries for
|
|
|
|
JavaScript, C#, Java, Go, and others. There are also many community-driven libraries that abstract over these
|
|
|
|
underlying libraries, either for cloud-specific or multi-cloud scenarios.
|
|
|
|
|
|
|
|
It's important to realize that these libraries are fundamentally different in their aim, compared to Pulumi. These
|
|
|
|
libraries give direct access to the cloud APIs and, though they can be used to provision resources, they leave it to
|
|
|
|
the programmer to do so reliably. Because these are imperative libraries, attempting to open code provisioning and
|
2023-05-15 15:25:28 -07:00
|
|
|
updates using them are error-prone (usually devolving into a [custom, homegrown provisioning system](/docs/concepts/vs/custom/).
|
2019-08-23 14:22:47 -07:00
|
|
|
|
|
|
|
Pulumi uses a true infrastructure-as-code to ensure robust management of resources. In particular, should an update
|
|
|
|
fail, your system is always in a well defined, recoverable state, compared to ad-hoc and manual recovery.
|
|
|
|
|
|
|
|
In fact, Pulumi internally uses such libraries when interfacing with the different cloud providers. It's all the
|
|
|
|
things on top -- the language runtime, the ability to diff updates, the concurrency management and robust checkpointing
|
|
|
|
of state -- that makes Pulumi different. If you wanted repeatable and robust deployments in a team environment, you'd
|
|
|
|
need to build all of this yourself on top of these cloud SDKs. And multi-cloud would require a considerable amount of
|
|
|
|
effort, and would be tantamount to building another Pulumi by hand.
|