I have my docker image for microservice-x build on rpi
My dockerfile looks as below
FROM raspbian/stretch
....
This image runs on RPi .However if I wish to launch the docker image on AWS instance which Amazon Machine Image (AMI) type should I use ?
For AMI I will recommend using AWS ECS docker optimized AMI (AMR).
Amazon ECS-Optimized Amazon Linux 2 AMI (ARM)
Amazon EC2 Container Service makes it easy to manage containers at
scale by providing a centralized service that includes programmatic
access to the complete state of the containers and Amazon EC2
instances in the cluster, schedules containers in the proper location,
and uses familiar Amazon EC2 features like security groups, Amazon EBS
volumes, and IAM roles.
Amazon ECS-Optimized Amazon Linux 2 AMI (ARM)
For instance You can use Amazon EC2 A1 instances.
Amazon EC2 A1 instances deliver significant cost savings for scale-out
and Arm-based applications such as web servers, containerized
microservices, caching fleets, and distributed data stores that are
supported by the extensive Arm ecosystem. A1 instances are the first
EC2 instances powered by AWS Graviton Processors that feature 64-bit
Arm Neoverse cores and custom silicon designed by AWS.
You can find more in this article
Docker & ARM demonstrated the integration of ARM capabilities into
Docker Desktop Community for the first time. Docker & ARM unveiled
go-to-market strategy to accelerate Cloud, Edge & IoT Development.
These two companies have planned to streamline the app development
tools for cloud, edge, and internet of things environments built on
ARM platform. The tools include AWS EC2 A1 instances based on AWS’
Graviton Processors (which feature 64-bit Arm Neoverse cores). Docker
in collaboration with ARM will make new Docker-based solutions
available to the Arm ecosystem as an extension of Arm’s
server-tailored Neoverse platform, which they say will let developers
more easily leverage containers — both remote and on-premises which is
going to be pretty cool.
building-arm-based-docker-images-on-docker-desktop-made-possible-using-buildx
amazon-ec2-systems-manager-adds-raspbian-os-and-raspberry-pi-support
Forgot to notice that Ubuntu server 16.04 AMI type supports both X86 and ARM architectures
Related
I am using fargate with elastic container service.
I see there are pricing of both x86 and arm for fargate so I assume that I would be able to choose between x86 and arm when I am creating a service with launch type fargate.
But I couldn't find an option to choose between x86 / arm when I am creating a service with launch type fargate. What I can see from the console is ability to select operating system (Linux, Window Sever 2019 Full and Window Server 2019 core)
How can I choose between launching fargate with x86 or arm?
There are screenshots of the ECS console on the official blog.
Announcing AWS Graviton2 Support for AWS Fargate – Get up to 40% Better Price-Performance for Your Serverless Containers | AWS News Blog
I am building a Windows AMI from a base Windows AMI with my custom software on it.
If I distribute this image to customers, am I infringing some ToCs? How does it work given that Windows is proprietary?
You can share your AMI's, and you are not infringing on any ToC's:
Amazon EC2 enables you to share your AMIs with other AWS accounts. You
can allow all AWS accounts to launch the AMI (make the AMI public), or
only allow a few specific accounts to launch the AMI (see Sharing an
AMI with specific AWS accounts). You are not billed when your AMI is
launched by other AWS accounts; only the accounts launching the AMI
are billed.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-intro.html
When you share it with your customers, and they launch the AMI, they are billed by AWS and part of that bill is to pay the licensing cost as needed.
You will not violate any TOCs. AWS itself promote custom AMIs which are highly useful for business continuity plan.
For open-source software, they will work at run time, and for licensed software, only a copy of the software will be installed and the end-user will have to apply their license to make it work! Thus it shouldn't be an issue.
Since you're building a Windows AMI, do use Sysprep tool. It is highly useful in removing unique information from the Amazon Elastic Compute Cloud (Amazon EC2) Windows instance, including the instance security identifiers (SID), computer name, and drivers. Duplicate SIDs can cause issues with Windows Server Update Services (WSUS), log-in issues, Windows volume key activation, Microsoft Office, and third-party products.
Can IBM Integration Bus((and /or Websphere message Broker) be implemeted on AWS ? Can my on-premise ESB be migrated to AWS Cloud ?
Thanks in Advance
AWS EC2 allows importing VMs into an AMI then you can start an EC2 instance using that image. If you are new to AWS you can check the link below
https://aws.amazon.com/ec2/vm-import/
However, you should be careful about IIB license and how many machines you can install it on before regesting the AMI in a launch configuration and create an autoscaling group and set a scaling policy that can start instances more that what you purchased.
That's very much possible. There are several possible approaches.
1. IIB on EC2
Installing and configuring IIB on an EC2 instance is very much similar to doing the same in on-premise servers. Only difference is that the physical server is in AWS Cloud. While this approach gives you maximum flexibility to design your architecture any way, it does not take advantage of the basic features of the cloud.
2. Quick Start
IIB is available for deployment under AWS Quick Start. You can read more about this here. This helps you get started quickly by setting up the entire environment in a few clicks. But, if you're planning to migrate your existing architecture to AWS, this may not suit you as the architecture is pre-defined with limited options for customization.
3. IIB on Containers
ACE 11 provides better support for containerization. You can read more about running IIB 10 on containers here and ACE 11 on containers here. After this, the containers can be deployed into fully managed containers such as AWS Elastic Container Service or your own container configuration such as Docker on EC2.
Yes of course, AWS provides the IAAS and you just install whatever you want inside. Make sure you open ports, use specific credentials for the instalation (dont use admin) and everything should work.
IBM also provides docker images of integration bus v10 and APP Connect Enterprise v11. This is true for all their integration tools, MQ, API Management and more.
Not restricted to AWS.
I am trying to sell my product on AWS Marketplace and got stuck on the registration form on the question 'How is your product fulfilled?' and it gives me the option of 'AMI' and 'SaaS'.
What is the difference between AMI and SaaS?
AMI means that you just have an OS image (stored under your account) that your users can "clone" by starting their own instances:
AMI is the acronym for Amazon Machine Image. An Amazon Machine Image (AMI) is an image of a server -- including an Operating System and often additional software -- which runs on AWS.
SaaS means that you start and control instances yourself and users use software running on those servers without having access to the internal server environment.
How do AMI and SaaS compare? Amazon answers that question explicitly:
Both AMI and SaaS (Software as a Service) product listings are from trusted vendors. AMI products run within a customer's AWS account. You retain more control over software configuration and over the servers that run the software, but you also have additional responsibilities regarding server configuration and maintenance.
As Amazon Web Services mentions,
An Amazon Machine Image (AMI) is a special type of pre-configured
operating system and virtual application software which is used to
create a virtual machine within the Amazon Elastic Compute Cloud
(EC2). It serves as the basic unit of deployment for services
delivered using EC2.
So AMI is a kind of virtual machine which we can use as a server to host our applications. So my questions are,
What are the limitations in AMI with compared to a normal server?
Can we install any software in the AMI?
AMI is not any server running; it is like a "backup of your server" on hard disk. Using this back-up you can bring up running servers instantly.
Concept of Imaging server is used in all IT companies. Suppose an IT companies give Windows 7 to new joinees with few pre-installed software. So, instead of configuring the laptop for every joinee; they will create an image and will just dump that image on new laptop and give it to new joinee.
Same Image when created on Amazon Web services is called as AMI. AMI is just an image of any server... It is something like you firstly make your machine ready ( with any operating system and all the softwares you need on them ) and then create an image out of it which is called as AMI.
To answer your questions;
1. Not sure what limitations you are talking about; but as such there is no limitation.
2. Yes you can install any software. To make things clear; you can even install a virus on the server ; and then create an AMI.