Differential Functions — Not a Math Lesson!

Mitesh Agarwal
jsonlovesyaml
Published in
5 min readMay 4, 2020
What this article is not about !

Simply better Enterprise IT-Ops with Event-Driven, Serverless — Oracle Functions, the cloud-native way

The ladder of success is best climbed by stepping on the rungs of opportunity.

The only issue with this Ayn Rand quote is that it doesn’t specify that the ladder is not linear and could be an infinite spiral. For most Enterprises, Serverless & Functions are just steps on this infinite ladder — a ladder of value. We consider this as the Ladder of Differential Functions — something that brings incremental value to your organization. If it doesn’t bring business value- frankly, we suggest you don’t do it! But do read on — you might move to a different step in the ladder but might still be in the right direction.

Just moving workloads from On-Prem to Cloud is a step forward on this ladder, so is moving from VMs to containers to Kubernetes, so is making cloud-native programming decisions using functional programming, so is moving from long-lived servers to self-hosted FaaS and so is constantly making your IT Operations cost-efficient.

This is Part 1 of an article where we describe the philosophy behind how Oracle Functions can help you with significantly fewer operations resources to keep your applications working, remotely, at a lower cost, automated, securely, on the cloud.

Reduced operations is more efficient

The Cloud is a melting-pot of design philosophies that can be polar opposites of each other

Self-service - More Power to the users (Empowered, Educated, well-behaved users)
Zero-Trust - You can't trust anything (Compute, Storage, Network, Database) or anybody (people who run or operate them )

As the cloud transcends from being that cool thing that thrifty developers use to a consequential and viable option, to host business-critical applications for large enterprises; even for the enterprises that build, run and operate large data centers; even for the ones in highly regulated industries. Some needs begin to take center stage.

Self-Service with Guard Rails
The systems you build, must allow kid-gloves for beginner enterprise users. Don't trivialize the needs of power users. Use a robust defaulting strategy.
Determinism is not real, don't pursue it
Design Cloud Systems that embrace 80-20 principles, start with 80 but pursue the 20 systematically and continuously. Black Swans come after.

This article is about how you can do both with simplicity and ease in Oracle Cloud Infrastructure, using data ( database ) backups as an example scenario. The same principles, methods, and tools can be extended to all other systems.

To add context, Retain the spirit of Cloud wherever possible

If you can
Allow databases to be provisioned by application-owners but with guard rails. Restrict versions you don't want them to use on the cloud if you have to, but, 
Let THEM take control.

But Never trust them to do the right thing

Anticipate and build automated & corrective systems with the assumption that application users won’t create database backups in-line with your policies, or encrypt backups or rotate keys.

Default to a reliable configuration

Build systems that will default to the best practices and automatically fix issues created by beginners. 

The worst thing that can happen is that systems fall-back to a reliable, well-understood default.

Even if your application owner has configured a database without automated backup , make sure the systems add a backup configuration later.

Don’t build a Rube Goldberg Machine

Only select those tools and methods to build guard rails, that won’t add any additional maintenance overhead. 

Don’t use a monitoring tool that needs monitoring when you have an option to choose cloud native services.

https://www.popsci.com/sites/popsci.com/files/images/2016/07/tea.gif

Human in the Loop to expedite Exception Resolution

Notify the Human, yet still automate
Even as you pursue obsessive automation, notify humans when anything in the system fails. Have fail-safes to break the contraption you built whenever required.

Exception Handling: The first avenue to Expand the Sphere of Influence

Check if that mundane exception condition can be added into the catalog of guard rails.For eg. After analysis , it was found that the backup failed due to 'X' Reason, can I use tooling to diagnose it ?, if yes, can I fix the cause with automated tooling ?

The Ingredients

The Architecture

Visit Part 2 of this article where you can access a sample recipe

Summary

  1. The use of Oracle functions on OCI, can help your organization focus on your business and help you reduce operations cost. Just use the ready-made recipe.
  2. No-Trust Automation
  3. Use Reliable Configuration defaults
  4. Don’t build a Rube Goldberg Machine for Automating Enterprise IT-Ops. Its already a zoo out there.
  5. Climb the infinite ladder by moving in the right direction. Move from On Prem to Cloud where possible. Start the Journey to Cloud now!

About the authors

Mitesh Agarwal: VP of Global Key Accounts, Oracle India

Vamsi Ramakrishnan: Solutions Engineer, Oracle Cloud

Both of them work for Oracle but the views expressed here are personal. They do not represent any official view of Oracle as a company or any of its partners.

--

--