Going Cloud Native with AWS

As the name suggests Cloud Native has become the term to describe software and systems that are purposely designed for the Cloud environments that will host them, versus the ‘lift and shift’ of traditional legacy applications.

Principly this means the use of containers for delivery, a microservices software architecture and Continuous Deployment practices for fast, regular modifications and upgrades to that code.

In this Going Cloud Native ebook (45 page PDF), I provide a general overview of the trend and also the transformation model, the ‘algorithms’, that can be used to design business practices that best exploit them.

AWS Cloud Native: Build Code Like Netflix

Naturally AWS is one of the primary Cloud providers for implementation of Cloud Native practices. As you would expect they support container implementation like Kubernetes and Docker.

It’s also best to discuss tools for using them by also referencing their flagship customer case study – Netflix. Not only did they pioneer one of the core principles of microservices but they also open sourced the code they built to write, implement and manage them.

Therefore it’s apt one of the best starting points is their blog with the same title – How We Build Code At Netflix.

Most notably because this introduces the role of Continuous Deployment best practices, and how one of their modules ‘Spinnaker‘ is central to this.

Cloud Native Toolchain

In this blog Global Continuous Delivery With Spinnaker they explain how it addresses this scope of the code development lifecycle, across global teams, and forms the backbone of their DevOps ‘toolchain’, integrating with other tools such as Git, Nebula, Jenkins and Bakery.

As they describe:

Spinnaker is an open source multi-cloud Continuous Delivery platform for releasing software changes with high velocity and confidence. Spinnaker is designed with pluggability in mind; the platform aims to make it easy to extend and enhance cloud deployment models.

Their own quoted inspirations include Jez Humble’s blog and book on Continuous Delivery, as well as experts such as Martin Fowler and working ideals such as ‘Blue Green Deployments‘.

Continuous Deployment with AWS

So you can download these modules and literally code like Netflix, using AWS the same way they do, and also AWS offers Continuous Deployment capabilities as a set of Cloud services if you’re looking for a simpler set up process and managed service.

CodeStar, CodeCommit, CodePipeline, CodeBuild and CodeDeploy offers a DevOps ‘toolchain’ for speeding the software development, build and deploy lifecycle. CodeDeploy also supports GitHub so that you can deploy application revisions stored in GitHub repositories or Amazon S3 buckets to instances.

AWS offers an excellent range of best practice white papers explaining the best practice use of the services, such as an Introduction to DevOps, Practicing Continuous Integration and Delivery on AWS, and using Jenkins on AWS, their dedicated blog offers regular insights, and this video offers guidance from one of their presentations, describing Cloud Native DevOps on AWS.

Partner solutions

It’s also helpful to highlight some of the many partners in the AWS ecosystem who add value to this scenario.

For example BlazeMeter integrates with CodePipeline, adding load and performance testing into the pipeline process, enabling users to test APIs, mobile and web applications easily and rapidly.

Microservices on AWS

The third Cloud Native foundation component is a microservices software architecture and again there are a wealth of resources to learn from.

This 2016 AWS Summit presentation provides a comprehensive overview including the broader context of how it fits within this DevOps framework.

Their white paper provides a detailed review and this presentation dives more into the technical details and offers a number of implementation patterns:

Matias De Santi of Wolox describes how microservices can make use of AWS services like their API Gateway and RisingStack offers this article Deploying Node.js Microservices to AWS using Docker.

CBPN Founder and Consultant – Specializes in SaaS, business transformation and enterprise devops.

LinkedIn 

We will be happy to hear your thoughts

Leave a reply