Design patterns are an established tool in the design and development of software systems. The basic idea behind is to identify common solutions to well-described and contextualized problems. Ideally, they allow to reuse working solutions to problems in similar contexts and to facilitate communication in a domain via a pattern language. The idea emerged from the work of an architect (Christoph Alexander) and was applied to software development in the late eightees before it gained a lot of traction with the popularity of object oriented programming.
Design patterns for EC2
When I started looking on EC2 – the API, the various existing tools, and the architectural pieces and features Amazon’s cloud infrastructure platform provides – I felt in the same situation as I was when I started developing communication systems in Java. Many other people have already be confronted with the same problem space, seeking for help in forums, and finally cobbling together their own solutions. Unfortunately, it is not easy to benefit from those other people’s work, because their ideas are dispersed over blogs and forums and are not available in a structured form using a common domain language. It is not always obvious to know if someone tried to solve the same problem if the beast gets a different name every time. That’s why I think it would make sense to start collecting solutions on EC2 and transform them into reusable design patterns.
You can find a list of Patterns below. We adhere to the conventions by the GoF. We would be happy to integrate in our series design patterns that you have come across during you work with EC2. You can leave a comment below or use the contact form for a private message here.
Collection of EC2 Patterns
- ExternalConsole: Give API access to an EC2 instance created from a publically available virtual image (AMI)
- Give API access to an EC2 instance created from a publically available virtual image (AMI) without the help of an external service