If you had at least one chance to attend business and technologies conferences recently, you probably saw lots of DevOps strategies, Agilist, and DevSecOps engineers around the digital transformation track. No matter what business you work in, it’s no secret that DevOps is a big trigger to craft new companies. It is also used to optimize existing resources, from the IT infrastructure to workflow processes and cultural changes.
While I was moderating several tracks (i.e., serverless) at KubeCon + CloudNativeCon North America 2020, I had a chance to catch a very interesting trend around DevOps.The trend was more interest in cloud-native application development than deployment and provisioning with certain cloud platforms on Kubernetes. Kubernetes was unleashed upon the world back in 2014. Since then, IT ops organizations have benefited from orchestrating immutable application runtimes with service invocation and discovery, autoscaling, and resilience by using Kubernetes. In the meantime, application workloads also need to move forward to serverless functions and event-driven reactive services, along with the DevOps platform, which is a key ability to manage multi and hybrid cloud infrastructure.
In this article, I will talk about DevApps more than DevOps since the applications are critical to accelerate your business success, along with matured DevOps tools and technologies. The following three serverless applications development and deployment approaches are driving fast-adoption of the DevApps practice today.
The COVID-19 pandemic triggered enterprises to run business services on the managed platform. Also, developers began transforming existing microservices into serverless functions. Cloud-Native Serverless Landscape can be the first step for developers to create deployable functions across managed cloud platforms. More importantly, it’s not easy to develop traditional microservices and serverless functions on the same application runtime along the container-native way. For 10+ million Java developers worldwide, Quarkus enables them to address this complex issue without a steep learning curve for both imperative and serverless applications.
Event-driven services are growing because they increase flexibility and agility. They also reduce dependencies and complexity in application development. Serverless events enable developers to maximize these benefits when they implement event publishers and exchange data across serverless platforms. Knative Eventing is built on CloudEvents to allow developers to write serverless events with late-binding features such as event creation, event sinks, and event consumption.
With the rise in popularity to adopt the DevOps pipeline, workflows definition is also becoming a key role in serverless events coordination. This is because serverless functions are also increasingly complex and composed of multiple tasks in a single event. To specify complex business workflows with serverless workloads, Serverless Workflow allows developers to define the workflow models with a vendor-neutral specification for orchestrating serverless events. The Serverless Workflow specification is an initiative project by CNCF.
What’s next for DevApps developers?
With many different cloud-native Java frameworks in place, Quarkus gives developers more benefits from container-first design to live coding for inner loop development, imperative and reactive programming, and more Kubernetes-native pre-integration. More practical and useful guides about Quarkus are here.