Title
w

white-balloon-205

06/20/2018, 4:21 AM
The
@pulumi/cloud
library in particular is designed to be high-level abstractions which could be created on multiple different cloud platforms. But that's just one kind of library that can be built. Things like
@pulumi/aws-serverlesss
and
@pulumi/aws-infra
provide helpful higher level abstractions that are still specific to AWS but making common patterns much easier to use.
b

blue-answer-29496

06/20/2018, 4:36 AM
So I guess the scripts know which cloud they are running on and branch based on the cloud?
w

white-balloon-205

06/20/2018, 4:42 AM
That's right - there is a
cloud:provider
config variable which can be set to decide which provider it will target. This is ultimately not entirely unlike deciding which
aws:region
you want to target - but just an even bigger switch. See https://github.com/pulumi/pulumi-cloud/blob/master/api/index.ts#L31 for the details.
b

big-piano-35669

06/20/2018, 3:31 PM
I also think of them as simpler abstractions to use, and not just LCD. Think .NET filesystem APIs versus Win32. Sure sometimes you need
kernel32!CreateFile
and
FILE_FLAG_OPEN_REPARSE_POINT
and so on, but usually
File.Open
does the job just fine. Just as in .NET, where you have P/invoke, in those cases where the high level primitives don't work, you can always drop down to the lower level cloud-specific APIs, even mixing them in the same program.
b

blue-answer-29496

06/20/2018, 3:33 PM
Yeah, totally. Seems like it could be awesome.
I would love to see a cloud object that created a Kubernetes cluster that just magically worked for each cloud provider and then you could easily add plugins like the dashboard through a line or 2 of code. Then people could have NPM packages for things like Elasticsearch and Postgres that would make adding them to your cluster super simple.
s

sparse-manchester-68940

06/20/2018, 4:44 PM
Hi Eric, for using NPM packages do you mean like adding postgres/ES clients or the servers themselves?
b

blue-answer-29496

06/20/2018, 4:48 PM
For packages that make it easy for app developers to use those things in their stack.