Siddhartha Agarwal, vice president of product management and strategy for Oracle Cloud Platform and Oracle Fusion Middleware, talks with Oracle Magazine about the cultural shifts, technologies, and common patterns he sees in cloud-native application design and development.
Oracle Magazine: What is cloud-native development?
Agarwal: Cloud-native development refers to a modern application development paradigm that focuses on developing applications for the cloud first or only for cloud. With cloud-native development, applications can be delivered faster and in a more agile fashion than traditional applications.
Oracle Magazine: What are the challenges for executives overseeing cloud-native development projects?
Agarwal: The biggest challenge is cultural. Executives want “big bang” projects but traditionally have seen those projects take months and years to deliver. Cloud-native approaches take that development cycle down to days and weeks. But faster delivery means feedback and guidance from business executives is needed sooner rather than later.
This cultural shift goes up and down the organizational structure. Those building the applications need to understand the timeline to delivery. Those accepting the applications need to realize that what isn’t quite right the first time will be easily fixed and extended in the next release. This forces a lot more communication within teams and across teams—all good outcomes—but it can be a jarring organizational change.
Oracle Magazine: What challenges do cloud-native developers and projects face, and how does Oracle address them?
Agarwal: The big challenge for cloud-native developers is bringing together a solution and process that addresses the several major components of cloud-native development. Building microservices, for example, can be difficult because developers cannot depend on them running on a particular server. Leveraging Docker containers is challenging because container orchestration requires an orchestration layer, long-running web services require scheduling, and so on.
It is often easy to find a solution that manages Docker containers for a developer team or to find an API management solution or to find a mobile development platform. What is hard is bringing together the complete solution that enables developers to deliver applications on that platform in a fully automated DevOps-friendly environment.
Our solution is the Oracle Cloud Platform AppDev set of services. We’ve examined the five or six capabilities that a cloud-native platform needs—DevOps, microservices, API management, Docker, mobile, and diagnostics—and built a platform where these are tightly integrated to work together.
Oracle’s solution is more than first-class cloud-native tools—it’s an ecosystem that these projects need: services for integration, collaboration, data, identity, management, and so on.
Oracle Magazine: What are typical use cases for going cloud-native?
Agarwal: We see several patterns over and over again.
Customers are doing new cloud application development, often in their new business areas. Typically these projects start with a mobile front end and a back-end data service. A set of microservices implements the business rules and persistence. The new cloud-native apps connect to source software-as-a-service [SaaS] and on-premises applications via an API and integration solution. This net-new cloud application development pattern is supported by Oracle’s platform-as-a-service [PaaS] solutions, including Oracle Mobile Cloud Service, Oracle Application Container Cloud services, Oracle API Platform Cloud Service, and Oracle Integration Cloud Service. In addition, Oracle’s infrastructure-as-a-service [IaaS] platform provides high-performance compute and container-as-a-service capabilities to run any microservices/container-based applications for DevTest or production.
Then, there are Oracle customers running an enterprise Java application on Oracle WebLogic Server or Oracle SOA Suite as a key part of their on-premises portfolio. They’ll transparently migrate those applications to our Oracle Java Cloud Service, Oracle SOA Cloud Service, and Oracle Database Cloud Service. But inevitably they want to modernize those applications with cloud-native capabilities including a mobile front end, a new business microservice, and an API for external access.
This modernize-and-extend application development pattern leverages cloud services that enable cloud-native development—Oracle Mobile Cloud Service, Oracle Application Container Cloud services, and Oracle API Platform Cloud Service—alongside cloud services to modernize on-premises Oracle and non-Oracle workloads.
Finally, there is an application development pattern for extending SaaS applications via microservices and mobility to deliver a new business process or experience that spans multiple SaaS/on-premises applications. For example, suppose a business wants to integrate information from multiple SaaS applications to deliver a custom mobile experience—such as a chatbot—to drive prospect excitement and loyalty. Like the other two application development patterns, we see this one over and over again.
Ultimately, in every application development pattern, the cloud-native experience lets developers solve business problems quickly and gain immediate value.