Posts

Showing posts from 2018

Configuring Micro Services - Spring Cloud Config Server

Image
Managing application configuration in a traditional monolith is pretty straight forward. Configuration is typically externalised to one or more property files that sit on the same server as the application. Externalising the configuration makes sense as it allows you to update configuration without having to rebuild and redeploy the application. It also means the build artifact is environment agnostic, allowing you to deploy the same physical WAR to dev, uat, prod etc.
Configuring Micro Services While the approach described above is valid for many applications, the move toward micro services has created a number of new challenges. Micro services by definition are more granular, meaning many distinct components to deploy and manage. Increasing the number of components creates a maintenance challenge when it comes to managing application config. Consider managing the configuration for a solution that is broken into 8 distinct micro services (which is not many by the way). Updating some …

Building a Serverless App with AWS Lambda, S3, DynamoDB & API Gateway

Image
What is AWS Lambda? AWS Lambda is an on demand compute service, where code is invoked in response to certain events. Events can originate internally from other AWS services, for example, a file upload to an S3 bucket, or externally from your own applications via HTTP. Lambda functions can be written in any of the supported runtimes. At the time of writing, Lambda supports Python, NodeJS, C# and Java. Unlike a traditional server side application, a Lambda function is not a continuously running process that waits for incoming requests. When Lambda receives an event trigger, it spins up a new process, runs the function and then rips the process down again. In other words, the lambda function is only deployed for the duration of the invocation and is then terminated. When a new event occurs, a new process is created to execute the function for that specific event.
Why use Lambda?The Lambda runtime is fully managed by AWS. Once a function is uploaded and configured, Lambda is responsible …