Gaining Docker Image Size Efficiencies By Separating Application Layers

Luke Patterson Docker, Java, Problem Solving, Spring Boot, Technology Snapshot Leave a Comment

Problem

I was pushing a new Docker image tag for each application code commit, and the admins of the private registry were getting annoyed at how much space I was using.

Solution Summary

Yes, I know there are strategies to clean up old tags but I first wanted to reduce the impact of the tags I was pushing. With the right layering strategy, I knew I could reduce the net registry size increase of consecutive tag pushes.

I wanted to only push what had actually changed in the application. In addition to reducing the impact on the registry, having smaller tag deltas could possibly speed up rolling deployments since nodes could potentially have less to download.

Managing Docker Containers with OpenShift and Kubernetes

Casey Justus AWS, DevOps, Docker, Microservices, Technology Snapshot Leave a Comment

For the last few years, Docker containers have been all the rage in the DevOps world. After all, what’s not to like? They allow you to strip out 99% of stuff in your VM and just deploy your code.

Containers can save resources, speed deployment, scale well and offer more fault tolerance. But how do you manage them?

In my experience, the Docker Machine and Docker Swarm stack hasn’t lived up my to expectations. It has a limited API, no support for monitoring and logging, and much more manual scaling. AWS’s EC2 containers scale well, but you’ll be locked into Amazon.

In my opinion, the best current stack for Docker containers includes Kubernetes and OpenShift. In this blog I will give a brief introduction to Kubernetes + OpenShift with an eye for what they do well…

Using Docker + AWS to build, deploy and scale your application

Brandon Klimek AWS, DevOps, Docker, Spring, Spring Boot, Tutorial 7 Comments

I recently worked to develop a software platform that relied on Spring Boot and Docker to prop up an API. Being the only developer on the project, I needed to find a way to quickly and efficiently deploy new releases. However, I found many solutions overwhelming to set up.

That was until I discovered AWS has tools that allow any developer to quickly build and deploy their application.

In this 30 minute tutorial, you will discover how to utilize the following technologies:
– AWS CodeCommit – source control (git)
– AWS Code Build – source code compiler, rest runner
– AWS Codepipeline – builds, tests, and deploys code every time the repo changes
-AWS Elastic Beanstalk – service to manage EC2 instances handling deployments, provisioning, load balancing, and health monitoring
-Docker + Spring Boot – Our containerized Spring Boot application for the demo

Once finished, you will have a Docker application running that automatically builds your software on commit, and deploys it to the Elastic beanstalk sitting behind a load balancer for scalability. This continuous integration pipeline will allow you to worry less about your deployments and get back to focusing on feature development within your application.

Containers For .NET Developers

Chase Aucoin .NET, .NET Core, Docker, Microservices, Technology Snapshot Leave a Comment

This is going to be the first post in a series of articles about modern tooling and techniques for building distributed systems. In this post, I will show how to use Docker for Windows to set up an ELK (Elasticsearch, Kibana, Logstash) server that we are going to use in future articles. The series is particularly geared toward traditional .NET developers. Let’s get started…