AWS Development Consulting
AWS has undeniably changed the way software is built. No longer are high availability and fault tolerance out of reach of small teams of talented developers. Now we just code, and with a sprinkle of "infrastructure-as-code (IAC)" we can achieve a degree of quality which used to require armies of sys-admins and costly data centers.
We can build software that runs on well-architected infrastructure in the AWS cloud. By that we mean that such an application or API is built with rendundant computational resources, databases and other infrastructure so that downtime is kept to a minimum. This may sound costly, but it doesn't have to be:
- Serverless architectures are mostly pay-as-you-use, meaning that you never pay for unused computational resources. We love serverless!
- Traditional EC2 servers can benefit from auto-scaling, allowing the resources that are available to the application to scale up and down as determined by computational need.
- Micro-service architectures allow individual services to scale independently from one another. Furthermore, this architecture allows one to choose different technology stacks for each service. While one may need a costly relational database solution for one part of the application, this is often not the case for most other data storage requirements where often a simple key-value store such as AWS DynamoDB will suffice.
In the end we love efficiency! That can be achieved by writing efficient code, and by architecting the infrastructure that this code runs on in such a way so that there is a minimum of waste with respect to purchased computational resources while still retaining the robust redundancy that ensures an enviable uptime.
We write, where possible, all infrastructure as "infrastructure as code" (IAC), so that all creation & configuration is scripted and can therefore easily be deployed and re-deployed in any environment. We do this using tools such as Cloudformation / Terraform / Serverless Framework.