May 2019 Summaries
4 posts from Lumigo
Filter
Month:
Year:
Post Summaries
Back to Blog
This summary describes a detailed guide on setting up an advanced serverless CI/CD process using AWS CodeBuild for complex applications. The process involves several tools and services, including the Serverless framework, Lerna, aws-testing-library, and CloudFormation. It requires different stages of deployment (e.g., staging, prod), ability to deploy all or specific services with their dependencies, high confidence when deploying services, easy addition of new services to the deployment process, and automated recreation of the CICD process. The guide outlines a tool stack, prerequisites, initial setup, repository structure, CICD setup, build setup, environment variables, build scripts, end-to-end tests, and provides examples for each step. It highlights advantages such as configuration using CloudFormation, integration with other AWS services, and permissions management, while noting missing features like smart email notifications, Slack integration, and a more comprehensive knowledge base.
May 23, 2019
1,314 words in the original blog post.
AWS has introduced enhanced fan-out for Kinesis streams, which allows each function to do five reads per second per shard, up to 2MB per second. However, this improvement does not completely eliminate the problems of hot streams with many Lambda subscribers. In fact, it can lead to a new issue where it becomes almost impossible to deploy subsequent functions after a certain number of initial subscriber functions are deployed, resulting in ProvisionThroughputExceededException errors during deployment. To work around this limitation, design considerations such as using multiple write streams or pushing events to a centralized stream and then fanning out to multiple reader streams can be employed. These approaches offer flexibility but also come with additional costs. Ultimately, the goal is to find a balance between scalability and cost when dealing with hot streams in Kinesis.
May 16, 2019
1,348 words in the original blog post.
This tutorial demonstrates how to add Amazon Cognito to an integration test flow, enabling true black-box testing. By using the `warrant` Python package and Amazon Cognito's APIs, developers can create a valid user with a predefined password without having to change it after first login. The process involves creating a Cognito user, embedding its credentials in a configuration file, and authenticating with the user to receive an authentication token, which is then used in the authorization header. This approach enables developers to automate the creation of users and their passwords, making integration testing more efficient and reliable.
May 09, 2019
674 words in the original blog post.
Serverless technology is often misunderstood as a form of vendor lock-in, but this perception is misguided. Instead, it's about coupling to certain technologies or services, which can create challenges when changing providers. However, embracing serverless can bring significant benefits such as scalability, resilience, and security, allowing businesses to focus on creating value for their customers. The cost of prevention, in terms of upfront development work and potential migration costs, is often outweighed by the rewards of faster innovation and time-to-market. Additionally, data lock-in risk is a real concern, but it can be mitigated with proper planning and frameworks. Ultimately, serverless technologies enable smaller companies to disrupt larger markets and stay ahead of the competition by providing a level playing field and accelerating innovation.
May 07, 2019
1,699 words in the original blog post.