At Polymath Labs we specialize in writing high quality web application software, using effective technology, methodology, and architecture. While this means we can help with any kind of web application development, our main focus is cloud-native, serverless, and microservice development, because we believe these domains offer the most value in today’s digital ecosystem.

Cloud-Native Application Development

Cloud-native applications are designed to take full advantage of every benefit the cloud has to offer. While most applications developed for, or migrated to the cloud, focus on the elasticity offered by the cloud, coud-native applications focus on minimizing the development scope to only the business domain, and leverage cloud managed services, or third party APIs for everything else. This approach offers:

  • Smaller footprint in the cloud as custom application code is only focused on the business domain
  • Lower costs of operation due to the smaller footprint and lower demand for operational support beyond the business domai
  • Industry strength capabilities such as authentication and logging through managed services
  • Higher scalability, reliability, and performance due to the fact that all non-business domain functions execute in their own environments with separately and outsource scalability and reliability

Serverless Deployments

Cloud computing introduced the premise of outsourced physical server management and a pay-per-use model. Organizations went from having to acquire, own, and maintain infrastructure, whether they used it or not, to only paying for it when they use it, fine-tuned to the minute. Serverless take this model to the next level by further abstracting the infrastructure and making it possible for organizations to only pay while their code is being executed, fine tuned to the second. With Serverless:

  • You pay nothing while your application is not in use even though it is still available
  • You need to have no knowledge of the infrastructure it is executing on
  • Your application can scale to any demand, on-demand without provisioning or auto-provisioning of additional infrastructur

Microservice Architectures

Imagine a large mission critical application, serving millions of users. Adding a simple enhancement to such an application requires testing a significant number of potentially impacted features, potential audit and compliance checks on the entire application, user acceptance testing, and finally a major deployment within a predetermined downtime window. Then, imagine such an enhancement introducing a memory leak that takes the entire application down. Microservice architectures dictate the breakdown of such large monolithic applications into a large number of smaller independent but related applications:

  • Allowing a single team to own and be accountable for all aspects of a single microservice ensuring such teams can resolve any issue within their domain
  • Allowing microservices to scale independently to their own needs
  • Reducing time-to-market, a microservice is easier to build, enhance, test, and deploy
  • Reducing the risk of negative impacts from a single component to the entire application
  • Allowing multiple technologies to ensure each domain is free to leverage technologies best suited to that domain and team skills