Two Converging Technological Paradigms and Offer Bottom-Line Value To Any Organization

Microservices Journal

Subscribe to Microservices Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Microservices Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Microservices Authors: Pat Romanski, Jason Bloomberg, Zakia Bouachraoui, Liz McMillan, Elizabeth White

Related Topics: Open Source Journal, Microservices Journal, DevOps Journal

Blog Feed Post

Microservice Containers and Multi-Platform Development | @DevOpsSummit #DevOps #Microservices

At the heart of the Cloud Native recipe is the shift to a ‘containerized microservices’ application architecture

Microservice Containers and Multi-Platform Development
By Neil McEvoy

At the heart of the Cloud Native recipe is the shift to a ‘containerized microservices’ application architecture.

This is a pretty fundamental shift in IT habits, embracing both the Docker-inspired container technology wave as well as a holistic transformation of how software is built too. So how do the two relate, what is the connection between employing containers for deployment and microservices for architecture?

Microservice Containers
Nate Slater, a Solution Architect with AWS Startups explores this question, providing an insightful overview that sets the scene through the history of web application design that leads up to this evolution.

He makes the point that because microservices are intended to deliver one specific business function via minimal resource requirements, those requirements can be met in an optimized fashion through delivering them via a Docker container.

“It is this isolation between containers running on the same host that makes deploying microservice code developed using different languages and frameworks very easy. Using Docker, we could create a DockerFile describing all the language, framework, and library dependencies for that service.”

The Nike case study highlights just how powerful the combination of Cloud and microservices can be – For example at 25:00 he explains how “scaling concerns do not cross functional boundaries”, meaning that capacity for one service can expand elastically without affecting any other services.

Cross-Platform Development
Nate also makes the same critical point that Martin Fowler does, that De-centralized Governance is possible where you can ‘use the right tool for the right job’, such as using Node.js for a simple report page or C++ for a service that requires more demanding real-time processing. Nate echoes this, adding other scenarios that might be better met through Python or Ruby.

Amazon Microservice Containers
In his Docker microservices article Nate describes how this multi-platform approach spreading services across multiple containers can create an unwieldy complexity, and how they have launched their EC2 Container Service to help manage this: “With simple API calls, you can launch and stop Docker-enabled applications, query the complete state of your cluster, and access many familiar features like security groups, Elastic Load Balancing, EBS volumes, and IAM roles.”

Nate explains that with Amazon ECS, you define a pool of compute resources called a “cluster”, consisting of one or more Amazon EC2 instances where Amazon ECS can manage the state of all the container-based applications running within it. “Task definitions” are used to define a grouping of containers that comprise an application, with each container specifying its required resources and Amazon ECS matching them to available resources.

The post Microservice Containers and Multi-Platform Development appeared first on Cloud Best Practices.

Read the original blog entry...

More Stories By Cloud Best Practices Network

The Cloud Best Practices Network is an expert community of leading Cloud pioneers. Follow our best practice blogs at http://CloudBestPractices.net