Beena Jacob, Chief Technology Officer
Moving Donoma’s products to be cloud native has been a major focus for the past 2 years. Why? Because it provides a number of enhancements:
- better customer experience,
- features innovation,
- greater application stability,
- greater scalability.
In this article, I am sharing the strategy behind a move into cloud native architecture. I will explain what it is, and how it is helping us deliver innovative features to our products. More security. More agility. Embracing Internet of Things (IoT) and Artificial Intelligence (AI) into our solutions.
Our first discussion will be focused on providing context and background on cloud native, as well as how we’ve already begun to implement its principals into our solutions. Let’s dive in!
Exactly What is Cloud Native?
Cloud native is currently one of the leading trends in the computer industry. It is a framework of designing software to run in the cloud, rather than in individual implementations on site. This allows software development to innovate faster. It also provides more scalability. The cloud native architecture is much less expensive to support and manage; all while reducing risk. Let’s explore each one of these fundamentals.
Rapid Innovation: In the past, the norm was to avoid risk and develop software very slowly. How about releasing new features within days or even within hours? Cloud native approach helps us deliver new features fast. How? By doing small incremental steps that it can be reversed if needed. Risks become more manageable while accelerating new feature delivery.
Improving Scalability: When ideas are released to market faster and our customer base has grown, we now support more users and scalability becomes critical.
Reducing operation costs: As more and more software is adopted into today’s organizations, the need for additional computing and storage resources continues to grow. By embracing a cloud-based SaaS solution, both Donoma and our clients can gain better economies of scale and cost reduction. Donoma clients can easily provision and pay for only what is needed. If the need grows, the expansion is available via a few mouse clicks.
A cloud native strategy is all about reducing technical risks while innovating rapidly. It can be extremely powerful, but it does involve considerable amount of technical challenges and a cultural shift to embrace cloud SaaS applications.
How Does Cloud Native Work?
Like the story of the blind men and an elephant, cloud native might seem like it has different meanings, but this is not the case. The core components that make up cloud native each play a vital role in the implementation of cloud-native applications. Let’s dive briefly into each one:
- Micro-services: Micro-services, also known as micro-services architecture, is a development framework that structures an application as a collection of services that are loosely coupled, independently deployable, and organized around business domains.
- Containers: Containers make it easy to test processes and dependencies, as well as move and deploy.
- Orchestration Tools: Orchestration helps with tasks such as scaling, configuration, rolling updates, etc.
- Infrastructure-as-a-Service: Services can run on servers that can be provisioned on demand.
- Continuous delivery:With automated testing and container packages, deployment to production is continuous.
How We’ve Embraced Cloud Native Architecture
At Donoma, we’ve already embraced cloud native. We’ve already implemented cloud-native principals into all three of our solution platforms: Archiving, (OneVault) Audio transcription (OneVoice) and Analytics (OneView). We’ll use our product, OneVault, as an example. OneVault is our unified archiving platform for email and communications data archiving. Our prior archiving solutions were originally created as virtual applications that were individually implemented at each client’s premise. When we transitioned from on-premise to cloud native SaaS we accelerated our ability to implement new features even faster.
Microservices architecture also plays an important role in developing cloud-native applications. By implementing modules as loosely coupled micro-services, we were able to manage the technical risks and complete the feature within the aggressive timeline. A feature we would deploy in 4 to 6 months could now be deployed in as little as 6 weeks. Even better, clients would automatically gain the benefit of the new feature (or bug fix) without addressing each installation individually. We make changes to the application in the cloud, and new functionality is automatically updated. This reduces time, expense and risk for everyone.
Time for You to Begin Your Journey
By explaining cloud native with examples from our own products, I hope to demystify the benefits of cloud-based SaaS. In my next post, I will discuss our next steps for our solutions including more micro-services and looking ahead for new options for even stronger security and greater scalability.