Cloud, Microservices and Container Workshop in South Africa!

Lot’s of people are talking about these topics nowadays. Heaps of slides and samples are available for download, lots of presentations can simply be streamed from youtube.

In Johannesburg we were working with these solutions hands-on: I delivered a 3 day Cloud, Microservices and Containers workshop on behalf of Oracle.

Find attached some impressions from the smart and fun group of devs and architects I was working with.

 

 

User Wercker to Start a Kubernetes Cluster: Click2Kube

When Oracle recently acquired Wercker some people wondered how it will fit into the Oracle cloud portfolio. Now there is a bit more of a clue; Oracle started beta-testing Click2Kube which allows you to to use Wercker to spin up a Kubernetes cluster.

In a quick smoke test I achieved the following in a few minutes:

  • I provisioned a Kubernetes cluster in about 4 minutes.
  • Details about the endpoint in the form https://k8s-master.1234567.obmc.wercker.com was mailed to me
  • The cluster can be accessed using standard kubectl from the command-line. Also an example of how to configure access to the cluster for the endpoint given is provided.

Once more I am packing suitcases, yet I am looking forward to explore it a bit more in depth. Looks like there is exciting stuff ahead! Check out http://www.wercker.com/ for more details.

By the way, I will also be speaking about Wercker and how it works together with OCCS at Oracle CODE in Mexico City on June 29th, 2017. Save the date now, pass by, and say Hola!

 

WebLogic / JCS X-Powered-By Header and Penetration Tests

The following applies to WebLogic 11 / 12c and JCS the same way and can be important when you try to harden your WebLogic installation.

The X-Powered-By Header

WebLogic responds with an additional

X-Powered-By: Servlet/2.5 JSP/2.1

HTTP header to web requests. This is according to the Servlet 2.4 spec. However, sometimes it is desirable to expose as little information as possible and quite often the default behavior gets you a critical remark when a penetration test is done.

How to Disable

You can disable this behavior (and suppress the header completely) with the following MBean setting:

X-Powered-By Header WebLogic Server uses the X-Powered-By HTTP header, as recommended by the Servlet 2.4 specification, to publish its implementation information.

Following are the options:

  • “NONE”: X-Powered-By header will not be sent
  • “SHORT” (default): “Servlet/2.4 JSP/2.0”
  • “MEDIUM”: “Servlet/2.4 JSP/2.0 (WebLogic/9.1)”
  • “FULL”: “Servlet/2.4 JSP/1.2 (WebLogic/9.1 JDK/1.4.1_05)”

MBean Attribute:
WebAppContainerMBean.XPoweredByHeaderLevel

For details, check the documentation.

 

OSB 12c (12.2.1.2) More Maven Issues and Solutions

Existing Bugs and Issues with Maven and OSB 12.2.1.2 and How to Fix Them

It is a well known fact that Maven in OSB 12.2.1.1 came with glitches that required manual fixes as described in Robert Patrick’s blog posting and in the Oracle support notes Doc ID 2186338.1. However, this article is centered around the latest OSB 12.2.1.2, its particular Maven issues and how to fix them. Same as version OSB 12.2.1.1 also 12.2.1.2 suffers from various maven glitches, however in a more subtle way.

[Note, that I usually don’t post references to MOS, since not everybody has access to it. Anyway, if you cannot access to Doc ID 2186338.1 don’t worry. It basically describes what Robert writes about in his blog. In addition it recommends actually not to fix it manually, but instead wait for a patch. I actually I agree. Also note that as of OSB 12.2.1.2 this issue is not marked as fixed although the behavior of the newest version is different.]

The current situation with OSB 12.2.1.2 and Maven is “interesting”, to put it mildly:

  • mvn with OSB 12.2.1.2 and the maven push plugin only will not work out of the box. This means the official documentation won’t help you in this case. The good news – despite the fact that mvn with OSB 12.2.1.2 is not working correctly – is that it is rather easy to fix manually (see below, Fix 1: Maven with OSB 12.2.1.2 and the mvn push plugin).
  • Also mvn with OSB 12.2.1.2 and maven.oracle.com will not work (as of Jan 7, 2017). Since the required .pom and .jar files are pulled over from maven.oracle.com and several of them are missing it is obviously not easy to fix it yourself.
  • Here comes the crazy part (well, crazy on an IT scale): if you configure both, i.e. first use the OSB Maven plugin to push from an OSB 12.2.1.2 ORACLE_HOME into the .m2 repository, and then in addition configure the maven.oracle.com repository, then it is done twice. Yet then also both issues cancel each other out.

 

Here are the fixes, as promised

Fix 1:Maven with OSB 12.2.1.2 and the mvn push plugin

a) easy manual fix, updating two lines in two files:

After usign the push plugin, in .m2 Repository, e.g. D:\Users\frank\.m2\repository\com\oracle\servicebus\sbar-system-common\12.2.1-2-0 change the file sbar-system-common-12.2.1.2.pom as follows:

under

    <parent>
         <groupId>com.oracle.maven</groupId>
         <artifactId>oracle-common</artifactId>
         <version>12.2.1-1-0</version>
     </parent>

change the version tag to <version>12.2.1-2-0</version>

also for the file sbar-project-common-12.2.1.2.pom in the directory
.m2\repository\com\oracle\servicebus\sbar-project-common\12.2.1-2-0 change the version number the same way.

b.) Install patch 22392646

This is the second, alternative option to fix the issue. Install patch 22392646 from My Oracle Support. After a lengthy and tiring discussion I had with support it is now also applicable to OSB 12.2.1.2. – voilà! Depending on your provisioning approach this might be the easier fix, but actually you could just copy over the files (or even run sed on those two files).

 

Issue 2: Maven with OSB 12.2.1.2 and the maven.oracle.com

There is no known fix at the moment, maven.oracle.com is missing a whole lot of files (again) and also some of those delivered are wrong again. Bug 23698828 describes a very similar issue, yet reports it as fixed for 12.2.1.1. Oracle support knows about it, so let’s hope it will be fixed soon in maven.oracle.com. I will keep you posted, promised.

Update: After the first round with support their “solution” did not work. The issue is still not fixed. If you think about it for a second, how hard can it be to push a patched .m2 repo to maven.oracle.com? Stay tuned 🙂

To conclude

You are lucky if you simply retyped all the instructions available and configured both ways to use Maven with OSB 12.2.1.2 (although I somehow guess you would have not read this article then).

As soon as you follow a clear path and either go for the push plugin on a machine with OSB installed, or maven.oracle.com on a build server without an OSB installation, you will run into issues. It is obvious that Oracle would do good with automatically testing this functionality for future releases. Not being able to browse the maven.oracle.com repo makes it more difficult for customers to debug those issues, so it might be a good idea to use a local proxy / cache.

Let me know your feedback!

 

WebLogic 12c Zero Downtime Director’s Cut: What you missed …

Everything has limitations. And 2 Minute Tech Tips are 2 minutes only. Strict rules. Anyway, you missed a lot of the good stuff that I recorded in Manly Australia, i.e. the introduction of the 2 minute tech tip about Zero Downtime (ZDT):
Why I was standing on Manly Beach, the wildlife story about sharks that stopped me from having a bath, furthermore some whales (real whales! – not a Docker whale this time) and all the crazy things that happened while we recorded.

So here is the introduction. Enjoy.

DNS Lookup and Ping Times Measurement with Grafana on Oracle Container Cloud Service

Welcome back to a new posting about the Oracle Container Cloud service(OCCS). In my previous OCCS blog posting I went through some details of the brand new OCCS.

In the following webcast I try to measure some key characteristics like DNS lookup and ping times for major industry websites such as cloud.oracle.com, google.com and munzandmore.com. All the measurements are done from probes running in various capitals throughout the world. The important thing to understand is that we not measuring times from the Oracle Cloud to somewhere.

The results actually show that cloud.oracle.com is on a par with google.com and both obviously beat my own domain which is not a big surprise.

Grafana is visualizing the results of these probes. It is running in a Docker container which is running on Oracle Container Cloud Service (OCCS) – the newest addition to the Oracle Cloud.

Enjoy the webcast. Let me know if you have some interesting findings about measurements with Grafana and the worldping plugin or the Oracle Container Cloud service! For sure I will post more about it later.

 

 

The 2016 Leap Second in the Cloud: It’s spread out for Oracle DBs on RDS

The 27th leap second will be officially applied December 31, 2016 at 23:59:60 UTC. For Oracle DB instances on RDS the following applies:

  • RDS will spread out the leap second equally in the 24h surrounding the timestamp above.
  • After this period RDS time will be in sync with  Cordinated Universal Time.
  • This applies for Oracle DB instances with versions 11.2.0.2, 11.2.0.3, and 12.1.0.1. They will follow AWS Adjusted Time that is applied to RDS.

Oracle Database on Docker Official Now!

Those of you using Docker will know that we had a Docker file provided by Oracle for creating an Oracle database image since quite a while. However, the Oracle database was so far not certified to run on Docker. This has changed now!

Oracle database on on a Docker container is now officially certified, you can refer to the MOS Doc ID 2216342.1. Don’t worry if you cannot access the link. So far it only states some very basic facts. Also those who know me will understand that I generally dislike postings referring to closed content such as my Oracle support – please regard this as an add-on if you have access to MOS.

How it works

  • There won’t be simple way to just issue a docker run command to get an Oracle DB running since there is no publicly available Docker image for Oracle database due to legal reasons.
  • You have to build your own Docker image from based on a directory that you can check out from github.

Oracle DB on Docker – What is supported

  • A single instance Oracle DB, either Oracle Database – Enterprise Edition – Version 12.1.0.2+ or Oracle Database – Standard Edition – Version 12.1.0.2+
  • Docker containers running on Oracle Linux and Red Hat RHEL  x86-64

Oracle DB on Docker – What is not supported

  • Oracle RAC
  • Although not stated in the support notes there is probably more that is not supported, i.e. everything that is not explicitly listed (how about Golden Gate etc.?)

 

SOA Expert Series: OSB Domain / SOA Suite Cloud Service a Technical Correction

SOA Expert Series: OSB Workmanagers and Thread Constraints

We had a webcast by the Oracle A-Team about OSB workmanager and thread constraints recently, with very good overall feedback!

 

What I liked most was that many questions were answered. You can get the full list here. Everything very valuable and I recommend to read it after looking at the slides.

OSB Domains and Clusters

Let me point out one unfortunate mistake to a rather interesting question: “How do you handle 1000 services in an OSB cluster?”. The answer was to create several OSB clusters in one domain.

With all the respect, yet I believe the answer is not correct. It is not allowed / not possible to have more than one OSB cluster in domain. This is confirmed by the Oracle documentation:

Actually the question IMHO implies much more, e.g. how to deal with a large number of services with different resource requirements, payload sizes, etc.

 

 

 

Oracle Container Cloud Service (OCCS)

Docker has undergone a dramatic evolution in only the last couple of years. From virtually unknown in 2014, it still seemed to be a exotic, niche open source solution when WebLogic was certified on Docker in early 2015.

Nowadays this is different. End of 2016 it has become very common to explore new software by just running an official Docker image from Docker hub. CI / CD pipelines are often built on Docker for repeatability. Docker is one of the key building blocks for runtime environments of those wandering down the microservices alley.

However, you need much more than just a starting a Docker container or two. You need infrastructure, networking, private and public registries, containers have to be scaled and restarted if they fail. All this needs to be installed, configured, and operated. On premises this is not an easy task.

There is a huge difference between spinning up a Docker container and operating a Kubernetes cluster for enterprise critical applications 24/7 in production. So the the obvious choice is often the cloud with a PaaS based container cloud service.

Oracle Container Cloud Service (OCCS) is the newest addition in the Oracle Cloud portfolio. It was built to solve the issues discussed in this posting. The following webcast helps you to understand the key components of OCCS. If you follow it, you can have a worldwide monitoring of your own domain running in some 5 minutes on a hosted Docker container.

Those who know my WebLogic Distinctive Recipes book understand that I am not a big fan of those click here, screenshot, then click there, screenshot articles – therefore I created the webcast for you with a working example that is not already in OCCS. Make sure to read the OCCS documentation anyway.

 

Let me know if you like it!

 

Tips and Tricks for Oracle Container Cloud Service (OCCS)

Some days ago I posted a longer getting started with OCCS webcast which should serve as a good introduction if you are new to OCCS. Also I posted about using OCCS with Grafana on Docker for network latency measurements.

In this article I will provide a number of tips and tricks I discovered while exploring  OCCS.

Keep in mind that OCCS is the newest addition in the Oracle Cloud portfolio. Everything I tried was stable so far. Note that this article – like all my other articles actually – reflect my opinion . Maybe some of the items below will help you to get your containers running easier!

This list is not complete yet and I will extend it as I discover new things around OCCS. Drop me a comment below if there is anything you want to be added here. I am curious about your own experiences.

OCCS Tips and Tricks

  • Do you have trouble logging into Oracle Cloud? I recommend to have a look at my other posting and check here.
  • The provisioning of the service (i.e. the underlying machine) seems to depend on the instance size. Small instances are provisioned in the range of several minutes. However in the Europe 2 data center I waited between 2h and 3h until the service was provisioned on a OC3 instance. Let me know if your experience is different e.g. the provisioning is faster in the US.
  • Starting up a container is much quicker than provisioning the underlying service.
  • The container console itself is surprisingly well hidden. It had to look into the tutorial to find it :-(. You can find it here:
  • If you want to start an OCCS container with a docker image that is started with a -d flag from the command-line, don’t worry. OCCS runs all containers as daemons, so you don’t have to provide this flag.
  • If something went wrong and you look for log output of your container, then check under
    Container / Name / View Logs.
  • Sometimes you will experience that containers are “flapping”. This means they are started but run into an error. Then they are started again, etc. Check the logs to find out what is happening and stop the container.– this posting will be continued once I discover more tips and tricks for OCCS.
  • If you run the classic example
    docker run hello-world

    the container will be restarted once it is finished, so technically it will be flapping. It is quite likely that OCCS will support a flag in the future to run special containers only once. Note that this is not the typical enterprise use case anyway but more more a first step of what devops try on the command-line.

  • You can use SSH to connect to the OCCS manager nodes, however you cannot connect to the worker nodes as of now. The manager node is running a very restricted VM environment with some essential tools like vi, cat, rm, cp etc. only. To connect to the master node use the private key that was generated when you set up the service and the following syntax:
    ssh -i privateKey opc@PUBLIC_IP
  • It would obviously be interesting if OCCS would offer services out of the box for the Oracle supported Docker images from https://github.com/oracle/docker-images.
  • The Container Console is using a self signed root certificate and therefore creating a browser warning. This is nothing severe but Oracle should document a way to install your own X.509 certs to avoid the warning.
  • From 10,000 feet OCCS might look vaguely similar to Kubernetes, but OCCS is not based on Kubernetes. Actually Kubernetes is more complex to set up and to operate. OCCS’ goal is “to provide an easy and powerful way for enterprises to run their containers on our service”.

At the end, your goal should be to be able to run your own Docker image on OCCS. Give it a try!

Functional Checklist: OSB 12c / SOA Cloud Service (SOA CS) Upgrade

When upgrading to from OSB 11g to OSB 12c or to its cloud cousin SOA CS there are new features that you should be aware of. I will go through the most important ones in this posting. Additionally I will present some architectural / operational facts that you should know. Obviously you don’t have to adopt every new feature. Mostly OSB 11g projects will continue to work after they are loaded as a config jar into 12c. So using new features of 12c can be a gradual process.

The following non exhaustive list was compiled to support the upgrading of a dozen of several large scale projects with almost 200 services on OSB and a team of 12 developers. It assumes that you have a basic understanding of OSB 11g.

 

Installation / Domains

  • Choose the SOA Suite 12c quickinstaller for for first exporations. Quickinstaller comes with WebLogic, OSB, SOA Suite, and JDeveloper. All matching version numbers. Also the internal domain is created and started automatically and it runs the the Java DB.
  • Compared to 11g the creation of a dev environment has become easier, but the installation of a prod domain more difficult (due to hard dependencies on a database)
  • Even though quickinstalls are easy, consider the use of virtual instances, Docker or at least a scripted installations for dev environments. Even for mediums sized team developer team you will have to fix issues more often than you might believe if developers follow a written instruction. Always. Script. Automate. Or put it in a (virtual) box.
  • Understand the creation of standalone domains. It saves you the time and resources for deploying unnecessary SOA Suite artifacts when only an OSB domain is required.
  • For production domains you need a supported Oracle
    DB (mainly for MDS, but also for OWSM etc).
  • Therefore for production installations you have to run the RCU utility to generate the required schema.
  • You cannot load 11g Eclipse projects into JDeveloper 12c directly.
  • Expect that you can import most of your OSB 11g artifacts as an sbconfig.jar into JDev and they will continue to run. There might be exceptions, so test a representative number of your typical communication patterns / transport protocols and XQuery / XSLT transformations for an estimate.

IDE / JDeveloper

  • JDeveloper is the only IDE you can use with OSB 12c. Support for Eclipse does not exist anymore
  • We found JDeveloper 12c (12.2.1.1) on Linux rather unstable and observed several crashes. The dev team will use more Windows 7 based installations now and I will update this item later

Maven

  • Make sure to understand maven support. It was broken in 12.2.1 and required manual fixes in several pom files.
  • Officially maven is still not fixed in 12.2.1.2 but it works if you configure the maven.oracle.com repository and also use the push plugin to create local artifacts in .m2.
  • Note that just pushing the 12.2.1.2 ORACLE_HOME into .m2 with the maven plugin from OSB is not enough and you will encounter missing files.
  • Don’t forget to update the catalogue of maven artifacts after using the OSB maven plugin.

Actions / Pipelines

  • Pipelines are not part of the proxy service anymore, but standalone now.
  • Separated pipelines enable reuse.
  • Pipelines can use shared variables.
  • You can enable/disable stages and actions but not pipeline pairs.
  • You can use domain value maps (DVM)
  • You can also use cross references (XRef)
  • There are pipeline templates. I find them useful to standardize service development and especially error handling.
  • Make sure to understand about the new resequencer to order messages in OSB
  • If you import an OSB 11g jar the existing proxies will be automatically converted and the pipelines will be extracted and shown as separated items.
  • OSB 12c actions are mostly the same. Understand if you can make good use of the following new features / actions
    • dynamic validation
    • disabling actions
  • The new nXSD replaces the MFT for native data formats

Caching / Coherence

  • Make sure to understand OBS caching per service implemented. This can be a huge performance boost and a rather large number of project teams I am talking to don’t even consider to use it.
  • If OSB caching for the results of business services is used, configure it properly (off instance coherence cache).

XQuery

  •  OSB 12c supports XQuery 1.0 and XPath 2.0 specifications
  • XQuery libraries are supported also graphically by JDeveloper

New Consoles / Fusion Middleware Control

  • The new /sbconsole is now available under /servicebus
  • Oracle Fusion Middleware Control is the new console for monitoring etc. It is available under /em.
  • You can now dynamically update Domain-Value Maps (DMV) in OFMCtrl

Upgrade Process

  • Oracle publishes a lengthy upgrade flow diagram describing the upgrade process. Familiarize yourself with it.
  • I usually recommend not to upgrade existing 11g domains with the reconfiguration wizzard but to start with a new 12c domain and then reimport your artifacts, and recreate configuration with your automation scripts (e.g. WLST).

Cloud

  • Consider using the SOA Cloud Service for the benefits of an cloud instance (almost zero setup, metered licensing, automatic patching etc).
  • You can have a free SOA CS trial for 30 days. This give you time to explore if it flexible, fast and reliable enough for your needs.
  • All functional features described above apply to OSB on premises as well as SOA CS.

 

 

Overambitious API Gateways

Did you know? Thoughtworks put “overambitious” API gateways on HOLD in their tech radar. What does it mean? Should we all stop using API gateways? Was it a trend that is over now?

Remember ESBs?

Actually, no, not at all. I had a discussion with a Thoughtworker and he explained “It’s a bit like the situation we had with ESBs. They were just too heavy, blown out of proportion, and often used in the wrong places”. I guess most of us working in the SOA space will agree. Some of us have seen ESBs doing file transfer, master data replication and event streaming (sometimes even at the same time).

Proper API Gateways

Let’s put it the other way around. Use an API Gateway if you require a stable API as a frontend to your clients with a high-throughput entry point to a possibly serverless / FaaS architecture (let me assume you are trendy). Let’s not forget traffic management, version management of APIs, and monitoring.

Actually – if you look closely – an API Gateway product is even on the tech radar under platforms and rated as “access”.

Anyway, I must admit that I like the term. Overambitious API Gateway. I actually consider getting some crisps and a beer, lean back and wait to see overambitious microservices, overambitious FaaS, and certainly overambitious DevOps popping up. And of course no need to mention overambitious IOT, now that Mark made it into the Guardian with his Kettle.

techradar_api

Feedback: Big Data Training: Hadoop, Spark, Kafka, Cassandra, Oracle and the Cloud

Guys, thanks for attending my DOAG training day about Cloudera/Hadoop and Oracle Big data. I am pleased about your amazing feedback!

Statistics about Big Data Training Day

About the course

Attendees had the following opinion about the course when asked right after the training

  • 100% of those who answered would recommend the course
  • 100% of all found it interesting
  • 81% found that content matched their experience
  • 86% were happy or very happy with the course (these are the 2 highest grades possible)
  • 0% were unhappy
  • Everyone  except one person (that is 20 people) found the level of difficulty okay.
  • Everyone except one person found that they were engaged enough

About myself

The following is what attendees mentioned as feedback about myself (there were no explicit questions about Edelweiss, so she is not included unfortunately). Multiple answers were possible, answers weren’t mandatory. This basically tells that someone making a cross at e.g. informative sincerely means it.

  • 86% found me interesting
  • 40% entertaining 🙂
  • 90% informative
  • 71% demonstrative and clear

OSB / SOA Suite 12c Domain Types

OSB / SOA Suite 12c Domain Types

screen-shot-2016-11-30-at-16-22-10Let me explain you some news about the domain types in 12c, since some of my colleagues were fiddling around with this. Due to the new quickstart installer for SOA Suite and OSB 12c there are more domain types available now for SOA Suite and OSB12c that you need to understand. The following options describe those types with added comments of when the make sense.

 

 

Options:

  1. The integrated domain that gets generated by JDeveloper if you run a project. Sometimes it is called default domain. This domain is bound to JDeveloper. Whenever you quit JDev, the domain shuts down. The downside is that this domain always supports OSB and SOA Suite, so a bit of waste of resources if you are only after OSB . This is the easiest solution for your first steps because no manual domain creation is required and JDev does it all for you.
  2. A standalone domain. This is the new and interesting option, because a standalone domain uses the Java DB and does not require you to run the RCU utility. Still a standalone domain is running independent from JDeveloper 12c, so you could you use this type of domain for development with OSB web console.You create the domain by setting the QS_TEMPLATES environment variable and running qs_config.sh, then create an application server connection with JDev, use the standalone server option in the application server connection wizzard, and point it to the standalone domain.
    You will be able to use “Deploy” from JDeveloper, but unfortunately not “Run as”.
    There are more benefits to a standalone domain not mentioned in the official documentation: Whereas the integrated domain includes everything needed for SOA suite you can restrict a standalone domain to Service Bus only and therefore reduce the number of internal deployments from 304 to 278 which will save you startup time.
  3. A compact domain can be used with quickstart. Also compact domains are targeted for development. This domain will be compatible with add-ons such at MFT, OES, etc. Note that you have to specify a special parameter CONFIG_JVM_ARGS=-Dcom.oracle.cie.config.showProfile for this option to be visible in the configuration wizzard.
    Since you can use it with an compatible Oracle DB, the necessary schemas have to be created with the RCU utility. Note: A compact domain is a developer domain consisting of a single admin server and no managed servers.
    The opposite of a compact domain is called extended domain where resources are deployed on a cluster of managed servers. Use extended domain for environments such as test, integration, load test, prod. These environments are distributed and clustered typically due to HA requirements.

Conclusion

It is important to understand the various domain types and to choose the correct domain type for your requirements. You can strip down a standalone domain to be OSB only, then make sure to select Integrated Servers if you want to deploy directly from JDev to it.

It’s a wrap: Oracle and Cloudera Big Data Training – On Premise and Cloud

Wow – We have done it! Weeks of preparation, reading, trying out tools, and hacking went into the preparation of this training course. Even during the OTN APAC tour I took some days off and worked from my Bangkok home office to prepare for the DOAG trainings day.

At the end it was totally worth it. I had 21 top notch DBAs and developers on the attendee list, also some 10 students attended. DOAG is running a good student program. For helping out a little bit students are allowed to attend sessions and the DOAG training day. Quite often I get a lot of them. 2 years ago I was running a full day multi-cloud training and every single student including their professor decided to attend my session – although they had the choice amongst 6 different trainings. Anyway, nice to be popular with the young people. Next time I will come in sneakers and wear that Cloudera T-Shirt. Also it became a bit of a challenge for Oracle to attract students. So I am glad to help 🙂

Fabulous news was that Edelweiss took over the Oracle part, so I was lucky to talk about what I love – the open source and Cloudera part.

fullsizerender-14

Edelweiss did her session via Skype. I was a bit sceptical and expecting technical problems because of the network latency but it went swimmingly. The conference room had good speakers, so I could play some music in the break and Edelweiss almost seemed to be present in the room but kind of invisible.

fullsizerender-19

 

Well now you know it. This is what is cool.

img_2162

 

A really great surprise was that everyone enjoyed the idea of working with VirtualBox and accepted labs that I prepared. Most people took them home to further play with the Big Data Lite instance.

At the end we covered a whole lot of content in a long day:

From Open Source / Cloudera Stack 

From Oracle Big Data Products

Oracle Big Data ApplianceOBIEEOracle Data Integrator (ODI)Oracle Big Data Discovery

Training Day: Cloudera Hadoop Stack with Kafka and Cassandra and Oracle Big Data / BI and the Cloud

Right after the DOAG conference 2016 in Nürnberg / Germany we will be running a big data training day. Meet the big 4: Hadoop, Spark, Kafka (all 3 from the Cloudera distribution), and Cassandra. Plus Oracle Big Data on top. For details in German see here.

Topics of the workshop are the following (subject to change):
Open Source / Cloudera Stack 

Oracle Big Data Products

Oracle Big Data Appliance

OBIEE

Oracle Data Integrator (ODI)

Oracle Big Data Discovery

 

The training day will include live demos and some are running in the cloud. So stay tuned!

This event will be co-hosted by Edelweiss Kammermann, Oracle ACE director from Uruguay and BI expert. Edelweiss will present mostly about Oracle Big Data / Business Intelligence, whereas I will try to cover the open source Hadoop / Cloudera part.

OLYMPUS DIGITAL CAMERA

 

OTN Tour APAC Australia Sydney / Gold Coast: From on Premise to JCS and OCCS

The part of the OTN Tour 2016 in Australia was a personal highlight for me. This is where I wrote the biggest part of my cloud computing book and started a small subsidiary for my company.

Both OTN events weren’t massive but very well organized. Interested audience, lots of feedback and questions. Thanks to everybody who attended. I presented about WebLogic with Java Cloud Service (JCS) and Docker with the new Oracle Container Cloud Service (OCCS). Slides are available as usual on slideshare.

Here is a compilation of the event. Enjoy the video!

When flying back from Gold Coast I had the most amazing view ever on Sydney Harbour, the Opera House etc. A video you should not miss out!

Sangam Conference 2016 India / Bangalore

I attended the Sangam conference in Bangalore this year after the OTNTour in APAC. Instead of a longer trip report I decided to compile a small video that will give you an impression about the excellent event.

Enjoy the video. If your network connection allows it, set the video to HD and full screen. If your neighbours allow it, turn up the volume!
My slides of my Docker talk and the WebLogic Server 12c presentation are online.

OTN APAC Tour 2016 Auckland: WLS / JCS, Docker / OCCS and OSB / SOA Suite CS

Second day of the OTN APAC Tour 2016 in Auckland.  Changed my introduction from the Eisbach surfers a bit to another German stereotype 🙂

223033612_6486886939878996453

I did another 3 presentations. Again I spoke about What You Should Know about WebLogic,
Oracle Service Bus and Docker. Not surprisingly the Docker presentation and live demo was very well received and people asked all kind of questions afterwards. We had some good discussions about the usage of Oracle JCS and the upcoming Docker in the cloud (OCCS).

223033047_6016382976082251905

Also I uploaded a number of photos of day 2 of the OTN APAC tour:

OTN APAC Tour 2016 Wellington: WLS / JCS, Docker / OCCS and OSB / SOA Suite CS

New Zealand Oracle OTN / NZOUG

The OTN APAC Tour 2016 started Oct 26th in Wellington. I bumped into Tim Hall already at the airport and then met other colleagues such as Bjoern Rost and Anton Els at the conference. The conference was hosted at the Amora hotel with a number of about 100 attendees.

I did 3 presentations, which was quite challenging after 30h of travel time the previous day. The same night we left for Auckland where another 3 presentations are scheduled. Anyway, good news was that Francisco Munoz picked us up at the airport at night and gave us a ride to the hotel.

223022449_2290471492219739656

223034495_4296875126583501860

 

 

A distributed system is the one that prevents you from working because of the failure of a machine that you had never heard of

This quote is part of my tech quote explained series from Java One / Open World 2016. Actually it is the special edition for the OTN appreciation day 🙂

Leslie’s Quote that I heard at Java One 2016:

“A distributed system is one that prevents you from working
because of the failure of a machine that you had never heard of.”

Leslie Lamport

Explanation:

The following explanation is mine, not Leslie Lamport’s. Besides, yes, Leslie is the guy who is known for LaTex and his work on the Paxos algorithm.

There are many rather theoretical publications about distributed systems, but Leslie’s definition nails it. Distributed systems produce all kind of surprises! They are never boring. Latency issues or network failures may trigger timeouts or split brain conditions. System failures, availability zone outages or the complete failure of a data center region challenge your availability concept. If everything goes terribly, terribly wrong, you better have a good contingency plan within close reach.

Nowadays we offload some of these challenges to modern cloud architectures. On a PaaS or SaaS level you simply stop worrying about it, because somebody else solves the problem for you. On a IaaS level things are obviously more interesting. The popular circuit breaker pattern – the one that is now mentioned in seemingly every blog or presentation (I also wrote about it in my cloud book ) – goes back to the Netflix Cloud OSS and the research done in over 50 open source projects.

Antifragility means that you grow by doing the things that stress you. Like you when you grow your biceps when going to the gym. Modern cloud architectures run an armada of chaos monkeys, chaos gorillas and latency monkey that simulate system or data center failures in production environments and inject random latencies in networks. Due to this developers are challenged to write resilient code and architects architect for constant failure. The kind of failures Leslie mentioned in his quote.

Don’t miss the other quotes of this series, e.g. regarding app servers vs. monoliths, and about SaaS and Cloud APIs.

If you don’t have cloud APIs when connecting to SAAS it is not gonna work – Luis Weir / Oracle Open World 2016.

This quote is part of my tech quote explained series from Java One / Open World 2016.

Luis Weir’s Quote from Open World 2016:

“If you don’t have cloud APIs when connecting to SAAS it is not gonna work. Simple as that”.”

Luis Augusto Weir, Principal Cap Gemini UK. @Luisw19

Explanation:

The following explanation is mine, not Luis’:

The number of APIs has grown exponentially over the last years. When a public API was almost exotic, strange and seemingly weird a couple years ago it has become the norm today. Do you still remember when you searched for a working implementation of a web service that you could access with a public WSDL just a while ago?

Nowadays there is a wide array of public APIs available. APIs give you access to Twitter, to Amazon Web Services, to your business partners, your Tesla or BMW car, to your home automation system and so on. No SaaS would make any sense without it.

The world has dramatically changed. Everything comes with an API and will continue to do so. This is why API Management becomes increasingly important and popular to manage such APIs. To understand more about this, including the evolution from REST and API Gateways to APIs everywhere, check out Luis API Management in 2016 presentation.

 

api-with-a-view

Don’t miss the first quote of this series regarding app servers vs. monoliths.

Using an app server does not mean you build a monolith – Mark Little / Java One

This quote is part of my tech quote explained series from Java One / Open World 2016.

Mark’s Quote from Java One 2016:

“Using an app server does not mean you build a monolith.”

Mark Little Red Hat. Lead JBoss Technical Direction / Research Develepment. @nmcl

 

 

Explanation:

The following explanation is mine, not Mark’s:

There is a lot of FUD about microservices these days. Some people assume that existing technologies such as application servers will be completely replaced by the new microservices trend. Sometimes application servers seem almost like an anti pattern for microservices, which is of course not true.

The dominant (and IMHO overused) example for a successful microservices architecture is Netflix. Netflix has been using Tomcat for many years as an web application server because they understood the importance of an abstraction for a “container” (obviously not in sense of a OS Linux/Docker container). Their former CTO Adrian Cockraft once explained that the “container” (again not in a Docker sense) you use doesn’t really matter, be it Tomcat, WebLogic or now a days Docker. What matters is that you have a unique abstraction that allows you to run and schedule your artifacts.

Mark has a blog posting talking about container-less development. I spoke about microservices at the OTN Latam Tour (see my trip report and Tim’s posting).