The Covid-19 crisis has provided a glimpse into a future world, a world in which digital channels become the primary and, in some cases, the sole customer engagement model. It’s a world in which agile ways of working are a prerequisite to meeting seemingly daily changes in customer behaviour.
As asset finance and equipment leasing companies pick up their growth phase post the pandemic, it is becoming increasingly important for them to work with technology partners that are embracing agile development practices to deliver goods and services more efficiently and with higher levels of reliability. In this way, companies can design and build features quickly, test them with customers, and refine and refresh them in rapid iterations across all business units and product groups.
At Odessa, one of the ways we are building the top lease management software solutions is by enabling our customers to become more agile by adopting an agile mindset to product innovation ourselves.
DevOps and Agility: A Match Made in Heaven
At its core, DevOps is a lightweight set of values and principles guiding software development as compared to the conventional heavyweight methodologies like the waterfall or Rational Unified Process (RUP).
While DevOps and agile are independent ideas, a significant crossover and shared values exist among the two. The principles and practices of DevOps are highly compatible with “agile” and its quite common for an agile team using methodologies such as Scrum, Kanban, or SAFe to simultaneously use DevOps as well. In the case of SAFe, DevOps forms a core part of the framework itself.
DevOps’ focus on flow and stability are valuable characteristics that make it easier for the business to deliver value. Done well, DevOps can improve an organization’s ability to respond to change. DevOps fully embraces Agile, and together they provide the foundational principles and tools to help organizations enable faster feedback loops, shorten production cycles, and ultimately deliver greater value for customers and the business.
Through continuous integration, continuous deployment and continuous delivery, DevOps is ensuring that we provide consistent levels of productivity, efficiency and service delivery to our customers. By breaking down the silos between business and IT operations, it is helping organizations adopt a more agile approach to their operations. Here’s how:
- Shift to Microservices: The customer focus centricity that came along with an agile transformation in the industry has made the one-time ‘Big-Bang’ release a thing of the past. Today, organizations prefer to see the architecture as “chunks/fragments” of functionality that are individual services connected to give a holistic view of the application. These fragments, known as “microservices” and DevOps go arm in arm focussing on delivery efficiency.
Companies are increasingly revamping their monolithic code and adopting a microservices architecture enforcing the hallmark of “Continuous”- be it development, testing, or deployment. Adopting these agile methodologies is enabling the developer community at Odessa to improve their ability to change, replace, and scale applications, providing our customers with the never-experienced-before approach to application development and delivery.
- Increased Focus on Automation: With the increased need for full-proofing applications, the stress has eventually percolated down to the whole nine-yard testing. Manual is now ancient and ‘automate–anything’ has emerged as a key principle of automation.
At Odessa, adopting test automation has helped us stick to the two cornerstones of agility- focus and speed. Through test automation and “no-touch automation”, we can minimize the human intervention required by the QA teams across every stage of the continuous development (i.e., quality testing, regression testing, or usability testing). This helps optimize the utilization of resources and reduce timelines and errors arising due to manual intervention while maintaining consistent quality. All this ultimately leads to increased agility for the developers and QA teams.
- AIOps, the Game-changer of the Future: If DevOps is about improving agility and flexibility; then AIOps is its best ‘partner in crime. AIOps depends on aggregating data from multiple systems while DevOps relies on integrating previously siloed systems. Together, these two approaches increase agility by automating the path from development to production, predicting the effect of deployment on production and automatically responding to changes in how the production environment is performing.
AI and machine learning (ML) come with the power of processing a large amount of data and the ability to predict the behaviour, which helps optimize the DevOps pipeline. They help create data models that can be fed into the application development pipelines, and aid in critical anomaly detection, and auto-corrections.
- Container Orchestration Breaks the Mould: Containerization has modernized the concept of DevOps by providing a lightweight environment that can be ready in seconds vs the hardware level virtualization with VMs. Application-level containers such as Dockers have helped simplify DevOps. A docker image can be created and deployed, thus replicating the environment in seconds, allowing developers to switch across environments with ease.
By abstracting the infrastructure dependencies and host systems beneath, containerization provides stability and consistency across all stages of development, staging and production. Additionally, it also leads to immense cost-benefit due to efficient use of the available resources. With microservices being small, discrete, and self-contained, a container-based design methodology helps enterprises to reuse components and accelerate development. Containers are critical for the implementation of microservices-based application architecture. Being inherently lightweight, containers allow applications to be truly portable, enabling rapid provisioning and improving agility.
- The Emergence of Serverless DevOps-as-a-Service: DevOps-as-a-service is essentially the migration of the tools and processes required for continuous delivery to the cloud. While automation of the DevOps pipeline is in progress, there is a need for eliminating the overhead of provisioning and setting up infrastructure and free the practice from the underlying host system dependencies. Fully managed Docker containers are trending and dockers are now being offered as a service. This as-a-service model enables us to partly/fully manage and scale these containers on demand without the need for provisioning or managing the underlying infrastructures.
The DevOps pipeline comprises 6C’s: continuous planning, continuous integration, continuous testing, continuous deployment, continuous monitoring, and collaborative optimization. Through intelligent automation and abstracting the rigidity and restrictions of the underlying infrastructure with containerization and serverless technologies, DevOps has transformed our zest to build agile best practices into our day-to-day operations.
Headquartered in Philadelphia, USA, Odessa is a software company exclusively focused on the leasing industry. The Odessa Platform powers a diverse customer base globally, providing end-to-end, extensible solutions for lease and loan origination and portfolio management. Odessa facilitates business agility through rich feature sets including low-code development, test automation, reporting and business intelligence to ensure organizations can more effectively align business and IT objectives. Learn more at www.odessainc.com