Now days with the adoption of Serverless architectures, microservices are becoming a great way to breakdown problem into smaller pieces. One situation that is common to find, is multiple backend services running on technologies like NodeJS, Python, Go, etc. that need to be accessible via HTTPS. It is possible to enable these internal microservices directly with SSL over HTTPS, but a cleaner approach is to use a reverse proxy that front ends these microservices and provides a single HTTPS access channel, allowing a simple internal routing.
In this blog, I am showing how simple it is to create this front end with Nginx and leveraging “Let’s encrypt” to generate trusted certificates attached to it, with strong security policies, so that our website can score an A+ on cryptographic SSL tests conducted by third party organizations.
Continue reading “Teaching How to use Nginx to frontend your backend services with Trusted CA certificates on HTTPS”
Recently I was in Auckland, New Zealand running an Integration in Action workshop and I used Alexa to trigger some of my APIs, including some NodeJS APIs that I built to take off a drone. Some people found this interesting and asked me to write this blog to explain in detail how it works… So, here it is, I hope you find it useful.
There are multiple ways in which you can make Alexa to call your own APIs. Perhaps the most versatile way is by adding a new skill (see: blog 1, 2). However I found an even easier way to do so, and in order to achieve the MVP approach I have been attempting to practice in my day-to-day life, I took this simpler option, which is simulating a Phillips Hue HA bridge. By doing so, Alexa detects a new Home Automation (HA) device in “her” network range and accepts voice commands to easily “turn it on” or “turn it off” which you can then leverage to call your own APIs.
Continue reading “Teaching How to Use Alexa to Take Off your Drone using NodeJS”
We were looking into some of the VM images that we have. Some of them were very useful but we were wanting to host them in the cloud for the upcoming workshops.
Ravello is a cloud service that allow you to import and manage your VMs or stacks of VMs on public cloud. The interesting part of this is that the service can use our cloud infrastructure or a third party cloud. Ravello manages the costs but also adds simple capability to manage your VMs better.
Here’s a quick guide to putting VMs (I did a VirtualBox image but it can be any type) in the Oracle Cloud with Ravello.
Continue reading “Getting Your VMs into the Oracle Cloud with Ravello”
Recently, I was challenged at work, to make my drone take off, using a simple voice command via “Alexa”. Given this challenge came from my boss, I decided to happily accept it. I ended up writing some simple NodeJS code that interfaces with my drone and used a series of new Echo skills and a Home Assistant bridge to easily command my drone to take off and follow simple orders, something like “Alexa, please take off my drone and make it back flip twice“.
After some hours and many coffees, I got to the point that I was done and ready to show my working demo. However, I needed to take my NodeJS code and put it somewhere in the cloud to run it. I had a few options, like deploying my code into Oracle Application Container Cloud Service, which runs NodeJS natively over docker containers, but given that I have done this in the past and I was in an “adventurous mode”, I decided to try something new.
I wondered how simple would it be to use Bitnami to spin up a new NodeJS VM in Oracle Public Cloud… Well, I was amazed how pleasant the experience was, so I decided to capture this excitement in a quick blog for you to try as well.
Continue reading “Teaching how to use Bitnami to deploy any Image into Oracle Public Cloud”
In a previous blog on OCCS, I covered the steps required to provision the service. As an input to the OCCS Service provisioning I was prompted to specify the number of worker nodes I required, which for my example I set to be two. Having provisioned the service, I can now start to build and run my Docker images on these worker nodes. As part of the provisioned service, I have a node dedicated to the Container Console which provides a nice web User Interface that allows me to Build, Deploy, Run and Manage Docker Containers on the worker node hosts that I provisioned as part of my service. The two worker nodes are the hosts that I will ultimately deploy and running the image of interest such as WordPress, MySQL, Oracle Database, Tomcat, Nginx, WebLogic Server or whatever you want pretty much. The Container Console makes it very easy to build, run and deploy images via a web administration console.
Continue reading “First experience Using the Oracle Container Cloud Service”
The cloud services are rapidly changing and are becoming easier all the time. This blog is an example of that.
One of the things that has changed is the network configuration of Oracle Java Cloud Service and Oracle SOA Cloud Service. It’s been a common task to create communication channels with these services to administer the environments. So that means creating specific security rules and typically it is a usual practice of creating different ports specific for the administration network traffic. Now, this already been done for you.
Continue reading “Network Channels with Java Cloud + SOA Cloud has become a little easier”
In December 2015, Oracle acquired the StackEngine, which provided (Docker) container management software and automation (DevOps) capabilities. According to Wikipedia, https://en.wikipedia.org/wiki/StackEngine – “The StackEngine model-based Docker management software provided an integrated DevOps solution for end-to-end container application delivery and operation, all with an integrated GUI dashboard, service discovery, scheduling, and orchestration functions. StackEngine could be deployed into any on-premise, hybrid, public, or private cloud environments and scaled across thousands of hosts enabling users to start in the lab and scale out to full production.”
In November 2016, Oracle announced the general availability of the Oracle Container Cloud Service (OCCS) which had taken the StackEngine capabilities and transformed them into a Cloud Service.
Continue reading “First experience – Provisioning the Oracle Container Cloud Service”
This section shows you how to create an SSH Key pair to be used to provision Oracle Cloud Services and later on to be able to authenticate via SSH connection from your SSH client.
Oracle Cloud services such as Oracle Java Cloud Service and Oracle Database Cloud – Database as a Service are built on top of infrastructure and functionality that are provided by Oracle Compute Cloud Service. When you create a service instance of one of these Oracle Cloud services, all the Oracle Compute virtual machines (VMs) required to support the service instance are provisioned and configured for you.
Continue reading “Teaching How to Create SSH keys for Oracle Public Cloud (OPC) access”
This section shows you how to use Oracle IaaS in order to create a new OEL environment. For this, it is assumed that you already have access to Oracle IaaS, if not, either go to cloud.oracle.com and request a trial account or contact your local Oracle representative directly.
Oracle VirtualBox allows running a machine image on a virtualisation layer. Given Oracle IaaS is itself a virtualisation layer (Xen based) you cannot simply install VirtualBox on an Oracle IaaS VM and upload your VirtualBox VMs. That won’t work, as you cannot run VirtualBox on top of a Xen based virtualisation.
Continue reading “Teaching how to run VirtualBox VM in a new Oracle IaaS Environment”
Object Storage Provisioning
Oracle Storage Cloud Service (OSCS) enables businesses to store and manage digital content in the cloud. Stored objects can be retrieved directly by external clients or by applications running within Oracle Cloud. A container is just a storage compartment that provides a way to organize the data stored in OSCS.
Oracle Public Cloud (OPC) uses OSCS storage containers to host the artefacts produced by the built-in automated backup feature.
Continue reading “How to Provision an Oracle SOA Cloud Service Environment – Storage”