Each of us will read this from our own perspective. Equally diverse are the outcomes and the actions that you might want to take away from this. So, I ask you: Be open. Find the opportunity. And execute.
This is something that we’ve built for the purposes of an infrastructure demonstration of Oracle Cloud Infrastructure (OCI). The code is available in an open public github repository and we’ve written articles on specific capabilities. We are open to collaborate in building more scenarios which allows this demonstration to scale.
We welcome you to the OCI Arcade
Part of what we do in the Oracle Cloud Engineering team is demonstrate capability. It’s about showing the architecture; the techniques; the capability and the difference scenarios of how it behaves. The common thread with most of this is creating a live experience with data. There is nothing better than showing technology on the move.
This is a shoutout to Stanislav Tanev (here) from the team. We discussed about his why that drove this passion. The number of datasets around purchase orders; customer sentiment; twitter feeds is well – boring. We wanted to try something new and this is the outcome of that passion.
I’m sick and tired of demonstrations; all of those boring business scenarios – they don’t engage with me
From some inspiration that Stan had, we latched onto the concept of using the game Pacman. The discussion turned very nostalgic – talking about our favourite arcade games; our first console; our favourite gaming moment. What’s yours?
There was lots of research – searching, playing; searching, playing; trying to see what games were out there that could accomplish the goal. “What game could I play for hours to generate data?” I found this Pacman implementation on github by Mason Borda (here) and it was fantastic for just this purpose.
We took this out to test with a few people. And the opinions were divided – Galaga was a popular choice as well as others like Battleship and Outrun. We knew that an individual game would not suffice and this is where OCI Arcade was born. The first game we worked on was Pacman. There are others in the repositories but half-baked including space invaders with a few other ones that we are considering too.
We’ve started with a few ideas about what to add to the architecture. It started off with Stan’s favourite – events and this list quickly grew to include analytics, APIs, microservices, serverless and then Kubernetes. This became a bit too much. We didn’t want to create another project to deliver this work, we wanted to see what we could build in our spare time and capacity. And more importantly, let’s build this quick to get it out there to get some real feedback and ultimately “generating” some data. What eventuated was a scaled down architecture which consisted of three components – APIs, Oracle Autonomous Database and the Pacman game.
Another principle that we wanted to promote was to give people the ability to get this going for free. The demo should be available for free and always free.
Why have a demo that was only available for those that consume Oracle Cloud Infrastructure paid services?
The architecture took a direction in using resources available in the Always Free Tier. Eventually with a few tweaks, we converged onto the following architecture.
For some of these components, there are paid Oracle-managed cloud services that enable developers and organisations to focus on delivering value. We have already started augmenting the demo in a few specific areas.
|Functionality||Always Free Tier||Pay-As-You-Go Tier|
|Exposing Public APIs||Node JS Server||API Gateway|
|Event Infrastructure||Kafka + Zookeeper||Oracle Streams|
|Application Integration||N/A||Oracle Integration Cloud|
And this is what the Pay-As-You-Go architecture currently looks like. If you are interested in this version, reach out and we can help.
Each component was built as a feature. And as such, there are lessons baked into the architecture. Here are just a few of them:
- Storing data and exposing REST APIs using Oracle Autonomous Database (ADB)
- Securing ADB REST APIs with OAuth security
- Developing serverless functions with FN project
- Configuring Infrastructure as Code (IaC) using Terraform
- Using Oracle Resource Manager to manage IaC
- Configuring DevOps automation with Ansible
- Cloud Infrastructure Scripting using Oracle Cloud Infrastructure APIs and SDKs
AND … this is not the first article that we wrote about OCI Arcade. We’ve already published several different articles with more to come:
- Oracle Resource Manager Overview (here)
- Converting a Compartment into an Oracle Resource Manager Stack (here)
- Building serverless using FN Project – (here)
- Implementing OAuth Security with Oracle REST Data Services APIs (here)
AND … the code for the OCI Arcade is publicly available in different repositories in github. Have a look for yourself.
- OCI Arcade Stack (here)
- Terraform Scripts to deploy OCI Arcade Stack (here)
- Ansible Scripts to deploy OCI Arcade Stack (here)
I’m cognisant that not everyone is interested in the whole stack and not everything was able to fit into the Always Free Tier. We’ve built out a couple of branches within this architecture:
- Event Driven Architecture with Kafka (on the kafka branch)
- In-Memory Data Grid with Coherence-CE (on the coherence-ce branch)
What is your favourite device, tech stack or framework? What is your passion? DevOps, security, business solutions, APIs, integration, analytics, data science, machine learning, appdev, web / mobile, data grids. We have yet to explore many scenarios including identity, security, analytics, integration and business solutions. These are all potentials.
We invite everyone to collaborate and
extend OCI Arcade with something that excites.
This is not just an opportunity for us to build something but to openly collaborate with others in the open. We want to collaborate. We want to have these repositories publicly available and have them extended with many different variations. What we have started with Kafka and Coherence-CE are just the beginning.
If you need an environment to try this out or to have a game or two – head to the following link and sign-up. https://www.oracle.com/au/cloud/free/.
And here is my ask – Comment; share; reach out; play; try it out yourself; give us feedback; add issues to the git repository; attend one of the Oracle Cloud workshops and get a trial; collaborate; if you have an idea, contact us; fork, clone and make it your own; add a new game; add a new API; add some analytics; change the user experience; this is all up for grabs.
Make this your own.
Let us know what you’ve done. And I’m happy to share your experiences with others as well. Reach out to me on LinkedIn (here) if you want to contact us. We are doing this together. Welcome (again) to the OCI Arcade.