AIMMS Cloud Platform: the early daysWe officially released the AIMMS Cloud Platform at the AIMMS Summit in 2017, but we had been working with three launching customers for almost a year ahead of that time. Enterprise IT adoption of cloud was accelerating. We noticed that most of our customers were experiencing IT-related friction when adopting AIMMS PRO. They were dependent on the prioritization, capacity and skills of their company's IT departments. They also had a hard time answering questions from their IT colleagues, such as the sizing required. This friction was delaying their time-to-value and distracting them from their key task: initiating and managing change through optimization technology.
As a result, we took on the project to change the AIMMS PRO architecture and code. We made it cloud-native, leveraging Amazon Web Services. With AWS, we could quickly develop a service with high levels of security, reliability, and scalability that we could offer at a very attractive price. We involved outside experts and used AWS' training and support services. It was a very exciting project to work on. We experienced the paradigm-shift first hand, learning to think of 'infrastructure-as-code,' 'design-for-failure', multi-level security measures, and more. Of course, we had our challenges in this project. Downtime incidents early on were triggered by scenarios we had never thought of and helped us harden the product.
Let’s take a closer look at the AIMMS Cloud from a technology standpoint.
The technology behind the AIMMS Cloud PlatformWe find building and managing the AIMMS Cloud Platform quite exciting. It turns IT infrastructure, traditionally called ‘hardware’, into programming code, in a source code repository. By just running a script, we can build a new instance of the AIMMS Cloud Platform, including 40-odd server instances, in around 15 minutes. As these scripts have been developed and extensively tested on our Development environment, we can be confident that they will reliably create the Production platform without any errors, time-and-time again. In addition, we can roll-out upgrades without disturbing our users by moving their ‘live sessions’ to a newly created environment.
We have been able to make the AIMMS Cloud Platform very robust. Failing hardware is automatically replaced by the cloud provider, within minutes. We use databases that are replicated across multiple data centers and clusters of servers to scale our capacity and gain resilience against server failure. We run multiple instances of all key services. So for example when one portal service crashes, the other ones will handle its traffic until it has automatically restarted.
All this has resulted in good uptimes. Over the last 2 years we achieved an average monthly uptime (including planned downtime for maintenance) of 99.69%, with our customers seeing 100% uptime for 7 separate months.
The flexibility and elasticity of our set-up makes for a lot of opportunities. Recently, we ran a test for a customer to see if we could run 200 user sessions concurrently. We spun up 10 extra machines to do this and were able to shut them down just as easily after concluding the test. In another experiment, we added 20 extra servers, all quite beefy ones, for a period of 10 days to serve a customer's wish to run a scenario comparison project. They ran hundreds of scenarios in 20 concurrent solve sessions. This was all set up in 15 minutes. We are now investigating how to turn this into a product offering.
SecurityWhile we still get a lot of questions about security, most companies are less hesitant to shift towards the Cloud compared to 3-4 years back. It helps that Gartner has declared public cloud more secure than on-premise, provided it is done well.
We are spending a lot of time applying all the security best-practices to the configuration of our cloud platform. Earlier this year, we did a complete overhaul to further improve the security. Besides a secure architecture and configuration, we took out a service subscription with one of the leading cloud security service providers. This managed service monitors all network traffic on our Cloud platform automatically. In addition, they analyze around 2 gigabytes of logs every day. If any strange patterns are detected, their 24/7 security operations center dives in and calls us if there is a security issue. This continuous intrusion detection and automatic vulnerability scanning helps us detect almost immediately if someone has broken into our systems or if we inadvertently created a weak spot.
As an extra check, we regularly ask security specialists to perform a so-called 'penetration test' of the AIMMS Cloud Platform. The race for information security will never cease but we’re confident we’re offering high levels of protection.
How are customers benefitting?Besides enjoying the scalability and security that’s been built into the Platform, the AIMMS Cloud pretty much 'un-ITs' the consumption of AIMMS Apps. If you’re in a functional role and you want optimization apps to be used by your colleagues, then you need AIMMS PRO to deliver the apps to them. The fastest and simplest way to do this is through the AIMMS Cloud Platform. The day you sign your subscription, the Platform is up and running for you, with as much capacity as you need. If later you need more, you will have it instantly. On top of this, customers using the AIMMS Cloud enjoy a much lower Total Cost of Ownership.
Today, over 30 customers use the AIMMS Cloud Platform and their usage is only increasing. The average number of sessions per day has nearly doubled in the past few months. Close to 90% of organizations who are new to AIMMS are choosing Cloud over on-premise. Behind the scenes our team, of about 10, very much enjoys delivering this service -- despite the paradox that the better we do our job, the less visible we are to our users.