Nexus is the UK’s largest outsourced key holding company that has been constantly growing.
In 2016 it has become obvious that Nexus outgrown their current hosting infrastructure and long term plan was needed. Empire Elements researched all the possible options, then a decision was made to use Amazon Cloud Services (AWS) for future growth.
AWS just recently announced new datacenter region in London, confirming its commitment to the UK businesses. The choice for Nexus was obvious, plentiful of features, rock solid reputation and relentless pace of innovation.
Nexus migration project was carefully planned and split to several smaller milestones. Continuously tested, deploying one feature at the time fully embracing DevOps principles and practices.
DevOps team at Empire Elements created cloud architecture blueprint, listing all AWS services that will be used: Amazon Cloud Storage S3, Elastic Compute Cloud EC2, Elastic Load Balancers, CloudFront, Lambda Functions, Simple Email Service.
Moving away from monolithic environment to micro-services was a bit of a challenge and required innovative thinking to separate storage from computing and other services.
Having new production and development processes in place has helped us to test each feature and decoupling services then became a manageable task with realistic set of milestones.
First and perhaps most important was the storage. Coming from a dedicated server environment, Nexus application had to be modified to allow for external storage. AWS S3 storage offers virtually unlimited object storage that can scale to trillions objects worldwide. First problem with fast, scalable and reliable storage was addressed. All Nexus users now upload content that is encrypted by default with separate lifespan policy with automatic archiving. The data is never lost.
Another very important problem to address was horizontal scaling of the Nexus PHP application. During the predicted and unpredicted traffic peaks this was becoming a really serious problem on the old platform. After evaluating several options we chose Docker and AWS Load Balancer with Autoscaling Group using AWS Elastic Compute Cloud.
Docker is a world’s leading software container platform and a fairly new technology. The idea is that using Docker we build the application, its all dependencies and ship it to any environment. Apart from controlling the application in detail there is another inherited benefit. Production and Development pipelines are therefore both in-line and application can be tested in development as if it was a production. To put it simply, developing the application further just got a lot easier.
Amazon EC2 service has auto scaling set up. When the load hits a predefined threshold a new unit is created and destroyed when not needed.
So far we have implemented three things and the reasons to move to AWS were validated beyond a doubt. Scaling application is something that would be out of the reach for most businesses just 5 years ago. Now with the power of Amazon Web Services Nexus web application can expand.
AWS allows for virtually infinite growth
And a lot of businesses are moving to AWS, the benefits are too attractive, features plentiful, pricing model affordable and it allows businesses to grow, rapidly!