novasaint
novasaint

Reputation: 710

How to manage deployment?

I am new to DevOps, and need to develop a strategy for a growing business that will handle many different services/nodes (like 100).

I've been learning about Docker, and it seems like Docker Cloud is a good service, but I just don't really know the standard use cases of the various services, and how to compare them.

I need some guidance as to how to manage the development environment, deployment, production environment, and server administration. Are Docker Cloud, Chef Cloud, and AWS ECS tools that can help with all of these, or only some aspects? How do these services differ?

Upvotes: 0

Views: 122

Answers (1)

Nico de Wet
Nico de Wet

Reputation: 334

If you are only starting out with DevOps I would start with the most basic pipeline and the foundational elements of the pipeline.

The reason why I would start with a basic pipeline is because if you have no experience you have to get it from somewhere and understand the basics of Docker Engine and its foundational elements. In addition, you need to design the pipeline.

Here is one basic uni-container pipeline with which you can start getting some experience:

  1. Maven - use the standard, well-understood versioning scheme in your Dockerfile(s) so your Docker tags will be e.g. 0.0.1-SNAPSHOT or 0.0.1 for a release
  2. Maven - get familiar with and use the spotify plugin
  3. Jenkins - this will do your pulls / pushes to Nexus 3
  4. Nexus 3 - this will proxy both Docker Hub and Maven Central and be your private registry
  5. Deploy Server (test/dev) - Jenkins will scp docker-compose files onto this environment and tear your environments up & down
  6. Cleanup - clean up all your environments with spotify-gc (ideally daily, get Jenkins to do this)

Once you have the above going, then move onto cloud services, orchestration etc - but first get the basics right.

Upvotes: 1

Related Questions