1 point by developernewbie 11 months ago flag hide 100 comments
user27 11 months ago next
For state management in microservices, using a Service Registry (SR) can help keep track of services and their locations.
user36 11 months ago next
@user27 A service discovery mechanism, when paired with service templates, makes it incredibly simple to manage and deploy.
user39 11 months ago next
@user36 I agree, it significantly reduces complex deployments when automating infrastructure. I highly recommend using Terraform or CloudFormation.
user1 11 months ago prev next
I recommend using a tool like Jenkins or CircleCI for CI/CD. They're popular, flexible and have a lot of integrations.
user2 11 months ago next
I've had success with GitHub Actions, it's easy to set up and works seamlessly with GitHub repos.
user7 11 months ago next
@user2 GitHub Actions looks great for small projects, but it may not scale well for larger projects.
user15 11 months ago next
@user7 GitHub Actions and our smaller projects go hand in hand, but consider self-hosted runners for large projects.
user20 11 months ago next
@user15 GitHub Actions offer self-hosted runners. This can help reduce the cost for large projects.
user25 11 months ago next
@user20 When self-hosting runners, GitHub Actions has a great guide to get you set up quickly and effectively.
user47 11 months ago next
@user25 Self-hosted runners add yet another layer of versatility to GHA. Thanks for sharing!
user49 11 months ago prev next
@user20 Thanks for mentioning GitHub Actions' self-hosted runners - totally recommend it to scale deployments with GHA!
user3 11 months ago prev next
Travis CI is also a great option, it's simple to use and supports a variety of languages/frameworks.
user8 11 months ago next
@user3 That's true, however Travis CI can become expensive with multiple concurrent jobs.
user14 11 months ago next
@user8 Travis CI does offer multiple pricing tiers which can help mitigate some cost.
user4 11 months ago prev next
For CI, I personally like using GitLab CI/CD as it's well integrated with GitLab repos.
user5 11 months ago prev next
Consider implementing a solid testing strategy as well, testing should be a key part of your CI/CD process.
user12 11 months ago next
@user5 spot on, testing is so integral to CI/CD. Good on you for bringing up Test Driven Development (TDD) as a best practice.
user6 11 months ago prev next
Regarding CD, make sure to have a robust deployment process that can handle automated deployments.
user13 11 months ago next
@user6 continuous monitoring is crucial for CD, to ensure stability and quality of your application.
user9 11 months ago prev next
Using Docker in your CI/CD pipelines can make it more consistent across different environments.
user11 11 months ago next
@user9 I agree, Docker is the future of modern CI/CD pipelines.
user22 11 months ago next
@user11 I'm curious, how have you integrated Docker with your current CI/CD pipelines?
user48 11 months ago next
@user22 Docker Compose is a great tool for creating simple Dockerized applications and can easily integrate with Jenkins.
user10 11 months ago prev next
Blue-green or canary deployments can help minimize the risk when deploying frequently.
user26 11 months ago next
@user10 I second canary deployments, in conjunction with A/B testing to measure the impact is valuable.
user31 11 months ago next
@user26 Adding on, canary deployments could help with migrations as well. Ensuring minimal service disruption during database schema updates.
user46 11 months ago next
@user31 I like this approach of using canary deployments for migrations. Should reduce the risk of downtime and help diagnose issues.
user16 11 months ago prev next
Feature flags are a great way to control feature rollout and ensure minimal user impact.
user21 11 months ago next
@user16 Feature flags have been a lifesaver for us and make it easy to adapt and alter our application's behavior.
user24 11 months ago next
@user21 I love using feature flags in my projects, but make sure you have a deactivation mechanism in place.
user50 11 months ago next
@user24 A deactivation mechanism is a must when using feature flags. Granular user access and time-limited availability as well.
user17 11 months ago prev next
CI/CD pipelines should never bypass security checks; ensure secure credentials and strong checks throughout.
user19 11 months ago next
@user17 I completely agree, the security of your pipelines should be a priority in your development process.
user18 11 months ago prev next
Implementing code reviews and automated pull request evaluations can improve the overall quality of your code.
user23 11 months ago next
@user18 Implementing code reviews and pull request evaluations helps ensure quality and maintainability.
user28 11 months ago prev next
Metrics play an important role in monitoring the health and performance of your application.
user29 11 months ago next
@user28 Telemetry frameworks help visualize those real-time metrics, helping you see how your application performs and debug faster.
user32 11 months ago next
@user29 I like this, it's great to visualize data in real time instead of sifting through log files.
user35 11 months ago next
@user32 Agreed, but the trade-off is an investment in infrastructure, as they require additional health checks and monitoring.
user40 11 months ago next
@user35 The investment may seem large initially, but in the long term, it eventually pays off.
user43 11 months ago next
@user40 And once runners are set up, scaling becomes easier. Highly suggest investing time to learn how self-hosting works with GHA.
user30 11 months ago prev next
Immutable infrastructure can be incredibly helpful in eliminating issues due to unexpected changes.
user34 11 months ago next
@user30 Immutable infrastructure minimizes unintended consequences; it's easier to troubleshoot since you know an exact state.
user44 11 months ago next
@user34 By removing some variables, you can streamline version control and eliminate unpredictability costs.
user33 11 months ago prev next
CI/CD pipelines are not just for code deployments, remember to include infrastructure-as-code when automating deployments.
user38 11 months ago next
@user33 Infrastructure-as-code is essential to avoiding configuration drift and ensuring parity across infrastructure components.
user45 11 months ago next
@user38 And be sure to have thorough testing strategies to validate the infra-code before deployment!
user37 11 months ago prev next
Golden images are ideal when working with immutable infrastructure. It helps ensure consistent configurations.
user41 11 months ago prev next
Be cautious about merging branches in your main branch frequently without proper testing. Use branching strategies like Git Flow, GitHub Flow, or Develop Flow.
user42 11 months ago next
@user41 We mostly use GitHub Flow in my organization and practice feature branching. What are your thoughts on this approach?