Why We Adore Azure
Indigo Cloud are very pleased to have been included in Microsoft’s Azure Newsletter (July Edition). Read the newsletter here. The feature is short and sweet but sums up our success in utilising Microsoft’s latest and greatest technologies in the cloud. We have been able to work with companies large and small to deliver our Debt Collection platform. We understand debt collection from our own experience and so have built a debt collection system that provides the ease of use and flexibility, that we understand makes the difference when it comes to successful recovery. Azure really has allowed us build our product and company over the past 5 years in a very iterative and organic fashion. Rather than investing heavily upfront we worked with companies to provide high priority functionality and build out broader capabilities to the product in small and regular increments.
DebtView is provided as software as a service model, which means our customers are not burdened by having to upgrade or apply patches as we add new functionality to the product. As we continue on our Journey we are excited about the new functionality coming to DebtView, we see so many opportunities for new capabilities that we can incorporate into our product provided to us through the Azure platform and constantly grow the product and get customer feedback as we go. It also means we are able to build the product with the most recent and appropriate technologies without disruption or any need for their internal support to ‘ramp up’ on new technologies.
The fact that the azure platform is a cloud platform provides us with a fundamental level of benefits, these include:
We often talk about the ability to support large and small companies and this comes directly from the ability to scale horizontal and vertically. What does that mean? Well Vertical scalability means you have the ability to increase or decrease the power of your underlying infrastructure. For example, when you buy a new laptop or pc you usually buy something with more RAM, a larger CPU and potentially a stronger graphics component. This is an example of vertical scaling (scaling up), allowing you to run more complex programs, run more programs at once and have the computer respond quicker, basically you are buying a more powerful unit. Horizontal scaling (scaling out) is different, instead of buying the most powerful laptop, you keep your existing one and buy another one for a low cost that has the same power capabilities. So now instead of running all your applications on one laptop you use both at the same time, giving you additional resource that you can utilise to run more applications at once. Scaling out can often be more cost effective than scaling up. Buying two lower end servers is often still cheaper than buying a high end server and if you are able to get the same result, it makes sense to scale out horizontally.
DebtView has been built from the ground up to support both vertical and horizontal scaling, Azure provides a very simple and effective platform that allows us to increase vertically or horizontally at the click of a button so as our customers grow either through the number of users they have or the amount of data they are handling, we are able to support them.
The following is an example of how a DebtView instance may evolve over time as the company / collection department grows:
Small Team Config
For small teams we often start a DebtView instance with standard sized application server capability and standard sized database. This provides a very responsive experience and we generally see this type of implementation for teams of 1 – 5 users and thousands of debts (usually under 20, 000 live debts loaded)
Small To Mid-Sized Team
The next scenario we see as a company grows is a slight upgrade resources on the backend. As teams grow to 5 -15 we often scale out a little wider and so we introduce one more application servers to distribute the load of requests from the increased number of users. We also upgrade the database to deal with more access requests and of course, generally speaking more data (more debt). We see this configuration working for circa 100,000 live debts
Larger Teams / Large Data
As a company’s solutions or capabilities increase its common to see an increase in resource needs rather than more user requests. DebtView works very hard for our customers and workflow and automation is key to the product. As more and more debts are loaded, DebtView is required to work harder, process more debts, run more processer intensive jobs etc. Here we start to combine the vertical (more power) with an increased number of boxes to scale to whatever the customer needs. Whether that is millions of debts or hundreds of users we are able configure the application to match the demand.
Finally, just to call out that DebtView is not a single application server, we have great deal of flexibility in how work is distributed and so we can scale independent parts of the system to deal with varying needs. For example, for large implementations we have a: lots of users accessing the system at once and b: heavy processing requirements for large amounts of data. In order to distribute appropriately we can scale out for user-centric activity and scale up (or out) for the backend processing activities.
In addition to the scalability described above, reliability comes a close second. Of course our application has to be built and tested to give our customers the level of quality they would expect from an enterprise solution, however the ability to scale horizontally is not only a performance consideration it also means we have redundancy built in. Azure provides seamless scalability, across the board whether that’s providing always up application servers or automated database replication, we are able to provide disaster recovery out of the box. See here for Microsoft Azure’s standard SLA.
The azure platform is compliant to an extensive list of standards both nationally and internationally. Please see here for more details. DebtView runs on Azure’s platform as a service offering and so networking, firewall and data protection in the cloud is provided to us by Azure.
It’s not just Virtual Machines.
At Indigo-Cloud we talk to a lot of people about Azure. Whether talking to our DebtView customers or our clients that we engage with on azure development for custom implementations. We have noticed there seems to be a perception that azure is really a place where you deploy applications on top of virtual machines. Of course Azure provides VMs , but that is just one component. Azure is pretty vast and there are lots of areas to the platform. We like to describe Azure as a set of building blocks from which you can build pretty much anything you need for your business. For example, consider DebtView, the following shows the main DebtView application at a logical level and shows some of services we simply plugged in to support our solution:
It is this ability to plugin and utilise various components in the Azure eco-system that provides the power of a large enterprise to small and medium sized companies. We don’t have to invest in these components such as caching, queueing, workflow, we can simply pull down what we want to use like building blocks and run an application on best of breed components. Prior to the cloud and this service-centric approach to implementation, product vendors had to either build their own or work with third party vendors to integrate and install all this at a client site. Increasing the cost and complexity of the solution.
In summary, Azure is safe, it is scalable, it is performant and flexible, cost effective and provides an extensive set of products and services that we are able to easily consume in order to provide our customers with the functionality and integration they need.