AWS provides multiple ways to deploy containerized applications. From small, ready-made WordPress instances on Lightsail, to managed Kubernetes clusters running hundreds of instances across multiple availability zones. When deciding on the architecture of your application, you should consider building it serverless. Being free from (virtual) server management enables you to focus more on your unique business logic while reducing your operational costs and increasing your speed to market.
When you build modern cloud-based systems, you usually realize quickly that you need to manage the access to your deployed resources. This is especially true with serverless systems, where you often end up with dozens of resources, even for medium-sized architectures. AWS offers a few services you can use to set up a central entry point to your infrastructure. Elastic Load Balancer, API Gateway, and AWS AppSync. This article will discuss AppSync, AWS’s managed GraphQL service.
The most important thing with building out any application is to think BIG. Build for ten users now and 10,000 users tomorrow. Having infrastructure that scales as your needs do is critical for user adoption—one of the many reasons we love a serverless approach and particularly AWS Lambda. The other part of any growth journey is managing access to organizational cloud infrastructure, especially with rapidly growing organizational development and DevOps teams.
I have been an AWS customer since 2010 and in the early days I, along with just about everyone else on AWS, spent a lot of my time just managing infrastructure. Patching AMIs, configuring load balancers, updating auto-scaling configurations, and so on. It was the sort of thankless task that no one cared about until something went wrong! The very definition of what Werner Vogel often refers to as “undifferentiated heavy-lifting”.
One of the things we love about working in the cloud is the ease and scalability it brings to application development. It enables us to build out applications, APIs and any infrastructure that is needed from prototyping an idea, through to self scaling deployments. Monitoring and troubleshooting production-level serverless applications is always tricky, Especially working across a number of services and the many logs they can produce.
When building serverless applications on AWS Lambda, Amazon CloudWatch provides out-of-the-box metrics that measure the performance, errors, and duration of your functions. Although these standard Lambda metrics provide visibility into your serverless applications, it can also be invaluable to monitor custom metrics that are unique to your use case and application.