5 ms·
On AWS, I always now use Amazon's Linux distro. They also maintain their own version of OpenJDK. As skeptical as I am about huge tech corps like Amazon, Google
by mark_l_watson 5y ago
On AWS, I always now use Amazon's Linux distro. They also maintain their own version of OpenJDK.
As skeptical as I am about huge tech corps like Amazon, Google, etc., I have to admit I enjoy being their paying customer - nice experience. I find GCP and AWS a pleasure to use.
- alexdong 5y agoAre there any quantities data for the performance comparison like they did for Aurora vs MySQL? Thanks
- takeda 5y agoWell, it is generally more likely to be tuned to AWS, containing right drivers and tools installed than a default distro you would download from the website, but the images that are available on AWS would likely also tuned similarly. If there are some issues where other image is noticeable worse they would look into AmazonLinux and apply the changes from it. I would say that AmazonLinux is likely to have less issues with latest instance types (if they change something "hardware" wise, for example when AWS started exposing EBS using NVMe drivers there were some issues originally).
- m0zg 5y agoHow do you develop for it though? Do you install it locally as well? Or do you only do interpreted languages and/or Java? I suppose Go would work across distros also (because it doesn't use libc), but that's all I can think of.
- shaicoleman 5y agoCurrently you have to launch an EC2 instance to test it. Once it's GA, they'll provide VM images and docker containers, so you'll be able to test it offline
- throwaway984393 5y agoYou should just develop your apps in/with/for containers. The container contains all the dependencies for your app. This way you never have to think about the host OS ever again; your app "just works" (once you hook up the networking, environment, secrets, storage, logging, etc for whatever is running your container). That sounds like a lot of extra work, but actually it's just standardizing the things you should already be dealing with even if you didn't use containers. The end result is your app works more reliably and you can run it anywhere.
- FpUser 5y agoWhy? I develop C++ servers for Linux. I have script that can build production server from nothing with all the dependencies needed, deploy database and then pull down source build executable run tests and install it as a daemon. I test if from scratch every once in a while just in case and did not have any troubles for years.
- dharmab 5y agoSome of us are systems/infrastructure engineers who have to build the intermediate layer. You can't just lay a dockerfile on top of a kernel and hope the system learns how to run it by osmosis. Yes there are services like Fargate but they're not cost efficient for many cases.
- throwaway984393 5y agoThe person was asking how they should develop their app to run on a particular host. If they need to run/deploy it, they can use the EC2 Instance Launch Wizard to set everything up in the console, log in and install Docker, use Docker.com to pull their container, and then run it. Or, like you suggest, they could use an AWS service to manage their container, like App Runner, or Lightsail, or EKS, EKS Fargate, EKS Anywhere, ECS, ECS Fargate, ECS Anywhere, ROSA, Greengrass, App2Container, Elastic Beanstalk, or Lambda. There are plenty of guides on AWS's website on how to use them. Cost is mostly irrelevant to the conversation, as you can run containers anywhere (other than, say, a CloudFlare worker); pay for any infrastructure you want and then run the container there.
- AviationAtom 5y agoMost folks have both dev and prod instances.
- kawsper 5y agoI use their images locally with Qemu, here's an example of an address to a qcow2 image: https://cdn.amazonlinux.com/os-images/2.0.20210721.2/kvm/amzn2-kvm-2.0.20210721.2-x86_64.xfs.gpt.qcow2 How does one find these links you might ask? Well, I haven't found a nice way other than this: Find the AMIs (newest last) $ aws ec2 describe-images --region eu-west-1 --owners amazon --filters 'Name=name,Values=amzn2-ami-hvm-*-x86_64-gp2' 'Name=state,Values=available' --output json | jq -r '.Images | sort_by(.CreationDate)' { "Architecture": "x86_64", "CreationDate": "2021-11-09T04:50:55.000Z", "ImageId": "ami-09d4a659cdd8677be", "ImageLocation": "amazon/amzn2-ami-hvm-2.0.20211103.0-x86_64-gp2", "ImageType": "machine", "Public": true, "OwnerId": "137112412989", "PlatformDetails": "Linux/UNIX", "UsageOperation": "RunInstances", "State": "available", "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "DeleteOnTermination": true, "SnapshotId": "snap-0f312650dadc31d95", "VolumeSize": 8, "VolumeType": "gp2", "Encrypted": false } } ], "Description": "Amazon Linux 2 AMI 2.0.20211103.0 x86_64 HVM gp2", "EnaSupport": true, "Hypervisor": "xen", "ImageOwnerAlias": "amazon", "Name": "amzn2-ami-hvm-2.0.20211103.0-x86_64-gp2", "RootDeviceName": "/dev/xvda", "RootDeviceType": "ebs", "SriovNetSupport": "simple", "VirtualizationType": "hvm" } From the information returned you have to stich the version numbers and filenames into this format: https://cdn.amazonlinux.com/os-images/2.0.20210721.2/kvm/amzn2-kvm-2.0.20210721.2-x86_64.xfs.gpt.qcow2 And if you did it right, you can now download the file.
- my123 5y agohttps://cdn.amazonlinux.com/os-images/latest/ https://cdn.amazonlinux.com/os-images/latest/ exists too. You'll also find VirtualBox, Hyper-V and VMWare ready images in there. (and also arm64 ones)
- coredog64 5y agoThe latest Amazon Linux and Windows AMIs are available as public SSM parameters: https://aws.amazon.com/blogs/compute/query-for-the-latest-amazon-linux-ami-ids-using-aws-systems-manager-parameter-store/ https://aws.amazon.com/blogs/compute/query-for-the-latest-am... ISTR there’s also an SNS topic you can subscribe to if you want to do something automatically on new AMI release.
- dilyevsky 5y agoIf I remember correctly Go does use libc by default if you link with net package (you can set CGO_ENABLED=0 to disable it but then you won’t get NSS). On openbsd it also switched back to using libc
- pjmlp 5y agoI guess like in the good old UNIX days, by ssh (nee telnet), browser (nee X Windows) into devenvs.
- abrookewood 5y agoJust be aware that it isn't a drop in replacement. We were using AWS Corretto (https://aws.amazon.com/corretto/ https://aws.amazon.com/corretto/) and had to back out because we had all sorts of connectivity issues in combination with Mulesoft Mule ESB. I suspect it was because Corretto deprecated a number of cipher suites, but we weren't able to determine for sure.
- 5e92cb50239222b 5y agoI doubt that. https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/patches.html https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/p... https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/patches.html https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/p... Looks like they change branding and nothing else. Maybe a backported bugfix here or there.