As one of the subscribers, I can confirm that I’m satisfied with the product. And looking forward to each edition of America’s finest news source.
HN user
aChrisSmith
Author of "Programming F#" and all around nice guy.
Ex-{ Pulumi, Google, Microsoft, AWS }
In case any of your colleagues have a mysterious "illness" today and/or seem sleep deprived tomorrow, this is probably why.
I can see how this has the potential to disrupt the games industry. If you work on a AAA title, there is a small army of artists making 19 different types of leather armor. Or 87 images of car hubcaps.
Using something like this could really help automate or at least kickstart the more mundane parts of content creation. (At least when you are using high resolution, true color imagery.)
An acronym for “working from home”.
Yup!
And in addition to making it easier to manage cloud resources by defining that state in a programming language, Pulumi can do other interesting things with your resource graph too. For example, analyze resources and check that they are compliant with security best practices and what not. https://www.pulumi.com/docs/get-started/crossguard/
It’s a bit more involved than that…
Suppose you wrote a program to go and create your cloud infrastructure. Using AWS’ APIs you write an app to spin up a VM, setup a load balancer, and provision a database. You run your program, it works like a charm. Now you have all the infrastructure setup just the way you want it!
The problem is what happens when you want to _update_ that infrastructure? The program you wrote, using the aws.CreateVM(..) and aws.CreateLoadBalancer(..) API calls is no longer applicable. Instead, you probably want to use a different set of APIs, like aws.UpdateVM(…), to update your existing cloud resources. For example, change some port settings on your load balancer. So your app needs to be smart enough to check if the resources already exist, and if so, update them. Otherwise, create them fresh.
And it gets even worse. What if you want to create some new resources, such as attach an SSL certificate to your load balancer… but still keep all of your existing infrastructure as-is. Or what if you want to update an IAM usage policy that is already in-use by several other resources… Somehow your app needs to know the impact of that change, and how it will ripple out across other cloud resources.
Does that start to make sense? You don’t really want a “wrapper” for cloud APIs. You really want something that allows you to effectively describe your cloud infrastructure, and “make it happen”. And leave the specifics of “how” as an implementation detail… accomplished by a cloud provider’s APIs.
That is what Pulumi does — and other Infrastructure as Code tools, like Terraform. It provides you a way to describe your cloud infrastructure in a programming language, so that every time you run your app it will make the cloud reflect that target state. It will:
- Create resources if they don’t exist. - Update existing resources if they do. - Delete any resources that you no longer need.
I work at Pulumi and am happy to go into details about the joys of not dealing with cloud APIs directly, and just using Pulumi :)
Doesn't that mean that the program will need privileged credentials?
Obviously whatever program is actually creating the cloud resources will need credentials to do so. However, they aren't part of the Pulumi program.
When you run `pulumi update` on your machine (or on a CI/CD server) Pulumi will pick up whatever ambient credentials are on the machine. (e.g. ~/.aws/credentials.) So if you to restrict the credentials used to update a particular Pulumi stack, you just need to swap out whatever the current credentials are. (e.g. an AWS_ACCESS_KEY_ID env var.)
How do you make sure the app only has, say, read access to an S3 bucket it needs to listen to, and can't accidentally delete it? And how does that then allow it to declare the bucket?
There are a lot of good questions there, so let me show you a quick example:
```typescript const imagesBucket = new aws.s3.Bucket( "images", { bucket: "example.com-images", acl: "private", }); ```
This snippet will create a new AWS S3 bucket named "example.com-images". It also sets the default ACL for the bucket to "private". Nothing too surprising there.
If you wanted another resource to have read access to that bucket, you would need to configure AWS to grant access. The Pulumi programming model is about how you declare/describe/create resources, but not actually define policy for how they work. So when using AWS, you would potentially need to create an `aws.iam.Role` / `aws.iam.RolePolicyAttachment` object and hook them up. (Or, if using Azure or GCP, configure access using some other method.)
So in short, to configure what _cloud resources_ can read/write other _cloud resources_, it's a matter of how the cloud resource provider exposes that.
When it comes to matters like preventing you from accidentally deleting the resources when you run `pulumi update` on a program, there are a few features that can help you with that. You can mark a resource as `protected`, so that any update that would delete that resource would produce an error. (Until you update the program again, making that resource as not protected.) Also, the `aws.s3.Bucket` type has a `forceDelete` parameter, that does something very similar. Unless set to true, the Bucket object cannot be deleted. (Thereby preventing some accidental dataloss.)
Does that make sense?
Hi! I work at Pulumi and have been using it to standup and manage all of our service infrastructure.
How does Pulumi keep track of which services are launched, especially during testing/development
Each Pulumi program is ran within the context of "a stack". The stack is essentially a collection of cloud resources. So when the Pulumi program runs, it will create resources that aren't in the stack, or update existing ones.
So if you create any resources during dev/testing, you just need to `pulumi destroy` those stacks and all of the cloud resources will be reclaimed.
This, IMHO, is one of Pulumi's best features. In that it makes it super-easy to create your own instance of a cloud application. For example, I have my own development instance of app.pulumi.com by just creating my own Pulumi stack and rerunning the same application.
How does it determine the optimal size of instances/volumes/etc to launch?
It doesn't. The Pulumi program ran determines what resources to create. So you are left to configure, tune or tweak that as makes sense.
Does it really? Valve is extremely profitable because of their particular role in the video games industry. But outside of Steam, is the company really a role model for success?
Is Valve's latest "new" IP DOTA2 successful when compared to the other set of MOBAs that have come out over the past few years?
Have Valve's forays into VR and hardware been successful compared to other companies in the space? e.g. the Vive, Oculus?
Looking at Steam itself, has the service dramatically improved since launch? Certainly there have been a lot of good incremental updates, e.g. two-factor auth. But the Apple App Store has seen a lot more updates in terms of search, discoverability, etc.
I am not an expert, and may have my details wrong about Valve. But I don't think the company has been especially successful outside of being the only game in town for buying AAA video games online.
Your body reacts to the sweetness and produces insulin, which when not paired with actual sugars, turns into fat. This is known as "Insulin Resistance" (http://en.wikipedia.org/wiki/Insulin_resistance)
I'm pretty sure the secret to creating a good search engine isn't the speed at which you sort data.
If you judge your success by fidelity with your competitor's product you will NEVER win. The only way they can possibly gain double-digit market share is if they actually do something different/disruptive.
IMHO "metro style" isn't a differentiator.
This looks essentially like Economic dumping. Nokia is _giving_ phones away in order to game market share, and using this "PR coup" as cover. It's a good strategy, but I certainly do not thing this is corporate benevolence.
OP here. For some reason nobody gets the point that it was a joke. While you could argue about the merits of the statement, the blog post on whole is just for entertainment.
This reminds me of the "Windows Live Hotmail" fiasco.
Annoying as all the brand vacillation is, this move looks like it is in the right direction.
As a friendly reminder, you can click 'flag' for posts that aren't germane to Hacker News discussions. (Though I don't know why there isn't a flag link for this post.)
From Google's privacy policy, they anonymize IP addresses after 9 months, and strip out any cookie information after 18 months. So I don't think many of the author's claims actually stand up.
Am I missing the story here? Man makes billions in income and has to pay billions in taxes?
Something that most people miss is that at least part of what makes Google search so good (and Bing for that matter) _is_ the tracking.
Without the ability to track some user behaviors the quality of the search results would be impacted.
For example, if you click on a link and then immediately hit Back and perform a different query, you can infer that the link wasn't all that useful.
I don't like the idea of Google being "creepy" either, but I'm gladly willing to send them at least some of my data if it means I can get a better experience.
I think it might be too early to pass judgement. I would hope that over time Google releases sample applications, better widgets, and so on to take care of the boilerplate. (Similar to HTML "grab and go" type sites.)
I'm confused why Microsoft would sponsor something like this. Google going after game developers and getting them to port their apps to HTML5 makes sense, as it supports the Web as a platform as well as promotes the Chrome Web Store.
Is the plan that the Windows8 App Store feature Chrome Store-style URLs-as-applications?
This is interesting, but why is this on Hacker News?
Sadly, it's ironic to get advice which reads "AVOID DISTRACTIONS!" while participating in HN, the biggest distraction I have.
For a company of 92,000+ people I am sure there are at least a few C and D-level people in charge of MSDN content.
However, for a company of 92,000+ people, I would have also assumed there would be a standard tool or process for doing this sort of thing.
Edit: updating employee totals. Holy crap MSFT is big.
I hate to be a negative Nancy, but if STM was going to take off it would have by now. Is there something I am missing?
Captain obvious says, "Sometimes people get it wrong, even smart ones."
I would be surprised if the Chinese government _didn't_ stipulate that the social network would have back doors for "official business".
No. Remember the article talked about poaching students right out of college. $90k a year isn't much for an experienced developer, however right out of college (and at the time) that was 10-20k more than they could expect joining another company.
+1 for "dumb people say dumb things". Unless you realize this when participating in internet citizenry you'll likely fall into the trap of saying equally dumb things.
Since when did TechCrunch become a tabloid?