#DaysOfArm (7 of X)

This is my seventh #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 which I focus on R and RStudio.

The scale of the A1.Flex Compute Shape from a single OCPU to 160OCPUs is an opportunity for workloads that have that kind of fluctuation. Something that was brought to my attention and hence this learning was around R. Hence, I took a run at getting RStudio up and going on Arm. Note – time-boxed experimentation. How far can I get to the outcome of standing up an instance of R and this get going and productive. The process of elimination was a standard process now.

Is there a simple downloadable installation
that suited the platform natively on arm64?

This was a simple conclusion. Heading to the RStudio site and specifically the download page (here) and it was “No“. That being said, if all you want is R its available directly in most of the repositories. As I installed this with Oracle Linux 7.9, the yum repository had 3.6.3 already available. This was pretty easy. RStudio / RServer to provide a browser web-based user interface was a little harder. So, I had to find alternate sources.

Is there a simple build process
that suited the platform natively on arm64?

Maybe.

I went looking for the source to build. This is more complex. I found the source (here) on github. This link is better than the more from the RStudio site because that was hard-coded to v1.4.1717 however on github you can get v1.5+. From there the README / INSTALL / Jenkin files / docker directory / CMake seemed ok. Not having built this from source, this was something to discover. “I’m sure plenty of people have done this before.” Going off the standard documentation in the INSTALL and README, it was less obvious. Through this process, I found a series of things in the stack.

  • different dependencies – QT SDK, Boost, GWT, Gin
  • different build platforms – CMake, Ant, gcc, java, yarn

There was a docker build server to compile. This looked promising but there wasn’t an arm64 version. Taking the closest one being the centos-7, another set of issues. @TODO – convert this to OL 7.9 as a base image and see where that leads me.

I had to stop what I was doing (spending a couple of hours and a few more after that too). This is where I got to. It felt like a vortex of discovery “Alice in Wonderland” style. I didn’t know how long it might take to get to the end (or even if I would get to the end). If anyone has any feedback or suggested reading, I’m keen to hear about it.

Is there a simple docker soution?

Yes. I found this solution first both searching on docker hub and github. With other things that we wanted to explore, I wanted to check out the native build process. What I found myself doing was stopping (and timeboxing myself) to deploy the docker image. I ran this up and I’ve got it going – it sits on the standard 8787 port. Mounting the volumes it needed to the host meant that I can pass files in and out of the image.

The other things to explore that where we are:

  • secured authentication
  • secured access
  • external data resources

At least, it’s up and running and we can explore more about the different opportunities and not just stuck with the one thing which is “getting it up and running“.

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 jason.lowe@oracle.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.

Author: Jason Lowe

I am passionate about how organisations adopt IT quickly and sustainably to achieve a specific and measurable outcome. This thinking is supported through lean IT practices in operational support and project delivery, and adopting these practices with Oracle technologies by creating sustainable platforms. I'm also interested different perspectives and drivers - from enterprise to start-ups, academia to commercial to public sector, cost-sensitive (risk) to value-driven (reward) - all of which influences decisions that organisations make. I have a passion for community and have been called "a connector" - meeting new people that are trying to solve valuable and hard problems and connecting them with others that can validate and help realise their full potential. I've supported different organisations like TADHack and Hacking Health as a global organiser. I'm is a persistent blogger on medium.com and redthunder.blog and on LinkedIn - https://www.linkedin.com/in/lowe-jason #CommunityMatters #ItTakesAVillage

One thought on “#DaysOfArm (7 of X)”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s