@flaxking said in Yet another way Azure sucks:
@stacksofplates said in Yet another way Azure sucks:
@IRJ said in Yet another way Azure sucks:
@JaredBusch said in Yet another way Azure sucks:
When you want to delete a virtual machine, you have to clean up all the its manually.
There is not even an option to remove everything at once.
This is by design, because all your resources are separate. Companies that leverage Azure/AWS are not using the console to deploy resources for this very reason. Using infrastructure as code is the only way to go. Both Azure and AWS offer their own IaC at no cost, but you can use terraform as an open source before neutral deployment method as well.
Azure VMs and AWS EC2 are not VPS as you know. AWS does offer VPS style servers called lightsail. It's more affordable than EC2 and you would be able to delete with one click like youre used to doing. Of course you don't get all the other features like advanced networking, storage, etc.
We've been looking at Pulumi lately for IaC. I'm kind of over DLCs to write things and then having to wait for that DLC to support control flows. Just let the language your used to using do the work.
Coming from a company that only uses ARM templates, Bicep was the most exciting thing I saw at Ignite.
The scariest thing was using AR and Teams to remotely assist with surgeries. Teams didn't even work properly for that whole presentation.
Yeah I'm even kind of over things like Terraform.
With Pulumi you can do things like this:
import pulumi
import pulumi_aws as aws
def make_ec2(name: str):
size = 't2.micro'
ami = aws.get_ami(most_recent="true",
owners=["137112412989"],
filters=[{"name":name,"values":["amzn-ami-hvm-*"]}])
group = aws.ec2.SecurityGroup('webserver-secgrp',
description='Enable HTTP access',
ingress=[
{ 'protocol': 'tcp', 'from_port': 22, 'to_port': 22, 'cidr_blocks': ['0.0.0.0/0'] }
])
server = aws.ec2.Instance(name,
instance_type=size,
vpc_security_group_ids=[group.id], # reference security group from above
ami=ami.id)
pulumi.export('publicIp', server.public_ip)
pulumi.export('publicHostName', server.public_dns)
vms = ["test","myvm","things"]
for x in vms:
make_ec2(x)
You don't need to wait 6 years for the DSL to support for loops or if statements. And you can build in whatever scaffolding you want around it. Want to test your infrastructure? Include the same stuff in a testing suite. It's just much nicer overall.