Why developers like Docker (2024)

In 2012 we made the very difficult decision to entirely re-engineer our existing monolithic LAMP application from the ground up in order to address some growing concerns about it's long term viability as a platform.

Full application re-write is almost always never the answer, because of the risks involved. However the situation warranted drastic action as it was clear that the existing product was going to face severe scaling issues. We felt it better address these sooner rather than later and also take the opportunity to improve the international architecture and also to refactor the database in. order that it better matched the changes in core functionality.

PostgreSQL was chosen for its reputation as being solid ACID compliant database backend, it was available as an offering AWS RDS service which reduced the management overhead of us having to configure it ourselves. In order to reduce read load on the primary database we implemented an Elasticsearch layer for fast and scalable search operations. Synchronisation of these indexes was to be achieved through the use of Sidekiq's Redis based background workers on Amazon ElastiCache. Again the AWS solution here looked to be an easy way to keep our involvement in managing this part of the platform at a minimum. Allowing us to focus on our core business.

Rails ls was chosen for its ability to quickly get core functionality up and running, its MVC architecture and also its focus on Test Driven Development using RSpec and Selenium with Travis CI providing continual integration. We also liked Ruby for its terse, clean and elegant syntax. Though YMMV on that one!

Unicorn was chosen for its continual deployment and reputation as a reliable application server, nginx for its reputation as a fast and stable reverse-proxy. We also took advantage of the Amazon CloudFront CDN here to further improve performance by caching static assets globally.

We tried to strike a balance between having control over management and configuration of our core application with the convenience of being able to leverage AWS hosted services for ancillary functions (Amazon SES , Amazon SQS Amazon Route 53 all hosted securely inside Amazon VPC of course!).

Whilst there is some compromise here with potential vendor lock in, the tasks being performed by these ancillary services are no particularly specialised which should mitigate this risk. Furthermore we have already containerised the stack in our development using Docker environment, and looking to how best to bring this into production - potentially using Amazon EC2 Container Service

Why developers like Docker (2024)

FAQs

Why developers like Docker? ›

Increased productivity: Docker can help developers to be more productive by automating tasks such as building, testing, and deploying applications. Improved portability: Docker containers are portable, meaning that they can be run on any machine that has Docker installed.

Why developers are choosing Docker? ›

Docker is a powerful technology that streamlines the development process and allows developers to build, test, and deploy apps rapidly and efficiently. Docker streamlines & speeds your process while allowing developers to innovate using each project's preferred tools, app stacks & deployment environments.

Why do developers love Docker? ›

Docker helps developers build, share, run, and verify applications anywhere — without tedious environment configuration or management.

Why every developer should learn Docker? ›

It's true that Docker and Kubernetes have become increasingly popular in the world of web development and are considered valuable skills for a full stack developer. Docker allows for containerization, making it easier to deploy and manage applications across different environments.

What is a benefit for a developer using Docker? ›

Faster development and deployment

Docker simplifies the application development and deployment process. Containers allow developers to work in local environments identical to production environments, which reduces compatibility issues and speeds up the development cycle.

Why is Docker so successful in the software development industry? ›

The biggest reason for driving Docker's popularity is that developers do not have to worry about compatibility. Applications built using Docker will run on any compatible OS regardless of custom settings deployed by users.

Why Docker is so popular? ›

Docker is one of the most popular open-source containerization platforms. It offers greater security, easy management, and increased deployment speed. It facilitates developers to great extent by making the process of application conversion to containers, hassle-free.

What is unique about Docker? ›

Docker's technology is unique because it focuses on the requirements of developers and systems operators to separate application dependencies from infrastructure. Success in the Linux world drove a partnership with Microsoft that brought Docker containers and its functionality to Windows Server.

Why Docker is important for DevOps? ›

Docker's container-based platform is essential for DevOps because it enables fast, automated deployment of applications. Containers can be built locally, pushed to a container registry, and then deployed to any infrastructure.

Is Docker really necessary? ›

Docker is an excellent tool for applications that need command-line interfaces (CLI). As a result, it works well for backend development. But it can be challenging to use Docker for software with a rich Graphical User Interface (GUI).

Should I learn Docker in 2024? ›

In the ever-evolving tech landscape of 2024, Docker stands out as a beacon of efficiency and innovation. This blog post dives into why Docker has become an indispensable tool in the developer's toolkit and a critical skill for tech professionals. Docker, in its essence, is a containerization platform.

Top Articles
Latest Posts
Article information

Author: Maia Crooks Jr

Last Updated:

Views: 6413

Rating: 4.2 / 5 (43 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Maia Crooks Jr

Birthday: 1997-09-21

Address: 93119 Joseph Street, Peggyfurt, NC 11582

Phone: +2983088926881

Job: Principal Design Liaison

Hobby: Web surfing, Skiing, role-playing games, Sketching, Polo, Sewing, Genealogy

Introduction: My name is Maia Crooks Jr, I am a homely, joyous, shiny, successful, hilarious, thoughtful, joyous person who loves writing and wants to share my knowledge and understanding with you.