This is going to be quick. This is not a “war and peace”. Over the next few days, there will be converging on the #SmartCities hosted by Hackmakers- Friday, June 4 – Tuesday June 8 (07:30 EST | 17:00 IST | 19:30 SGT | 21:30 AEST). You can find more details (here). There was an ask at the previous hackathon which was which instigated this piece of work:
The new platform will provide OCI native integration to provide operational insights into our OCI services in addition to previous capabilities available in Oracle Management Cloud. Logging Analytics is the first major Oracle Management Cloud Service to be incorporated, and so my fellow colleague @callanhp and I were itching to give it a go and see how we could implement it, so we chose the most available logs we could think of, the audit logs from the OCI control plane.
In this blog we will discuss the mechanics for forwarding OCI Audit Logs to the Logging Analytics service from the Oracle Cloud Observability and Management platform, and discuss how this pattern can be extended to other log sources.
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.
With everything that has been executed for the #WorldInnovationDay Hackathon, the primary focus has been to support the participants. Hence, I want to pay tribute to the participants and teams that we’ve been able to support along the way. Each person came into this event with a different goal in mind – some wanted to learn, some wanted to connect with others, some wanted to build a business. To continue with this support, this is my ask:
If you can help a team or an individual, please reach out.
April 16-19 saw people from across the world come together to focus on three Sustainable Development Goals (SDGs) at the #WorldInnovationDay Hackathon. This blog highlights the technologies used to help accelerate the team’s execution. If you want to read more about the event itself – check out this previous blog (here).
Over the course of the weekend, Oracle Cloud tenancies with $500 USD credits were provided to each participant to use. It was not mandated that they use Oracle Cloud nor was it given to participants automatically. It was encouraging to see people open to explore and learn with Oracle Cloud. I want to thank the Oracle mentors supported the participants ensuring that whilst the teams explored, they could confidently execute and deliver. Here are the common requests from teams and the cloud services that they used over the weekend.
What started on April 16th and finished on April 19th was the #WorldInnovationDay Hackathon. ~4000 people in attendance in Slack (organisers, mentors, participants and observers). At the time of writing this, there was the overpowering feeling of exhaustion and contentment with what has just transpired. (I will write another blog about some of the technology used). Let’s review some of what I saw as a Lead Mentor.
I’ll keep this short … I recently came across an update to one of the Oracle Cloud Infrastructure Quick Starts for WordPress. The specific addition that caught my eye was a micro deployment of WordPress – 1 x VM and 2 x Docker images (check out the repo here). I looked at that and thought:
This Terraform package would be good for Always Free Tier
Which it was, downloading the repository and created an Oracle Resource Manager Stack (learn more here) and applied the stack. And within minutes, I had a working instance of WordPress.
Yes – it is a single instance. Yes – I could have built something that was more secured. Yes – I could have built something that was more scalable – using MySQL Database Service or Oracle Kubernetes Engine.
But putting this altogether, I spent less than 10 mins on this and I can get going. And it is Always Free. The nice this is that I know that this model can expand as it requires (and only when I need to).
I thought about this for the upcoming hackathon too #WorldInnovationDay (https://hackmakers.com) where people are wanting a site to display their solutions. This is a way of doing it and keep it as part of their portfolio.
If you need an environment to try this out – head to the following link and sign-up. https://www.oracle.com/au/cloud/free/. If you are part of the hackathon, we are giving participants a promotion with $500USD credits into a new tenancy and no credit card. Try this out for yourself.
I’m ever fine tuning this for the purpose of getting things done. For this I’m purposefully looking at the DevOps side of the picture. There are resources and a lifecycle that is better suited with Ansible or other CI/CD frameworks / pipelines.
I’ve extended the existing Oracle Resource Manager (ORM) automation. Have a look (here) about what I’ve done with ORM such that I used Ansible to do a couple of things.
Here’s the architecture of the OCI Arcade extended with Coherence-CE
I was talking to Tim Middleton who works in the Coherence Development team the other day about different scenarios that we can work on some areas that demonstrate the scale out – two scenarios were obvious (to me) – Apache Spark was one and the other was Coherence – an In-Memory Data Grid.
And with that I built out the OCI Arcade to bring Coherence-CE (Community Edition) into the mix. There’s some lots of cool stuff that you can do with Coherence-CE and the bulk of the content is (here).
To get access to the OCI Arcade with Coherence – you can find these on a git branch in the repositories.
The simple use-case that we used Coherence-CE for was a simple identity key for the instance id (ie each game plays has a unique identifier). The nice thing was that it was all in Javascript. This following fragment was the only thing that I needed to do to integrate Coherence-CE into the app itself.
const opts = new Options()
opts.address = 'oci-cache:1408'
app.get('/id', (req, res) => {
var game_id = req.query.game_id;
var session = new Session(opts)
var map = session.getMap('oci-id')
setImmediate(async () => {
console.log('Map size is ' + (await map.size))
if ((await map.has(game_id)) == false) {
await map.set(game_id, { id : 1 })
res.send('{ "id" : 1 }');
} else {
res.send('{ "id" : '+(await map.invoke(game_id,Processors.increment('id',1)))+' }')
}
await session.close()
})
});
From the Coherence-CE cluster perspective – there’s docker images from docker hub already (here) that I could use for it. So replacing what I did previously with Kafka in the deployment architecture and putting Coherence-CE in its place was simple. (NB: There were some changes in terms of stopping events being fired to Kafka and also creating the instance id from this method instead of a Date.now() method. Simple things).
There’s plenty of different directions that we can go from here – session-based cache scenarios, high-availability scenarios, in-memory data processing scenarios. There are plenty to extend and learn from.
If you want to try this out yourselves, you can get an Always Free Tier environment – head to the following link and sign-up. https://www.oracle.com/au/cloud/free/.
We are providing to each participant access to Oracle Cloud Infrastructure (OCI) for the hackathon. The following resources are to make you effective with OCI.
Oracle Cloud Infrastructure
From past hackathons, we noticed a trend of what technologies and services are being used by the winning teams. Here are the top resources with some additional references.
For a single platform to store JSON, Graph & Spatial, perform ML or deliver Low-Code Apps, use Autonomous Database (here)
For establishing infrastructure with your OS of choice, use OCI Compute (here)
For Jupyter notebooks and ML packages, use Data Science Cloud (here)
For quick self-service and data visualisation, use Analytics Cloud (here)
For making sure everything is secured, use Oracle Security (here)
For most things you need for #AppDev, use Oracle AppDev (here)
Live Labs
You will need to learn quickly. These hands-on workshops will help you learn more about the services available.
For those who are interested in a single platform to store data (here)
There will be a series of workshops where we will be present on different OCI topics in the week leading up to the hackathon. Make sure you have these in your calendar so you don’t miss out.
And reach out on the #WorldInnovationDay Hack 2021 Slack workspace if you need anything from the team.