DevOps Software Development Practices

Develop and setup DevOps software to make sure PaaS Platform works great in production.

Aspose Pty Ltd is the company that leads brands trusted by over 17,500 customers in more than 114 countries. More than 75% of Fortune 100 companies trust and use Aspose products.

Aspose’s core focus is to offer the most complete and powerful set of file management APIs on the market.

Client: Aspose Pty Ltd, Australia

Industry: Document Processing, Cloud Document Processing

Services: Document Processing Libraries in multiple Programming Language, PaaS Platform for Cloud Document Processing in any Language

Project description

The PaaS Platform which offers RESTful APIs to Process Documents was built using top technologies like .NET and AngularJS and now it’s transitioning to latest versions of each, .NET Core and Angular 7.X.

The project takes advantages of resources from Amazon to offer scalability and high availability for processing documents in the cloud.

Project is based on a infrastructure formed of a bunch of microservices, each of them being deployed to a Docker image, which then are deployed on a cluster. This cluster works as a container orchestration tool, scaling services and servers up and down based on the usage.

Our contribution

We contributed with a team formed of 2 DevOps Developers and lead the DevOps part of the platform from its inception to what it is today.

We have leaded the separation of the big monolith platform into a group of microservices, and then we have setup Amazon ECS as an orchestration tool for the microservices containers.

Also, we have developed the auto scaling infrastructure using Amazon resources like: Amazon Auto Scaling Group, Amazon ECS Container Scaling, Amazon CloudWatch Alarms and so on.

Besides that, we have developed and integrated different DevOps resources into the environment, from Amazon (Amazon Application Load Balancer, Amazon Lambda Scripts, Amazon Cloud Formation for scripting etc.) and open-source tools (ELK Stack,  Redis, Quartz.NET etc.).

Today, we continue to lead the platform, and the team is working on transitioning the platform from Amazon ECS as a cluster to Kubernetes as a cluster along with the autoscaling resources to be moved to another tools (which all should be open-source).