A couple of years ago I came across the video of a presentation that some young Japanese Solution Architects from AWS hosted at re:Invent 2012. They were presenting architectural solutions in the AWS through a series of Design Patterns.
I found it extremely interesting, because I work in the Cloud Computing industry since years, and many of the traditional concepts of Design Patterns are very resonant with the potentials of the cloud. For example: drawing an architectural solution starting from common needs in the whole range of architectures computer systems, or automating predetermined layouts, specific actions based on events, and so on. To test the reception of the academic and professional area on this topic, I hosted a talk on this topic in July 2013, during the Cloud Community Day, an event I organized with EuroCloud Italy in the Politecnico of Milan, a prestigious Italian university.
The topic is quite broad, so we will have discussed in a series of posts, starting with this one. Don’t mean to be exhaustive, but hope to inspire you the curiosity shared by many other Patterns enthusiasts.
The concept of AWS Cloud Design Patterns
A good, general definition of a Design Pattern might be as follows: “A general reusable solution to a commonly occurring problem”. A design pattern is defined by the following elements:
- a Name for the Design Pattern;
- a description or a model to be applied to solve a problem that can occur in different situations during the design process;
- a problem, or the description of the situation you can apply the pattern too;
- a solution describing the elements of the project with the relations and their consequences;
- the consequences, results, and constraints resulting from the application of the pattern.
It’s important to remark that, given the rapid innovation of the Cloud services, a design pattern may become obsolete over time, for example, due to the release of new services. For example, think to Lambda, the new service that AWS recently launched: it could replace many architectural solutions. Or the new RDBMS service called Aurora: it might become a better solution for RDS on AWS than other engines. It’s important to stay up-to-date with news like these and update your Design Patterns accordingly.
AWS has no reference nor official documentation about Cloud Design Patterns but they have a good amount of continuously updated “Best Practices” documents available at the AWS Architecture Center. Also, they share a good amount of Whitepapers that you might want to read. The AWS blog is another place where you can often find many interesting pointers. None of them is primarily focused on Cloud Design Patterns though. So, all in all, this initiative by the three Japanese guys, who work for AWS since several years, by the way, seems to be an unofficial effort, probably born as a great evangelizing activity aimed at creating a community of pattern designers.
On the implementation side though, AWS has a service that perfectly blends with the logic of Cloud Design Patterns, and it is Cloud Formation. A solution described by a Design Pattern may be easily transformed into a template of CloudFormation. An interesting software from an AWS partner, that is Cloud Pattern Studio, tries to do just that. It’s a free AMI, published on the AWS Marketplace and produced by Cognizant, which allows you to draw an environment in AWS and to export it as a template of Cloud Formation.
Now, a definition for AWS Cloud Design Patterns might be as follows: “AWS Cloud Design Patterns are a collection of solutions and design ideas aimed at using the AWS Cloud technology to solve common systems design problems”. Following up the breakdown we have seen before, a Cloud Design Pattern might be described as follows:
- Pattern Name/Summary: Pattern name, summary, and a brief description;
- Solving Issues: Description of typical issues that led to pattern creation, and what issues/challenges can be solved through its implementation;
- Explanation of pattern / Resolution in the cloud: Description of the terms or how to solve the problems in the cloud; why any pattern or a description of the configuration has become a pattern of what;
- Implementation: Description about how to implement the pattern using AWS;
- Benefits: Description of the benefits from the pattern’s application;
- Notes: Description of tradeoffs, advantages, disadvantages, and points to note when applying this pattern;
- Other: Comparison with other patterns, use cases, and additional information.
In the next post, we will see an application of these patterns to a practical use case, to have a better idea of how Cloud Design Patterns can help you design effective architectures in real-life scenarios.
New Content: Platforms, Programming, and DevOps – Something for Everyone
This month our team of expert certification specialists released three new or updated learning paths, 16 courses, 13 hands-on labs, and four lab challenges! New content on Cloud Academy You can always visit our Content Roadmap to see what’s just released as well as what’s coming soon....
Mastering AWS Organizations Service Control Policies
Service Control Policies (SCPs) are IAM-like policies to manage permissions in AWS Organizations. SCPs restrict the actions allowed for accounts within the organization making each one of them compliant with your guidelines. SCPs are not meant to grant permissions; you should consider ...
New Content: Focus on DevOps and Programming Content this Month
This month our team of expert certification specialists released 12 new or updated learning paths, 15 courses, 25 hands-on labs, and four lab challenges! New content on Cloud Academy You can always visit our Content Roadmap to see what’s just released as well as what’s coming soon. Ja...
New Content: Get Ready for the CISM Cert Exam & Learn About Alibaba, Plus All the AWS, GCP, and Azure Courses You Know You Can Count On
This month our team of intrepid certification specialists released five learning paths, seven courses, 19 hands-on labs, and three lab challenges! One particularly interesting new learning path is Certified Information Security Manager (CISM) Foundations. After completing this learn...
Which Certifications Should I Get?
The old AWS slogan, “Cloud is the new normal” is indeed a reality today. Really, cloud has been the new normal for a while now and getting credentials has become an increasingly effective way to quickly showcase your abilities to recruiters and companies. With all that in mind, the s...
The 12 AWS Certifications: Which is Right for You and Your Team?
As companies increasingly shift workloads to the public cloud, cloud computing has moved from a nice-to-have to a core competency in the enterprise. This shift requires a new set of skills to design, deploy, and manage applications in cloud computing. As the market leader and most ma...
AWS Certified Solutions Architect Associate: A Study Guide
Want to take a really impactful step in your technical career? Explore the AWS Solutions Architect Associate certificate. Its new version (SAA-C02) was released on March 23, 2020. The AWS Solutions Architect - Associate Certification (or Sol Arch Associate for short) offers some ...
New Content: AWS Terraform, Java Programming Lab Challenges, Azure DP-900 & DP-300 Certification Exam Prep, Plus Plenty More Amazon, Google, Microsoft, and Big Data Courses
This month our Content Team continues building the catalog of courses for everyone learning about AWS, GCP, and Microsoft Azure. In addition, this month’s updates include several Java programming lab challenges and a couple of courses on big data. In total, we released five new learning...
Where Should You Be Focusing Your AWS Security Efforts?
Another day, another re:Invent session! This time I listened to Stephen Schmidt’s session, “AWS Security: Where we've been, where we're going.” Amongst covering the highlights of AWS security during 2020, a number of newly added AWS features/services were discussed, including: AWS Audit...
AWS re:Invent: 2020 Keynote Top Highlights and More
We’ve gotten through the first five days of the special all-virtual 2020 edition of AWS re:Invent. It’s always a really exciting time for practitioners in the field to see what features and services AWS has cooked up for the year ahead. This year’s conference is a marathon and not a...
WARNING: Great Cloud Content Ahead
At Cloud Academy, content is at the heart of what we do. We work with the world’s leading cloud and operations teams to develop video courses and learning paths that accelerate teams and drive digital transformation. First and foremost, we listen to our customers’ needs and we stay ahea...
Excelling in AWS, Azure, and Beyond – How Danut Prisacaru Prepares for the Future
Meet Danut Prisacaru. Danut has been a Software Architect for the past 10 years and has been involved in Software Engineering for 30 years. He’s passionate about software and learning, and jokes that coding is basically the only thing he can do well (!). We think his enthusiasm shines t...