This is my third #DaysOfArm article that tracks some of the experiences that I’ve had so far. And just to recap from the first post (here) on June 12 2021.
It’s been just over 2 weeks since the launch of Ampere Arm deployed in Oracle Cloud Infrastructure (OCI). Check this article out to learn more (here). And it’s been about one week since I started looking into the new architecture and deployment, since I started provisioning the VM.Standard.A1.Flex Compute Shape on OCI and since I started migrating a specific application that has many different variations to it to test it all out.
This is my next learning.
In terms of learning something new, I typically start from the bottom and learn how to build up from there. This is why with the fnproject.io (here) that I assume all that I have is the operation system – no packages, no dev tools, a simple command line and everything else I need to package up. That being said, it’s not the most efficient or most effective way of getting to where I need to.
And then in the OCI Console where I can provision Compute and where I can select my VM images, the default Platform Images has a Oracle Linux Cloud Developer image which was interesting.
This image has been built with developers in mind with different packages already installed so you can get moving quicker. Here is a link to the official documentation (here). As a point in time of my learnings, the image has the following things install.
- Java Platform Standard Edition (Java SE) 8, 11, 16
- GraalVM Enterprise Edition 21
- Python 3.6
- Node.js 14
- Ruby 2.7
- GCC 8 (default) and GCC 10 (with gcc-toolset-10)
- Go 1.15
- MySQL 8.0 Community Edition
- Oracle Instant Client 19.10
- Ansible and Oracle Cloud Infrastructure Ansible Collection
- Oracle Cloud Infrastructure Command Line Interface (CLI)
- Terraform and Oracle Cloud Infrastructure Terraform Provider
- Oracle Cloud Infrastructure Utilities
- Extra Packages for Enterprise Linux (EPEL) through Yum
- GUI Desktop with access through VNC Server
- Container tools module that provides Podman, Buildah, and Skopeo
- Eclipse IDE
This is a great place to get started and it’s been delivered through the OCI platform. So, if you are starting fresh, this is a good way to start.
I’m also mindful that different packages and framework, there are specific versions that have been tested and released. Hence, not all frameworks and packages are built with these specific versions. What I have found is that other versions of these frameworks are available and worth exploring further to know if what you need is also supported. For example, I’ve found these other languages are available to run on Arm64. I’m sure the list is longer but these are the ones that I’ve needed to work with for the fnproject
- Go – 1.15
- Python – 3.6, 3.7, 3.7.1, 3.8, 3.8.5
- Node – 11, 14
If you want to try this out yourself or work on your own application, sign-up (here) for the free Oracle Cloud Trial. I’d be interested to hear your experiences and learn from others as well. Leave a comment or contact me at email@example.com if you want to collaborate.
There’s plenty of work to make this more achievable for everyone. And hence sharing this knowledge is the reason why I’m writing this series – #XDaysOfArm. I’ll keep documenting as long as I keep learning.