The Power and Pitfalls of Containers: DevOpsDays Seattle conference 2017

I recently attended the DevOpsDays Seattle conference and wanted to share some of the topics of discussion with the Cloud Academy audience.

Unsurprisingly, container talk was everywhere! Most people know Docker as one of the biggest names in this space, and indeed there are multiple Cloud Academy blog posts concerning Docker already. In this crowd, you were definitely behind the curve if you didn’t have anything in containers or many good reasons why you were not using them. If you have not yet learned about or embraced containerization, there is still time to catch up!

Cloud Academy features an Introduction to Docker course and an entire learning path on Docker and Container Technologies. During an open space session titled “Legacy Applications Meet Containers,” attendees spoke of the many benefits of containerization including the following:

  • Lock an application down and control access. This may be a feature the application itself currently lacks, but you can add it by securing the container. Almost every DevOps professional had a smile on their face when describing how to use containers to remove the ability to SSH into resources. Fewer ad hoc changes and more robust deployment code, while sometimes a harder path initially, can make life better in the long run.
  • Unmoor an application from old hardware and dated infrastructure. This is an essential step if you are looking to migrate a legacy application to the cloud. It also helps you modernize the environment around an application, achieving benefits like greater density or new visualization tools, without touching the application itself.
  • Unlock new tools and methods for disaster recovery and high availability. A sprawling legacy application may require an equally ornate set of backup resources in case of an emergency. In contrast, it’s relatively easy to keep secondary warm/hot containers at the ready. However, you’ll need to ensure that the application architecture and container solution properly support horizontal scaling.

There are challenges for implementing a container solution, and attendees brought up several topics that you may want to consider:

  • Do you have a security audit solution in mind for your shiny new containers? Too often there is a tendency to throw the containers out into production (new technology!) without a comprehensive plan on how to compliance test, review, and update them.
  • How do you break tight coupling or dependencies with other services or systems? Many times you can move the application code, but the application is tied to something else. There are several valid approaches to solving this problem. One involves breaking away pieces of functionality one at a time until there is nothing left of the legacy system. Another approach is to surround the old system with containerized components. Eventually, the old core function is unnecessary, and you can remove it.
  • Always factor in the criticality of an application or system. If it works well, doesn’t cost a lot of money to maintain, and is stable, do you need to change it at this time? Are there better targets for your new containerization skills?

In order to meet the challenges and achieve the benefits of containerization, attendees spoke of several techniques and tools:

  • Focus on great test suites as you rewrite or break out functions to provide reliable sanity checks. Only you and your team know exactly how your application works. However, familiarity with cloud services gained through one of Cloud Academy’s developer certification learning paths is a great way to learn about the services you may need to leverage in your tests.
  • Though potentially difficult at first, leverage the extra restrictions containers offer. This encourages and fosters more coordination between staff and groups. Applications and operations staff will achieve a better understanding of each other’s needs and how to answer the all-important question, “Does this make the company money?”
  • Utilize the many great tools out there to make your container endeavors a success. Cloud Academy’s Adam Hawkins has previously discussed how container technologies are more than just Docker. Tools mentioned in the session include Habitat, Apcera, and rkt. Cloud Academy also features a course on the surging Kubernetes.

Other Conference Topics

A few more talks, open sessions, and side conversations brought up some additional points worth considering.

Connecting Your Work to the Customer

How do you connect application performance metrics (APM) to user metrics? Do you have the right tools deployed to demonstrate that your work benefits the customer? Are all of your microservices watched and measured properly? Granular application telemetry data may need to come from a tool like OptimizeIT. However, if your current overall cloud metric view is a little thin, consider Cloud Academy’s course on Advanced Techniques for AWS Monitoring, Metrics and Logging.

How is QA Changing with the Cloud?

How is quality assurance (QA) changing with new cloud technologies? Some services offered by cloud providers such as AWS Device Farm allow you to simulate and automate previously manual tasks. Can you leverage your existing QA staff to design and maintain new tests using these services? Do they have the cloud service training and skills necessary to harness these new tools?

How to Build the Right Thing

An entire session was devoted to the seemingly simple topic of, “How to Build the Right Thing.” Simple, right? You know what you need to build, or do you? What pleases your customers and makes your company money, and how do you apportion limited resources to achieve those goals? Are you properly considering all risk management concerns when devising solutions? Do you understand the difference between what people are asking for versus what they need?

To strengthen your ability to answer the high-level questions, consider one of Cloud Academy’s architect learning paths.

Avatar

Written by

Eric Raub

Eric is a Lab Researcher and Developer working to add to Cloud Academy's library of hands-on labs. He is an IT veteran who enjoys the ever-changing landscape of cloud computing. He also relishes live classical music performances, because sometimes engineering is better heard than seen.


Related Posts

Joe Nemer
Joe Nemer
— September 15, 2020

New Content: Azure DP-100 Certification, Alibaba Cloud Certified Associate Prep, 13 Security Labs, and Much More

This past month our Content Team served up a heaping spoonful of new and updated content. Not only did our experts release the brand new Azure DP-100 Certification Learning Path, but they also created 18 new hands-on labs — and so much more! New content on Cloud Academy At any time, y...

Read more
  • AWS
  • Azure
  • DevOps
  • Google Cloud Platform
  • Machine Learning
  • programming
Simran Arora
Simran Arora
— August 21, 2020

Docker Image Security: Get it in Your Sights

For organizations and individuals alike, the adoption of Docker is increasing exponentially with no signs of slowing down. Why is this? Because Docker provides a whole host of features that make it easy to create, deploy, and manage your applications. This useful technology is especiall...

Read more
  • DevOps
  • Docker
  • Security
Avatar
Andrew Larkin
— August 18, 2020

Constant Content: Cloud Academy’s Q3 2020 Roadmap

Hello —  Andy Larkin here, VP of Content at Cloud Academy. I am pleased to release our roadmap for the next three months of 2020 — August through October. Let me walk you through the content we have planned for you and how this content can help you gain skills, get certified, and...

Read more
  • alibaba
  • AWS
  • Azure
  • content roadmap
  • Content updates
  • DevOps
  • GCP
  • Google Cloud
  • New content
Alisha Reyes
Alisha Reyes
— August 5, 2020

New Content: Alibaba, Azure AZ-303 and AZ-304, Site Reliability Engineering (SRE) Foundation, Python 3 Programming, 16 Hands-on Labs, and Much More

This month our Content Team did an amazing job at publishing and updating a ton of new content. Not only did our experts release the brand new AZ-303 and AZ-304 Certification Learning Paths, but they also created 16 new hands-on labs — and so much more! New content on Cloud Academy At...

Read more
  • AWS
  • Azure
  • DevOps
  • Google Cloud Platform
  • Machine Learning
  • programming
Alisha Reyes
Alisha Reyes
— July 2, 2020

New Content: AWS, Azure, Typescript, Java, Docker, 13 New Labs, and Much More

This month, our Content Team released a whopping 13 new labs in real cloud environments! If you haven't tried out our labs, you might not understand why we think that number is so impressive. Our labs are not “simulated” experiences — they are real cloud environments using accounts on A...

Read more
  • AWS
  • Azure
  • DevOps
  • Google Cloud Platform
  • Machine Learning
  • programming
Alisha Reyes
Alisha Reyes
— June 11, 2020

New Content: AZ-500 and AZ-400 Updates, 3 Google Professional Exam Preps, Practical ML Learning Path, C# Programming, and More

This month, our Content Team released tons of new content and labs in real cloud environments. Not only that, but we introduced our very first highly interactive "Office Hours" webinar. This webinar, Acing the AWS Solutions Architect Associate Certification, started with a quick overvie...

Read more
  • AWS
  • Azure
  • DevOps
  • Google Cloud Platform
  • Machine Learning
  • programming
Luca Casartelli
Luca Casartelli
— June 1, 2020

DevOps: Why Is It Important to Decouple Deployment From Release?

Deployment and release In enterprise organizations, releases are the final step of a long process that, historically, could take months — or even worse — years. Small companies and startups aren’t immune to this. Minimum viable product (MVP) over MVP and fast iterations could lead to t...

Read more
  • decoupling
  • Deployment
  • DevOps
  • engineering
  • Release
Luca Casartelli
Luca Casartelli
— May 14, 2020

DevOps Principles: My Journey as a Software Engineer

I spent the last month reading The DevOps Handbook, a great book regarding DevOps principles, and how tech organizations evolved and succeeded in applying them. As a software engineer, you may think that DevOps is a bunch of people that deploy your code on production, and who are alw...

Read more
  • DevOps
  • DevOps principles
Michael Dehoyos
Michael Dehoyos
— May 13, 2020

Linux and DevOps: The Most Suitable Distribution

Modern Linux and DevOps have much in common from a philosophy perspective. Both are focused on functionality, scalability, as well as on the constant possibility of growth and improvement. While Windows may still be the most widely used operating system, and by extension the most common...

Read more
  • DevOps
  • Linux
Avatar
Logan Rakai
— April 7, 2020

How to Effectively Use Azure DevOps

Azure DevOps is a suite of services that collaborate on software development following DevOps principles. The services in Azure DevOps are: Azure Repos for hosting Git repositories for source control of your code Azure Boards for planning and tracking your work using proven agil...

Read more
  • Azure
  • DevOps
Simran Arora
Simran Arora
— October 29, 2019

Docker vs. Virtual Machines: Differences You Should Know

What are the differences between Docker and virtual machines? In this article, we'll compare the differences and provide our insights to help you decide between the two. Before we get started discussing Docker vs. Virtual Machines comparisons, let us first explain the basics.  What is ...

Read more
  • Containers
  • DevOps
  • Docker
  • virtual machines
Avatar
Adam Hawkins
— October 24, 2019

DevOps: From Continuous Delivery to Continuous Experimentation

Imagine this scenario. Your team built a continuous delivery pipeline. Team members deploy multiple times a day. Telemetry warns the team about production issues before they become outages. Automated tests ensure known regressions don't enter production. Team velocity is consistent and ...

Read more
  • continuous delivery
  • continuous experimentation
  • DevOps