Monday, May 18, 2020

Cloud-native development - An architectural introduction

Part 1 - An introduction
After starting with architectures introducing both omnichannel integration and integrating with SaaS applications, we're presenting the results of a cloud-native development architecture.

What's in a portfolio architecture and what's the focus you ask?

It's an interesting challenge in that we've been creating architectural content based on common customer adoption patterns. That's very different from most of the traditional marketing activities usually associated with generating content for the sole purpose of positioning products for solutions. When you're basing the content on actual execution in solution delivery, you're cutting out the marketing chuff. 

These portfolio architectures are providing you with a way to implement a solution using open source technologies focusing on the integrations, structures and interactions proven to work. What's not included are any vendor stories that you'll find in normal marketing content. Those stories that when it gets down to implementation crunch time, might not fully deliver on their promises.

Let's look at the cloud-native development architecture and explore their value in helping your solution designs.

The process

The first step is to define what we are focusing on when talking about cloud-native development.

We've chosen the following statement to guide our architecture: 

'Cloud-native development is an approach to building and running applications to fully exploit the advantages of the cloud computing model (i.e. responsive, elastic and resilient applications).'

cloud-native developmentThis is the principle guiding our research into how customers are looking at developing their applications in a cloud-native world. 

The approach is researching several existing customers with implemented solutions in this space, collecting their content, researching the internal implementation documentation, and where necessary reaching out to the field resources involved.

Project examples

Sharing the process results for cloud-native development architecture is what this series is about, but there are the project artefacts and diagrams that can also be shared with you the reader. We've pulled together an examples repository for all our architecture diagrams. 

The Portfolio Architecture Examples repository makes it possible to collect and share individual images from each diagram element as well as the entire project as a whole.

For example, if you scroll down to the file listings on the main page, you can locate a logical diagram as shown in the image.

This is the collection for the logical diagrams associated with cloud-native development:
  • in this case it's a single image you can click to view
  • a project file you can download to your local machine using the Download Diagram link
  • a Load Diagram link that you can click to automatically open the project diagrams in the diagram tooling used in this architecture
Give it a try and feel free to explore the collection of logical, schematic, detailed, solution, and community diagrams. This should allow you to get started much quicker than from scratch if you can kick-start a project with existing diagrams.

Should you design your own diagrams, please contribute the project file (ending in .drawio) by raising an issue with the file attached. We'd love to continue collecting these projects for others to use.

Finally, there is a free online beginners guide workshop available focused on using the diagram tooling, please explore to learn tips and tricks from the experts.

What's next

An overview of the series on the cloud-native development portfolio architecture can be found here:
  1. An architectural introduction
  2. Common architectural elements
  3. Cloud-native development on local containers
  4. Cloud-native development on remote containers
  5. A deployment architecture
  6. Advanced deployment architecture
Catch up on any articles you missed by following one of the links above.

Next in this series, taking a look at the generic common architectural elements associated with cloud-native development and deployments.