Formerly known as Wikibon
Search
Close this search box.

Modernizing Apps is Hard | Oracle Proves it Doesn’t Have to Be

Introduction

Modernizing applications or apps, means making them Cloud Native or more importantly today, Hybrid Cloud Native. What is Cloud Native? Cloud Native is the process of designing, constructing, operating, and managing applications and workloads built in a cloud that leverages the cloud computing model and its technologies. It takes advantage of containers, microservices, service meshes, virtual hardware as well as software infrastructures, and declarative APIs.

Hybrid Cloud Native is the more recent modernized extension of Cloud Native in that it enables those Cloud Native applications and workloads to be easily portable. The applications work the same whether in a public cloud, on-premises private cloud, or combination of the two. It allows application and workload infrastructure flexibility. Meaning they can move from environment to environment with minimal or no modifications.

Premises

Hybrid Cloud Native applications have been driven by the rapid rise of public clouds and several common intractable issues. The first being slow DevOps and DevSecOps. This becomes quite problematic as business requirements can and frequently do change rapidly, often at a faster pace than traditional development can complete. The result is a much-delayed time-to-market, ineffective outcomes, and extensive budget overruns.

Outdated and inelastic hardware infrastructure provisioning and scaling models mandate payment for resources regardless of what’s used has become a big problem. It puts all of the risk on the customer. They don’t want that anymore. Customers are demanding flexible on-demand elastic scaling. They want to pay for use, not pay for infrastructure.

 Another Hybrid Cloud Native driver is the hunger to leverage more open source software because it enables more and better strategic development in less time. But legacy application models make it difficult to take advantage or extend investments in open source software.

And then there’s the very high cost of legacy application operations. Costs that include maintenance, patching, upgrading, and extensive manual, labor-intensive administrative processes, and tasks. IT operations urgently need to reduce both the costs and the laboriousness.

One more issue with legacy applications and application development is resiliency. Designing resiliency into legacy applications takes a lot of resources and time. Many developers don’t bother or leave it to the hardware infrastructure. This creates a problem by making those applications less resilient or much more costly.

Hybrid Cloud Native is designed to solve each of these problems. It inherently provides resiliency by design. It’s extensible and open source friendly. Elastic pricing is a fundamental part of Hybrid Cloud Native. And there can be a high degree of automation built in with full observability. All of this leads to faster-time-to-market, reduced labor-intensive IT operational tasks, greater application resiliency, with faster more consistent revenues.

The good news is that the technological advancements of containers and microservices are facilitating the move to Hybrid Cloud Native. Containers are one of the hotter trends in virtualization and it’s no secret as to why. When compared to hypervisors and virtual machines (VM), a physical server can support 4 to 6 times the number of containers as it can VMs. Consider that’s a 75% to 83% reduction in hardware to run the same number of distinct applications. That’s a huge reduction in cost both on premises and in the public cloud. IT organizations have noticed.

Wikibon estimates more than 50% of Enterprises are taking advantage of containers today. The Cloud Native Computing Foundation (CNCF) 2021 survey found 93% were currently using or planning on using containers in production.

Kubernetes standardization has made containerization less risky and simpler to orchestrate, provision, implement, and manage. Container portability has made it much easier to develop in a location different from the production location without worrying about variances in the infrastructure. That same CNCF survey found 96% were either using or planning to use Kubernetes. Containers and Kubernetes have become an essential part of Hybrid Cloud Native.

Microservices are the other very hot trend helping enable Hybrid Cloud Native. What makes them popular is that they simplify development, have a narrower more specific focus, get completed faster, and produce results more quickly. Microservices fit hand-in-glove with containers.

Here’s a multi-billion-dollar question. Why isn’t Cloud Native and Hybrid Cloud Native being adopted more rapidly? The answer is complicated. In fact, the answer has everything to do with complexity.

Major Obstacles to Cloud Native and Hybrid Cloud Native Adoption

There are large number of obstacles facing IT organizations making the move to Cloud Native and Hybrid Cloud Native applications. One of the most challenging is the glut of complicated tools that are exceedingly difficult to integrate. Unfortunately, a broad spectrum of products and services are necessary today for effective Cloud Native and Hybrid Cloud Native applications. There are several hundreds of tools available as seen in the CNCF chart below.

Each one of these tools has its own unique dissimilar interface, processes, APIs, and too often non-standard software. Every tool adds to the integration complexity, meaning it becomes increasingly complicated to implement, operate, maintain, and troubleshoot.

There’s a steep learning curve to this process. Developers and administrators must have extensive comprehensive knowledge, skills, and experience to do it well. That translates into a disproportionate amount of training. The result being too much time and treasure. And it gets worse.

Multiple tool complexity frequently adds latency. Latency rapidly decreases application performance that cannot be solved by Moore’s Law because Moore’s Law has slowed to a crawl. Those additional layers of latency make performance optimization considerably problematic.

Complexity makes it very hard for developers to provide many of the traditional and necessary devops and devsecops processes for their applications. These processes tend to be deficient. Processes such as:

  • Quality assurance (QA)
  • Documentation
  • Debugging
  • Troubleshooting – as previously mentioned.
  • Root cause analysis
  • Fix implementation
  • Patching
  • Ongoing maintenance
  • Updating and upgrading
  • Incomplete and unreliable security
  • Networking optimization
  • Storage and storage optimization
  • Management
  • Monitoring and logging
  • Enterprise support

These common deficiencies cause other problems such as Cloud Native and Hybrid Cloud Native application reliability that’s sketchy at best and usually worse. This can and often does lead to the imperfect portability between different public clouds as well as between public clouds and on-premises. What this all means is that far too many Hybrid Cloud Native projects fall short of expectations or fail completely. It is making mission-critical Hybrid Cloud Native applications a non-starter especially for Enterprise organizations.

It shouldn’t be that way. If Hybrid Cloud Native applications are going to succeed and take off, it must change. Oracle has made it clear that they agree.

How Oracle Solves the Cloud Native and Hybrid Cloud Native Obstacles

Oracle recognized these obstacles to Cloud Native and Hybrid Cloud Native applications, especially mission-critical and Enterprise class applications. In examining the problems, they researched and established what was needed to solve the problems. This is what they discovered.

Oracle determined the minimum requirements are container application management, container infrastructure runtime, and a scalable and secure OS.

To meet these needs, Oracle has combined the ideal mix of curated, standards-based suite of open-source software technologies with world-class integration, and Enterprise support both on-premises and in the cloud. This combination is specifically designed to dramatically simplify development, adoption, operations, and management of Cloud Native and Hybrid Cloud Native applications.

Oracle’s Cloud Native and Hybrid Cloud Native Framework

It starts with the secure, scalable, well renown, and Red Hat binary compatible Oracle Linux OS. Next comes simplified container infrastructure lifecycle management and runtime provided by the Oracle Cloud Native Environment (OCNE). The multi-cluster, multi-cloud, hybrid application management platform is provided by Oracle Verrazzano Enterprise Container Platform.

+

Oracle Cloud Native Environment

OCNE “Unified Management” is the open-source framework developed by Oracle to power the installation and management of the OCNE. It impressively simplifies installation and management. Unified management includes open-source Platform API Server, Agent, and Command-Line Interface (CLI). It’s also very elastically scalable making it very easy to add or remove control plane and worker nodes. Additional modules can be added simply over time. Unified management moreover provides cluster-wide functionality such as rolling updates, upgrades, backups, and restores.

OCNE includes the very popular Kubernetes for container orchestration and management. The Kubernetes implementation is certified by CNCF. OCNE furthermore supports multiple control plane nodes with high availability, cluster-wide backups, and restores. It also contains an implementation of the Kubernetes Container Runtime Interface (CRI-O), which runs containers directly from Kubernetes without any unnecessary code or tooling. OCNE supports both runC and Kata Container runtimes.

runC is a CLI tool for spawning and running containers according to the Open Container Initiative specifications. Kata Containers are lightweight virtual machines that feel and perform like containers providing workload isolation and security advantages of VMs. But Kata Containers maintain the speed of deployment and usability of containers.

OCNE application definition and image build leverages Helm used with Istio. It operates as a package manager for Kubernetes, by managing the creation of complex, multi-container applications and web services. It also allows for description of the application structure through convenient helm-charts and manages it with simple commands.

Istio is an open platform-independent service mesh. It provides traffic management, policy enforcement, and telemetry collection. Istio reduces the complexity of managing microservice deployments. It uses an extended version of the Envoy proxy and embeds Prometheus and Grafana for cluster metrics and analytics.

OCNE is moreover compatible with common and popular cloud native tools such as Terraform[1], Vagrant, Ansible1, Chef, Puppet1, GitLab, Packer1, Salt, Clair, and Notary. Then there’s Oracle Linux Automation Manager 2.0 (OLAM).

OLAM delivers modern provisioning, deployment, configuration management, and task automation. It empowers users from development, operations, security, and network teams to create, share, and manage infrastructure automation tasks.

Oracle Verrazzano Enterprise Container Platform

Oracle Verrazzano Enterprise Container Platform is curated compilation of open-source modules provisioned
as an opinionated
secure container platform, including:

  • Istio, Rancher, Keycloak, observability stack, other CNCF components.
  • Oracle-authored open-source operators, custom resources, and controllers.
  • Oracle Support for Java frameworks– Helidon, Micronaut, Spring Boot.
  • Oracle Support for Coherence CE – for microservice state management and distributed in-memory logic processing.

Verrazzano is specifically designed for Microservices, polyglot, any container workload, multi-cluster, multi-cloud, on-premises, It’s the consistent platform for all Cloud Native and Hybrid Cloud Native applications. Verrazzano simplifies, automates, and rapidly moves WebLogic applications to Kubernetes. It provides WebLogic, Coherence, and Helidon intelligent workload handling, tools to migrate WebLogic applications, as well as day 1 and day 2 automated management.

Verrazzano customers see it as a bridge between the legacy world and that of Cloud Native and Hybrid Cloud Native. This comes from the cross-cloud and on-premises-cross cloud consistency.

That consistency comes from the use of the exact same stack across clouds and on-premises. Consistency is further abetted by a combination of:

  • Intelligent workload management across Kubernetes clusters in the cloud and/or on-premises.
  • Automated integral observability for system and application components.
  • Application lifecycle management with optimized cross-cluster updates.
  • DevOps and GitOps enablement.
  • Kubernetes infrastructure management including underlying Kubernetes clusters with deep visibility.
  • Multi-level platform security protection for network traffic, system, and application components.

Oracle Verrazzano flattens the cloud native technology adoption learning curve through simplification of the platform setup in addition to automating application setup within the platform and the service mesh. Put simply, Verrazzano reduces the cloud native expertise needed to deploy and manage applications and Kubernetes clusters. Oracle Verrazzano provisions an Istio service mesh to provide network protection, traffic routing, and observability for applications at installation. It also sets up an observability stack that includes Prometheus, Grafana, OpenSearch, and Fluentd, among other components. Out of the box, the environment is set up and ready to go.

Developers in the know are salivating over Oracle’s Verrazzano intelligent workload management across Kubernetes clusters in the cloud and/or on-premises. Verrazzano automates many of the manual tasks. Tasks such provisioning of select operators, creation of Kubernetes objects, application modeling for advanced deployment scenarios, and extended features for WebLogic, Coherence, and Helidon workloads. In a word, that’s ‘huge’.

Verrazzano intelligent workload management radically reduces operational overhead while providing exceedingly simple cross-cloud portability. This capability is what delivers the container Cloud Native, and Hybrid Cloud Native application management flexibility developers have been seeking.

Verrazzano automatically takes the following actions when an application is deployed:

  • Distributes Kubernetes custom resources to the cluster where it’s deployed.
  • Creates namespaces.
  • Copies secrets to the namespace.
  • Creates a Kubernetes deployment and a Kubernetes service for applications.
  • Deploys required operators and passes custom resources to the operators for Oracle WebLogic Server domains and Oracle Coherence clusters.
  • Creates network policies in the Istio service mesh.
  • Creates an ingress into the service mesh.
  • Sets up metric and log record transfers to the Verrazzano observability stack.

For some workload types – including Oracle WebLogic Server and Coherence, Verrazzano pre-deploys required operators. Verrazzano then augments the deployment automation with those operators at deployment time, letting those operators handle the details, resulting in optimal runtime management of those applications.

Oracle Verrazzano lets developers create environment agnostic container applications. Those applications are straightforwardly assembled with environment-specific traits and scopes at deployment. More importantly, these capabilities are propelled by DevOps- and GitOps-friendly YAML files.

Oracle designed Verrazzano for multicloud use cases using a federated cluster scheme. For multicloud cases, users create and manage clusters, and deploy and operate applications across those clusters from a single pane of glass – the Verrazzano Admin Cluster. The Admin Cluster federates application deployment to the Managed Clusters and collects metrics and logs for complete visibility. The following illustration shows how multiple Kubernetes clusters in multiple clouds works with Oracle Verrazzano Enterprise Container Platform.

How Oracle Verrazzano Enterprise Container Platform Differs from Open-Source and WebLogic Suite

Oracle Verrazzano Enterprise Container Platform delivers Enterprise class support on an annual subscription. It includes support for the Oracle Verrazzano container management platform, as well as support for Coherence Community Edition, and Java Frameworks (Helidon, Micronaut, and Spring Boot).

Open-source Verrazzano comes with an open-source container management platform and community support only.

WebLogic Suite includes support for the Verrazzano container management platform.

Summary and Conclusion

There are huge advantages to Hybrid Cloud Native applications. Portability, flexibility, elastic scalability, manageability, operability, serviceability, upgradeability, lower cost, and more. They’re designed to take advantage of cloud technologies. But there are serious problems in hindering their implementations. Not the least of which is complexity and deficiencies in QA, documentation, debugging, troubleshooting, root cause analysis, fix implementation, patching, maintenance, updating, upgrading, security, poorly optimized networking, poorly optimized storage, management, monitoring, logging, and Enterprise support.

  • Oracle Verrazzano Enterprise Container Platform is designed to solve these issues. It enables Hybrid Cloud Native containerized applications to be built and run everywhere. It uses certified open source, cloud-neutral toolchains. It’s aligned with the Cloud Native Computing Foundation (CNCF).

The extensive use of automation and advanced integrations simplifies and accelerates DevOps, DevSecOps, and deployments while making management and all operations faster and easier. Whether it be:

  • Intelligent workload management across Kubernetes clusters in the cloud and/or on-premises.
  • Automated integral observability for system and application components.
  • Application lifecycle management with optimized cross-cluster updates.
  • DevOps and GitOps enablement.
  • Kubernetes infrastructure management including underlying Kubernetes clusters with deep visibility.
  • Multi-level platform security protection for network traffic, system, and application components.
  • Day 1 and day 2 automated management

All of this translates into lower overhead, faster-time-to-market, and faster-time-to-revenue.

One final note. The modern Oracle is not your father’s Oracle. Oracle has for several years now been laser focused on making the cloud, databases, Linux, applications, database cloud services, Cloud@Customer, Exadata, SaaS, IaaS, DevOps, DevSecOps, and more, simpler, more automated, more advanced, and lower cost than their competitors. The Oracle Verrazzano Enterprise Container Platform is another iteration of that focus.

They are not the database ogre many remember them to be. That may have been true at one time. Not any longer. They may not be the biggest cloud provider, but they have some of the best, simplest, lowest cost cloud services. They may not be the biggest Linux distributor, but they have some of the most advanced capabilities in the market. Oracle Verrazzano is an outstanding example of what Oracle has become.

For More Oracle Verrazzano Enterprise Container Platform Information

Go to: Oracle

[1] Available on Oracle Linux yum server at https://yum.oracle.com

Book A Briefing

Fill out the form , and our team will be in touch shortly.
Skip to content