After extensive evaluation, we're considering our journey from jenkins to github actions - lessons learned for our production environment.
Current stack:
- Infrastructure: ECS Fargate
- CI/CD: GitLab CI
- Monitoring: Prometheus + Grafana
Requirements:
✓ Support for 109 microservices
✓ Multi-region deployment
✓ GDPR compliance
✓ Cost under $9k/month
Has anyone used this at scale? What are the gotchas we should know about?
Here's what we recommend: 1) Automate everything possible 2) Monitor proactively 3) Share knowledge across teams 4) Measure what matters. Common mistakes to avoid: not measuring outcomes. Resources that helped us: Google SRE book. The most important thing is outcomes over outputs.
One more thing worth mentioning: we had to iterate several times before finding the right balance.
Additionally, we found that automation should augment human decision-making, not replace it entirely.
Our take on this was slightly different using Istio, Linkerd, and Envoy. The main reason was starting small and iterating is more effective than big-bang transformations. However, I can see how your method would be better for legacy environments. Have you considered real-time dashboards for stakeholder visibility?
One thing I wish I knew earlier: failure modes should be designed for, not discovered in production. Would have saved us a lot of time.
One more thing worth mentioning: integration with existing tools was smoother than anticipated.
This level of detail is exactly what we needed! I have a few questions: 1) How did you handle authentication? 2) What was your approach to blue-green? 3) Did you encounter any issues with costs? We're considering a similar implementation and would love to learn from your experience.
The end result was 3x increase in deployment frequency.
One more thing worth mentioning: the hardest part was getting buy-in from stakeholders outside engineering.
Additionally, we found that failure modes should be designed for, not discovered in production.
While this is well-reasoned, I see things differently on the timeline. In our environment, we found that Istio, Linkerd, and Envoy worked better because security must be built in from the start, not bolted on later. That said, context matters a lot - what works for us might not work for everyone. The key is to experiment and measure.
For context, we're using Datadog, PagerDuty, and Slack.
For context, we're using Elasticsearch, Fluentd, and Kibana.
One thing I wish I knew earlier: observability is not optional - you can't improve what you can't measure. Would have saved us a lot of time.
We encountered something similar. The key factor was maintenance burden. We learned this the hard way when the initial investment was higher than expected, but the long-term benefits exceeded our projections. Now we always make sure to include in design reviews. It's added maybe an hour to our process but prevents a lot of headaches down the line.
Feel free to reach out if you have more questions - happy to share our runbooks and documentation.
The end result was 99.9% availability, up from 99.5%.
Thanks for this! We're beginning our evaluation ofg this approach. Could you elaborate on success metrics? Specifically, I'm curious about how you measured success. Also, how long did the initial implementation take? Any gotchas we should watch out for?
Additionally, we found that automation should augment human decision-making, not replace it entirely.
For context, we're using Grafana, Loki, and Tempo.
Additionally, we found that security must be built in from the start, not bolted on later.
Great job documenting all of this! I have a few questions: 1) How did you handle monitoring? 2) What was your approach to canary? 3) Did you encounter any issues with availability? We're considering a similar implementation and would love to learn from your experience.
One thing I wish I knew earlier: automation should augment human decision-making, not replace it entirely. Would have saved us a lot of time.
I'd recommend checking out the official documentation for more details.
Feel free to reach out if you have more questions - happy to share our runbooks and documentation.
Excellent thread! One consideration often overlooked is team dynamics. We learned this the hard way when unexpected benefits included better developer experience and faster onboarding. Now we always make sure to monitor proactively. It's added maybe an hour to our process but prevents a lot of headaches down the line.
Feel free to reach out if you have more questions - happy to share our runbooks and documentation.
Feel free to reach out if you have more questions - happy to share our runbooks and documentation.
So relatable! Our experience was that we learned: Phase 1 (6 weeks) involved stakeholder alignment. Phase 2 (3 months) focused on team training. Phase 3 (2 weeks) was all about knowledge sharing. Total investment was $50K but the payback period was only 9 months. Key success factors: executive support, dedicated team, clear metrics. If I could do it again, I would involve operations earlier.
Feel free to reach out if you have more questions - happy to share our runbooks and documentation.
Great post! We've been doing this for about 17 months now and the results have been impressive. Our main learning was that the human side of change management is often harder than the technical implementation. We also discovered that unexpected benefits included better developer experience and faster onboarding. For anyone starting out, I'd recommend real-time dashboards for stakeholder visibility.
One more thing worth mentioning: unexpected benefits included better developer experience and faster onboarding.
Let me tell you how we approached this. We started about 4 months ago with a small pilot. Initial challenges included performance issues. The breakthrough came when we simplified the architecture. Key metrics improved: 70% reduction in incident MTTR. The team's feedback has been overwhelmingly positive, though we still have room for improvement in monitoring depth. Lessons learned: measure everything. Next steps for us: add more automation.
One more thing worth mentioning: unexpected benefits included better developer experience and faster onboarding.
Playing devil's advocate here on the timeline. In our environment, we found that Grafana, Loki, and Tempo worked better because starting small and iterating is more effective than big-bang transformations. That said, context matters a lot - what works for us might not work for everyone. The key is to invest in training.
The end result was 99.9% availability, up from 99.5%.
One thing I wish I knew earlier: observability is not optional - you can't improve what you can't measure. Would have saved us a lot of time.
Good analysis, though I have a different take on this on the metrics focus. In our environment, we found that Grafana, Loki, and Tempo worked better because the human side of change management is often harder than the technical implementation. That said, context matters a lot - what works for us might not work for everyone. The key is to invest in training.
One more thing worth mentioning: the initial investment was higher than expected, but the long-term benefits exceeded our projections.
Great post! We've been doing this for about 6 months now and the results have been impressive. Our main learning was that the human side of change management is often harder than the technical implementation. We also discovered that the hardest part was getting buy-in from stakeholders outside engineering. For anyone starting out, I'd recommend compliance scanning in the CI pipeline.
Feel free to reach out if you have more questions - happy to share our runbooks and documentation.
Additionally, we found that failure modes should be designed for, not discovered in production.