3 ms·
Thank you!! Perhaps what we mean by "implementation" is different here. We should probably make it more explicit in the docs. What I mean by "interface" is "My
by igorzij 5y ago
Thank you!! Perhaps what we mean by "implementation" is different here. We should probably make it more explicit in the docs.
What I mean by "interface" is "My stack needs infrastructure for 3 containers and 2 webapps and container A needs a Postgres DB and container B needs a queue"
In today's IaC, including Pulumi, you actually need to specify _which particular_ way of running containers, with all the configuration details. Same for database. That's implementation. Swtching languages doesn't make it any simpler.
Practical example:
The exact same stack can be run on one EC2 box via docker-compose, and on a Kubernetes cluster with managed databases. Same interface, different implementations. What Digger accomplishes is allowing to swap implementations at any time as long as the interface stays the same.
- jen20 5y agoThis isn't a good example. Switching languages does not make this simpler. Switching the _implementation_ of an interface does. For example, I could implement a "queue" interface three times - once for Confluent Cloud's Kafka, once for Kinesis and once for EC2 instances that run OSS Kafka. The interface remains stable, the implementation changes. This can also be done across clouds. I think it's worth you doing some more research into what Pulumi opens up before using it as an example like this in marketing material.
- igorzij 5y agoMassive thanks - noted!