and now for something completely different – building a quadcopter

Everything technical needs a diversion. This will be a log of building a quadcopter based on a class that I attended this weekend. The class is hosted by the Houston Hackerspace TxRxLabs. It is a two day class that results in a working quadcopter at the end of the class.

“Everything you need to know to start building your own multicopters. This is a hands-on class in which, by the end of the class, you will have built your own RC quadcopter.”

quadcopter

The pre-notes for the class can be found here. The most important thing to bring is a remote control unit similar to what is used for RC cars, boats, and planes. We purchased the Spektrum DX6 ($200-$300) from a local hobby shop in Houston. The majority of the class purchased the Taranis FrSky X9D ($300). The major benefit of the Taranis is that it is a 16-channel system rather than a 6-channel system for about the same price.

The instructor presentation is a good overview of the class.

The class started out with a discussion on where it is appropriate and not appropriate to fly drones. The best place to start flying is to fly on private property, local parks, or a certified flying field. There are places where you should not fly. www.airmap.io is a list of no fly zones. A good rule of thumb is nothing within 5 miles of an airport or over anything government facilities (state and local).
no_fly_zoneAlso keep in mind where you are flying and what would happen if you loose power. For example, don’t fly over a highway or places with large crowds. The quadcopter has weight and can travel upto 50 plus miles per hour.

www.meetup.com/sotexdug is a local drone flying club. www.rchouston.com is another local flying club but not specific to quadcopters. They rate and list local flying fields.

 One important thing to focus on is making sure that your propeller is not too heavy on one side. This will cause stress and instability and excess wear and tear on your motor. A prop balancer is a good investment ($20). Cheaper balancers are also available and can be used by hand ($6). It is important to get something that will work with a 9 inch prop. The props that we are using for this class are APC Composite 9×4.5 MRP props ($9 for two props).

To balance the prop you mount the prop on the balancer and watch which side drops to the floor. You can add weight to the top part of the prop using small clips of clear electrical tape ($4). propBalancer

In this example it took 3-4 small pieces of tape to get the prop to remain relatively level. It is important that the tape not get too close to the leading or trailing edge of the prop. The tape should also be placed on the inside edge of the prop and not on the outside edge. The inside edge is the edge where the air flow is at a minimum. This changes based on how you mount the prop on the motor and rotation direction of the prop. The tape is relatively strong and should stick.

tapeOnProp

The next discussion was around battery life, best practices, and recommendations. Try not to discharge the cell below 3 volts and don’t store them uncharged. Charge them before you put them away for the week. They will loose charge sitting in the bag and if you get below the minimum charge it will not retain as much charge in the future. We purchased the Lectron Pro 11.1 volt Lithium Ion Battery (2200mAh ($69 for three pack) and 3500mAh ($43 for one) batteries). You only need one but we got two so that we could extend the flight time.

A good tool to have is a lipo battery monitor that shows the quality of your battery ($8 for a pair). A good rule of thumb is to store the batteries in a cool location. An ammo can is a good place to store the batteries because bad batteries tend to do bad things (fire, explode, insert what you want here).

You will also need charger that is compatible with the battery that you purchase. We selected the Prophet Sport Li-Pro 35W Peak Li-Po Battery Charger ($30-$45). The charger has a 2S and 3S plug on the front. We will use the 3S connector because the batteries that we purchased are 3 cell batteries.

 Servos are something worth looking into. If you are going to mount a camera onto your quadcopter to help with navigation you will need to tilt your camera up when you go faster and level when you slow down. If you don’t tilt your camera it will be pointing into the ground and not in the direction of flight. Most servos operate at 4-6V DC. For a nav camera a small motor with a separate battery might be better. You don’t want to loose your vision or have vision draw too much current from the rotors.

The speed controller is what controls the rotation of the motors. They are driven by a pulse width modulation (PWM) signal from the remote controller. They work on 5V and typically draw 500mA but do generate a significant amount of heat if used over a long period of time.

When selecting a motor it is important to know the prop characteristics, the current draw, the rotational speed at nominal operations. There are a variety of motors that you can select as well as a variety of props. You can look at the wattage and current that is being consumed. A watt meter ($60) is a good tool to have to fine tune the prop and motor relationship. It is not necessary but good to have when designing a quadcopter.

When looking at a prop, it is important to make sure that all props are the same. Don’t mix and match props on the same quadcopter. When looking at a prop it has lettering and numbering on one side, a smaller hole and a bigger hole. The bigger hole faces the motor and the smaller hole with lettering is the outer edge of the prop. The numbers on the prop designate the size and pitch. In our case we have two 9×4.5 MR and two 9×4.5 MRP props. This is a 9 inch prop when measured from tip to tip. The 4.5 is the pitch of the prop. This combination designates the lifting power of the motor-prop combination. The P designation is for pusher and the non P designation is for pulling.

If you are designing your own new system a good rule of thumb is that the quadcopter should hover level at half throttle. Many prop manufacturers have charts that show thrust in grams with rotational speed and amps/wattage for different motor-prop combinations. You can hook up a rig with a kitchen scale to measure force as well as current draw when looking at changing the motor and prop selection.

We will be using the Acro Naze32 Flight controller board ($30) for this class. You can get an upgraded board with barometer and compass ($40) integrated to measure elevation and direction. You can hook up a GPS to this system as well to get absolute position and fly waypoints. The PWM channel decoder integrates to the RC Receiver (and transmitter) and translates the controls into PWM outputs that go to the speed controller for the motors. The Naze32 is designed to work with six motors but we will be using four in the class.

Naze32

 The first step in assembly is to prepare connectors for the batteries. We will be using the XT60 connector ($6 for five pairs) to bridge between the battery and controller. We use heat shrink tubing on the connector to keep from shorting while we are soldering. The resultant female side should look like the photo below.

 xt60-2 xt60-1

Make sure that you put the red into the “+” connector and the black into “-” to ensure polarity.

 The next step is to cut the old connector from the battery and put the XT60 male connector on the battery. Make sure that you cut one, and only one, side at a time. Cutting both leads will short out the battery and ruin your day as well as the cutters and battery. In the photos below we cut the red wire, soldered the new connector on, and applied the heat shrink tubing. This needs to be done to make sure that the soldering iron does not short out the negative lead while we are attaching the black wire.

 battery-1battery-2battery-3

At this point we have a battery with the XT60 male connector and a wire with an XT60 female connector.

Mounting local drive with guest extensions

In the last entry we created a Linux install by creating a new virtual machine and booting from an iso image. This works but is very time consuming every time we want a playground. In this entry we will clone an existing machines using thin cloning, modify the clone, add guest services extensions, mount the E:\ drive to reading, and stage an installation of the 11g Oracle database.

The first step is to clone our existing machine. We don’t want to create a new one because the first one took almost two hours. If we left click on the oel6u5 example and right click we can select Clone…

Screenshot 2015-07-02 17.36.32

 

We are given the option of a full clone or a linked clone. A full clone takes all of the files that we created (the 40G root disk which is thin provisioned) and makes a new copy of it. The linked clone tracks differences from the old instance and the clone instance. As changes are made to the new instance, they are recorded in a new directory. The old instance is forked and any new changes happen in a new file. The old file preserves a spot in time where the two were the same. Screenshot 2015-07-02 17.36.45

 

The linked clone comes back almost immediately since no files are copied to create the new instance.

Screenshot 2015-07-02 17.36.51

 

What we want to do is mount the E:\ drive as a media folder inside of our guest operating system. To do this we must go to the settings and select shared folders. We Add a shared folder access point and map it to the E:\ drive. We automount it and make it read-write.

Screenshot 2015-07-02 17.36.59 Screenshot 2015-07-02 17.37.10 Screenshot 2015-07-02 17.37.18

 

While we are in the setting we also need to remote the CD/DVD since we are finished installing the operating system and want to boot off our new instance. We do this by selecting Storage, selecting iso file that we mapped, and clicking on the blue icon at the bottom with a minus sign in it. This removes the CD from our mapping and we boot from the hard drive that we used for our installation.

Screenshot 2015-07-02 17.37.51 Screenshot 2015-07-02 17.40.30 Screenshot 2015-07-02 17.40.33

Once we reboot, we log in as the user oracle and add the guest services extensions. This is done by going to the top menu bar in the VirtualBox window and selecting Insert Guest Additions CD image from the Devices menu. This mounts the CD and asks you if you want auto-run the content.

Screenshot 2015-07-02 17.41.00 Screenshot 2015-07-02 17.41.50 Screenshot 2015-07-02 17.42.05 Screenshot 2015-07-02 17.42.15 Screenshot 2015-07-02 17.42.23 Screenshot 2015-07-02 17.43.13

Note that kernel modifications were made to map the local drive to a mounted resource. We can eject the guest services CD and verify that the file system is mounted.

Screenshot 2015-07-02 17.43.27 Screenshot 2015-07-02 17.43.49

It is important to note that the /media/sf_E_DRIVE is readable only by root. We can copy data from this location to a local location as is needed for database installation or just access the data as root.

Screenshot 2015-07-02 17.44.16 Screenshot 2015-07-02 17.45.58

Before we install the 11g database we will want to change the hostname of this machine. We will keep the ip address the same but change the hostname by editing the /etc/hosts and /etc/sysconfig/network files. We will also need to change ownership of the staging directory back to oracle with the chmod -R command to make it owned by oracle for the installation.

Screenshot 2015-07-02 17.49.42 Screenshot 2015-07-02 17.50.13 Screenshot 2015-07-02 17.51.12 Screenshot 2015-07-02 17.52.13

In this example we change the hostname from oel6u5ex to db11g since we are staging to install the 11g instance of the database. We could have changed it to db12c if we were going to stage the 12c instance of the database. The process and procedure is the same with the exception of the hostnames and which database binaries we put into the staging area.

up next: installing the 11g database into our sandbox

Installing OEL6U6

In our previous post we downloaded VirtualBox, downloaded V41362-01.iso, and configured a single core, 4G of RAM, 40G of hard drive system with two network interfaces. We mounted the Oracle Enterprise Linux Release 6 Update 5 as a virtual CD-ROM once it finished downloading from edelivery.oracle.com. We stored on our E:\iso directory on our sandbox system to use again if needed. We created the virtual disk in the E:\VirtualBox VMs directory and are ready to boot the operating system to start the installation process.

To be honest, I reverted back to OEL6U5 because I had trouble getting the OEM6U6 to install and configure properly. I went with something that I know works and the features/differences between update 5 and update 6 are not that significant when it comes to the Oracle database.

To start the installation process we select an iso image by clicking on Storage and selecting the CD/DVD iso that we are going to boot from. In this case we select the V41362-01.iso file from our E:\iso directory and click on the green Start button at the top left.

Screenshot 2015-07-02 16.04.47Screenshot 2015-07-02 16.06.27 Screenshot 2015-07-02 16.04.25  Screenshot 2015-07-02 16.06.44

 

Once we click on start it takes us to the boot menu for the operating system. We select install and follow the menu prompts.

Screenshot 2015-07-02 16.06.58Screenshot 2015-07-02 16.07.26Screenshot 2015-07-02 16.07.31Screenshot 2015-07-02 15.33.28

Screenshot 2015-07-02 16.07.54 Screenshot 2015-07-02 16.07.59 Screenshot 2015-07-02 16.08.03 Screenshot 2015-07-02 16.08.08 Screenshot 2015-07-02 16.08.27

Configure the network so that eth0 has a static ip address of 192.168.1.121, netmask 255.255.255.0, and default router is 192.168.1.254 (this is my Uverse router). The default dns is 8.8.8.8 with the backup being 8.8.4.4.

Screenshot 2015-07-02 16.08.36 Screenshot 2015-07-02 16.08.44 Screenshot 2015-07-02 16.09.17 Screenshot 2015-07-02 16.09.31 Screenshot 2015-07-02 16.09.45 Screenshot 2015-07-02 16.09.55

 

after setting the timezone and root password, choose to overwrite all data on the existing disks and select a software development platform to install. The software development platform is selected to give us a compiler as well as a user interface. If you select the basic server you do not get a user interface.

Screenshot 2015-07-02 16.10.07

Screenshot 2015-07-02 16.10.17 Screenshot 2015-07-02 16.10.24

Screenshot 2015-07-02 16.10.31 Screenshot 2015-07-02 16.10.39 Screenshot 2015-07-02 16.10.47 Screenshot 2015-07-02 16.11.12

Once the system comes back you can reboot and finish the installation.

Screenshot 2015-07-02 16.24.26Screenshot 2015-07-02 16.25.33   Screenshot 2015-07-02 16.26.03Screenshot 2015-07-02 16.25.48Screenshot 2015-07-02 16.25.57Screenshot 2015-07-02 16.25.43Screenshot 2015-07-02 16.26.17Screenshot 2015-07-02 16.26.29Screenshot 2015-07-02 16.26.37     Screenshot 2015-07-02 16.26.46

At this point we have a valid system and can login, alter the /etc/hosts table, alter the /etc/sudoers file, and run yum update to download the latest patches.

Screenshot 2015-07-02 16.40.52 Screenshot 2015-07-02 16.41.05Screenshot 2015-07-02 16.41.28  Screenshot 2015-07-02 16.41.53Screenshot 2015-07-02 16.43.09Screenshot 2015-07-02 16.43.42   Screenshot 2015-07-02 16.46.18

The yum update will probably take as long as the installation process took. Overall this takes about an hour or two depending upon your network connection speed and amount of RAM that you allocate.

Screenshot 2015-07-02 17.32.54

We now have a fresh install of Oracle Enterprise Linux 6 Update 5 with the latest patches. I suggest that you clone this instance and put it on long term storage somewhere. We don’t need to spend an hour or two recreating this again.

up next: Mounting the E: drive inside the virtual machine to stage other software installations.

 

Downloading and setting up installing OEL6

In this entry we will go through downloading and installing Oracle Enterprise Linux Release 6 update 6. We are selecting this version over RedHat or Ubuntu or Debian because most of the Oracle documentation talk about how to install and configure on OEL6. We could do this for OEL7U1 or OEL5U?. We just selected OEL6U6 because it is the most recent with the best examples on the web.

Two things to consider when installing guest operating systems on VirtualBox are iso images and image sizes. To make things easier we consolidated software into two directories. The first is an iso directory. This directory is for operating system installations. The second directory is for the binaries like the database or identity servers. It is easier to isolate the two because one is used to jumpstart a new instance. The second directory can be mounted and pulled into an instance to install software. The second are that we need to consider is the directory to hold the virtual images that VirtualBox creates.

For our sandbox machine, we installed a 2T disk to hold iso images, binaries, and virtual images. In our example, this is drive E.

Screenshot 2015-07-02 14.04.00

We have consumed about 500G of a 2T drive

Screenshot 2015-07-02 14.03.47

There are three directories that we created: iso, oracle, and VirtualBox VMs. What we want to do is download the operating system iso files from edelivery.oracle.com and put it in the iso directory as is shown.

Screenshot 2015-07-02 13.59.21

To keep things a little more organized, we use a naming convention to identify the iso file. Oracle creates a file with a filename like V52218-01. This means nothing to me but OEL6U6 x86_64.iso has relavance. Note the file convention that we use contains both. The V(number).iso tells us the version that was downloaded from the edelivery site and the OEL6U6 tells us that this is the Linux Release 6 Update 6 version of the OS. Note that some of the conventions are reversed. For the OEL7 iso we had the V(number) inside the parenthesis and the OEL7 outside. Either works as long as you can tell which is which easily.

To download the iso file, you need to go to edelivery.oracle.com and select the Oracle/Linux VM from the top of the screen. There are three options in the pull down: Main, Oracle/Linux VM, and Oracle 1-click. The Main and Oracle 1-click allows you to download the installation binaries for things like the database or E-Business suite. The Oracle/Linux VM allows you to download OracleVM, Linux, and Solaris binaries. Unfortunately, the license requirements and conditions are different prior to downloading the software. Oracle requires you to select what you are going to download and agree to user and license restrictions.

goto http://edelivery.oracle.com and select Oracle Linux/VM to get to the operating system download.  Screenshot 2015-07-02 13.56.16Screenshot 2015-07-02 13.56.20

 

 

 

 

 

Login with your oracle.com credentials.

 

Screenshot 2015-07-02 13.56.31Screenshot 2015-07-02 13.56.40

 

Accept the license to search for the OS

Screenshot 2015-07-02 13.56.52

 

 

 

 

 

 

 

 

 

Look for Linux on a 64-bit systemScreenshot 2015-07-02 13.56.59

 

 

 

 

 

 

 

The OS downloads will come back in release order. Re-sort by Updated date to look for the latest version. Screenshot 2015-07-02 13.57.12 Screenshot 2015-07-02 13.57.19

Select the Release 6 Update 6 version and download the iso images. Note that there are three. The largest is the DVD image that we typically want to boot from.

Screenshot 2015-07-02 13.57.36  Screenshot 2015-07-02 13.57.53

The download takes a while. Remember that you are downloading a 4G iso image. There is no need to download the source, only the bootable iso image.

Once the images are downloaded we need to configure VirtualBox to read this image and boot from it. To start this, we click on the New icon at the top left of the VirtualBox console.

Screenshot 2015-07-02 14.34.35 We call this instance OEL6 example, select Linux as the OS and Oracle 64-bit as the version.  Screenshot 2015-07-02 14.34.50

 

 

We change the memory for this instance to 4G. We can get by with much less but if we are using this for a database, 4G is the minimum recommended.

We create a 40G drive as a virtual, dynamically created drive. Note that we could create this as a VMDK file which makes it compatible with VMWare. In our example we use the VDI since is compatible with OracleVM. Either should work.

Screenshot 2015-07-02 14.34.55 Screenshot 2015-07-02 14.34.59 Screenshot 2015-07-02 14.35.03 Screenshot 2015-07-02 14.35.23

 

We now have a virtual container that we can boot an iso image into. We do need to modify the network as well as mount the iso image as a CD-ROM for booting.

Screenshot 2015-07-02 14.36.58

To map the iso image, we click on the storage and map the iso image as a CD-ROM. Click on the Circle on the right with a Plus sign on it. This pops up the add new CD/DVD question and file selector when we click on Choose disk.

Screenshot 2015-07-02 14.43.17 Screenshot 2015-07-02 14.43.22 Screenshot 2015-07-02 14.43.30 Screenshot 2015-07-02 14.43.35

 

Next we configure the network to have a bridged interface on adapter 1 as well as a host only network interface on adapter 2. This should give us an eth0 as a bridged network and eth1 as a host only interface.

Screenshot 2015-07-02 14.43.45 Screenshot 2015-07-02 14.43.54

From here we click on Start at the top left of the VirtualBox console which gets us into installing the operating system.

Up next: Installing OEL6U6

 

Installing VirtualBox

VirtualBox is a virtualization software package that allows us to create a sandbox to play with Oracle software. We initially selected a deskside computer that is capable of hosting a variety of virtual guests. Our system has 24G of memory and a quad core Intel i7 processor. On Windows you can go to the Control Panel -> Systems to look at the memory and processor configuration.

system config

To download the software you can go to the VirtualBox web page and download the binary for the OS that you are running. In our example, we download the Windows host x86/amd64 binary.

virtualbox.org

From this, you can execute the binary and install the software. There really is not many options other than where you can install the binaries and if you want a shortcut on your desktop and startup menu for Windows.

Windows screen shots

MacOSX screen shots

The user documentation for VirtualBox is relatively helpful if you get stuck. Chapter 2 covers the installation on the various operating systems. Chapter 4 covers guest additions. If you want to mount a directory from your desktop computer you will need the guest additions. Chapter 6 covers networking. For most of what we will focus on, three network configurations are worth learning in more detail.

  1. bridged networks
  2. host-only networks
  3. network address translations

Bridged networks allows you to use DHCP or static ip mappings and send/receive data across routers. In my instance I use bridged routing to connect through my AT&T Uverse router and can see the virtual instance from outside my house. Bridged networks are needed for this so that the ip address is routable.

Host-only networks are good for virtual machine to virtual machine communications. If I have a WebLogic server configured to communicate with a database, I can use the host-only network which is non-routable and create a communications channel that is similar to a corporate backbone inside a DMZ. I can use non-secure communication mechanisms that are not available on a public network or can use things like remote desktop, VNC, or remote X-11 windows to display back to my MacBook Pro or Windows desktop.

Network Address Translation (NAT) is similar to bridged networks but keeps the ip address of the guest operating system hidden and not exposed. The VirtualBox engine and host operating system act as a router for the guest OS. I found that this works but makes administration a little more complex and less secure for my desktop OS if we want to route public ip traffic through AT&T Uverse into my guest OS. If we were trying to expose multiple guest virtual machines I would use NAT.

For our configuration we wanted to expose Enterprise Manager as the main console/browser into our network. We configure the AT&T router to map the DHCP address assigned to connect to the internet to map to the static ip address of the enterprise manager guest OS. In our instance that will be 192.168.1.120. This is a simple mapping that can be done on the admin page of the router using the firewall mapping. Any ports opened from the outside world to the router will get mapped to the static ip address. This allows us to server port 7802 which is the enterprise manager console port for demos. Security must be maintained on the virtual machine because all ports are now exposed to the internet and all script kiddies and hackers.

Screenshot 2015-07-02 13.30.48Once everything is installed you should be able to launch the VirtualBox management console and configure new guest operating systems.

Screenshot 2015-07-02 13.34.49

Note that this is a relatively mature installation with a variety of operating systems and configurations already done.

Up next: Installing Oracle Enterprise Linux and mounting local drives in VirtualBox.

Test platform

The easiest way to play with technology is to create a test platform that works for you and allows you to create a playground or scratch environment. Historically you had to purchase a computer, install and operating system on the computer, and install the software on the operating system. This was very cumbersome. Getting a dedicated computer to play with was initially expensive. Getting the OS installed and configured to work in your network was overly complex and typically required an OS license. Once you had the OS stable you were free to play with software installation and configuration. The key problem was that if something went wrong or something locked up the computer it was back to square one and re-installing and re-configuring the operating system.

Fortunately a few years ago virtualization became something that not only gave you a safe sandbox but became mainstream computing. There are currently three primary platforms for virtualization: VMWare, HyperV, and ZEN. All three have server solution. All three have desktop solutions.

With VMWare there are a variety of products that you can play with.  For desktop solutions, VMWare Fusion is a good solution. You can play with it for free but a licensed version is $70. It does require a modern Intel chip set (or AMD) with 64-bit capability and at least 2G or RAM and 1T of storage. Server solutions are out of the question for individuals but excellent if your corporation has standardized on it as a platform and provides you a sandbox to play in. The VMWare VCloud is a good hosting platform to play with if you have the money and resources but do not have a VMWare server in house to play with. Starting cost of VCloud is $670 per month and can grow as you require more resources. One of the key benefits is that what you develop in Fusion can migration to ESX/VMWare Enterprise to VCloud easily.

With Microsoft, HyperV is bundled into Windows 2012 and newer. You can run a virtual instance inside of Windows but it does require that you have a valid Windows OS license as the base operating system. Unfortunately, migrating HyperV instances from a private hosted environment to a public cloud environment like Azure does not work well and has different file formats. We will not be looking at this option because 1) it cost too much for me to play with (I have a Windows 7 desktop and can not get a server 2012 edition installed on my system to play with) and 2) if our goal is to migrate our examples to the cloud the lack of functionality to migrate these instances to the cloud are show stoppers.

With Oracle, there are two solutions Oracle VM (a Zen based hypervisor) and Virtual Box. Oracle VM is a server solution that is bundled into products like the Database Appliance or the Virtual Compute Appliance. It is also part of the Solaris operating system and works on Sparc and X86 platforms. We will be focusing on VirtualBox since it is a desktop solution that works on MacOSX, Windows 7, and Linux. We can configure a desktop system to be our sandbox at no cost. One of the benefits that I appreciate is the fact that you can add the extensions for your operating system and share drives with the guest OS. This allows you to stage installation binaries in a directory and not have them consume disk space in your virtual machine. This is a common practice in corporations and cloud hosting like Amazon Web Services. You create an S3 storage pool that contains all of you install binaries and mount this on your virtual machine. You can keep your virtual machine smaller and cross mount the installation files across multiple machines without consuming the disk space on all of them. We will be looking at VirtualBox because I did not want to use my laptop as my primary computer and install OracleVM on my deskside computer. I ordered a deskside Linovo computer with 24G of RAM and 3 terabytes of disk to act as a playground. The system came installed with Windows 7 and very little else installed on it since it is the Oracle Desktop standard image.

I mention the AWS service. We could use this as a playground. It is a valid alternative. We will not be looking at this initially because it involves a cost for storage and a cost for compute resources. Pricing for instances are reasonable ranging from 1.3 cents per hour ($113.88 per year)  to $2 per hour ($17,520 per year). They do have a year free on the cheapest services but in my opinion these services are too limiting to play. You get one virtual CPU and 1G of memory. The key benefit to this configuration is that you get a copy of Windows for free so if your testing platform is Windows then it might be a good alternative. The Oracle database requires at least 4G of memory to run without being painfully slow. Layering WebLogic on top of it and Enterprise Manager boosts the requirement to 6G or you are watching the processor spin while it thrashes memory.

There are a variety of other services that you could lease similar to AWS. Oracle has compute infrastructure as a service at $2,190 and up per year. Rackspace, Level 3, Google, and other hosting vendors are alternatives. My recommendation is to look at what works for you and stick with it. We will be using VirtualBox as our preferred platform because instance created in this sandbox can be exported to AWS, VMWare, and OracleVM. This platform is also free for a variety of platforms and has enough features to fulfill our needs and requirements.

Our sandbox system came down to cost. We selected a deskside Linovo M83 system at a cost of $1,364 because it can handle the extra memory that is needed. A laptop is typically limited to 4-8G of RAM. We don’t need the graphics capability of a gaming system or the added processing power. We went with a 4 core Intel i7-4770 chip at 3.4Ghz. This system was selected primarily for the memory expansion. The system can handle 36G so we have some headroom if needed. We could have selected AWS or Oracle IaaS as the testing platform but given that my department had budget for me to get a new computer I opted to keep my personal MacBook Pro as my laptop and have Oracle purchase the deskside as my daily “working” computer.

next: VirtualBox installation and configuration

Goals and Objectives

It is important to know where you are going. According to Yogi Berra,

We are going to install and configure an Oracle database, Oracle Enterprise Manager, Oracle WebLogic, and an Oracle application that runs on WebLogic. We are going to go through the steps required to install everything, look at the complexity and alternatives for doing the installation, and pricing of all the choices. This is going to be a how-to view of everything along with a why discussion.
It is important to note that almost everything from Oracle can be downloaded and installed without keys or without paying for anything. You have the right to run and play with everything for 30 days. Since I am an Oracle employee we will also look at some of the demo systems that exist in the Oracle internal and partner network. My primary responsibility as an Oracle employee is facilitating partners in selling Oracle hardware and software. This blog is intended to be a documentation of the journey to go from knowing nothing about Oracle to being able to demo public and private cloud hosted services.
Some relevant links that might be of interest are:

 

Hello world!

This blog is a fresh start looking at migrating from on-site hosted applications to cloud hosting of applications. I have been at Sun Microsystems (13 years), Texas A&M University – Central Information Services (4 years), Rice University – Central IT (1 year), Cypress Cardiology/Cypress ECG (2 years), and Oracle (6 years). During these periods I have had the opportunity to play with many technologies and architectures. Computing has changed over the last two and a half decades from central computing to client server to cloud hosting. We are going on a journey looking at technologies and how to solve different problems in different ways.

work: pat.shuff@oracle.com

learn: pat.shuff@patshuff.com

play: pat.shuff@gmail.com