Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
AWS CDK in Practice

You're reading from  AWS CDK in Practice

Product type Book
Published in Jun 2023
Publisher Packt
ISBN-13 9781801812399
Pages 196 pages
Edition 1st Edition
Languages
Authors (2):
Mark Avdi Mark Avdi
Profile icon Mark Avdi
Leo Lam Leo Lam
Profile icon Leo Lam
View More author details

Table of Contents (17) Chapters

Preface Part 1: An Introduction to AWS CDK
Chapter 1: Getting Started with IaC and AWS CDK Chapter 2: A Starter Project and Core Concepts Part 2: Practical Cloud Development with AWS CDK
Chapter 3: Building a Full Stack Application with CDK Chapter 4: Complete Web Application Deployment with AWS CDK Chapter 5: Continuous Delivery with CDK-Powered Apps Chapter 6: Testing and Troubleshooting AWS CDK Applications Part 3: Serverless Development with AWS CDK
Chapter 7: Serverless Application Development with AWS CDK Chapter 8: Streamlined Serverless Development Part 4: Advanced Architectural Concepts
Chapter 9: Indestructible Serverless Application Architecture (ISAA) Chapter 10: The Current CDK Landscape and Outlook Index Other Books You May Enjoy

Indestructible Serverless Application Architecture (ISAA)

We have uploaded modified WordPress PHP files via FTP with drag and drop. I’ve (Mark) worked with Vagrant, Chef, and Puppet (which was the first time I was introduced to infrastructure automation) and, later, with tools such as Docker, Terraform, Kubernetes, and Helm. As well as making the life of a DevOps engineer easier, they also allow for more complex infrastructure use cases to be addressed. AWS CDK is the next step in this evolution.

Up until this chapter, we’ve gone through the practicalities of using AWS CDK. For our team at Westpoint, CDK and similar tools, such as Pulumi, CDKTF, and cdk8s (which we will explain in further detail in the next chapter), have an important significance. This is the first time we’ve seen cloud infrastructure automation be Turing complete, and with the likes of Node.js, TypeScript, and the CDK standard library, we now have advanced tooling to instruct this Turing-complete...

Technical requirements

This chapter takes a different approach from the previous ones, as we won’t be delving into any specific code. Instead, we will be providing a maintained version of the TODO app that reflects our latest understanding of the topics covered in this chapter. You can access it by following this link: https://github.com/PacktPublishing/AWS-CDK-in-Practice/tree/main/chapter-9-indestructible-serverless-application-architecture-isaa.

The Code in Action video for this chapter can be viewed at: https://packt.link/7k4G8.

What is ISAA?

The rate of innovation for new tooling either for or inspired by CDK is so mind-bendingly high that nearly every day, we come across a new CDK construct, library, or concept that deals with highly challenging infrastructure problems.

This is no surprise. New tooling creates new ways of thinking about building applications. The way React applications are configured now is different from the way Backbone.js applications were developed, organized, and architected. One could not dream of reaching the same level of resilience for microservices without Kubernetes as an orchestrator of services becoming available.

Much like microservice architecture, AWS CDK allows for a new generation of applications that have even higher degrees of resilience, scalability, and maintainability. It’s a method we use at Westpoint. In fact, we oversee supporting applications that we developed two years ago that need very little support, limited to bug fixes and data clean-ups at times...

ISAA principles

So how does one make an application virtually indestructible? Let’s review some of the principles that ensure that ISAA is indestructible.

A fuller stack

With the advent of AWS CDK, the worlds of full stack engineers and DevOps engineers have begun to merge into one. CDK allows developers to code their infrastructure, giving them more options to build resilient applications. This means that developers now have the ability to take responsibility for their infrastructure code, rather than simply piling things up in a container and passing it on to a DevOps team to deploy.

Gone are the days when developers were only responsible for writing application code and DevOps teams were responsible for deploying and managing the infrastructure. With CDK, developers can now write both application code and infrastructure code and have more control over the entire application life cycle. This allows for a more streamlined and efficient development process, as well...

Challenges with ISAA

Given the serverless nature of ISAA, whatever challenges serverless currently has and will be found to have in the future are automatically inherited by ISAA.

Runaway costs

One of the challenges with building indestructible serverless applications is the potential for runaway costs. Because serverless architectures rely on paying for usage, it can be easy to accidentally spin up a large number of resources or have a function that runs too frequently, leading to unexpected and potentially large bills.

However, there are several ways to mitigate this risk and keep costs under control. One approach is to use monitoring and analytics tools to track usage and identify areas where costs can be reduced. For example, you can use services such as AWS CloudWatch or AWS Cost Explorer to track the number of invocations and the duration of your functions and use this information to optimize their performance. Additionally, you can set up alerts to notify you when your...

Advantages of ISAA

We don’t necessarily split atoms in our organization, but we develop extremely reliable business applications. Businesses are seeing the huge advantages of serverless; combine that with event-driven architecture and a few other tweaks, and the result is that we are right now running numerous serverless applications. We find that sometimes we leave code that perfectly suits a problem running for so long without issues that we forget how it worked in the first place – essentially, realizing that we have to document our software much better going forward. But hey, we’ll take that over sleepless nights trying to resolve scaling issues any day.

Our resources, the most important of which is our time, are not then spent on keeping software running but on shipping new features and working on new projects and ideas. Our engineers are a lot happier, more engaged, and creative and our customers love the reliability of the systems we produce.

Another...

Summary

In this chapter, we learned about ISAA and how it could help you achieve high levels of software resilience and scaling. Our hope has been to share with you the latest way we use CDK at our organization to deliver higher-quality software. In the next chapter, we look at the general landscape of IaC with CDK and other, CDK-like projects that could help us reach a degree of openness while, at the same time, still producing bulletproof apps.

lock icon The rest of the chapter is locked
You have been reading a chapter from
AWS CDK in Practice
Published in: Jun 2023 Publisher: Packt ISBN-13: 9781801812399
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}