# DevOps

- Link: https://www.agilicus.com/blog/devops/
- Published: 2020-12-25T21:16:39+00:00
- Author: Don Bowman

1. [Home](https://www.agilicus.com/)
 2. [Blog](https://www.agilicus.com/blog/)
 3. DevOps

![about-agilicus](https://www.agilicus.com/www/9f15eb3a-about-hero-01.svg)

# DevOps: How We Build

## Overview

DevOps. Comining development practices with Operations practices. Shifting things
left. Moving to a more continuous cycle of integration and delivery.

DevOps has spawned a culture. A set of tools. It is highly complementary with Agile,
of which Agilicus is a strong proponent.

 * [⌊Core Web Vitals WordPress Improve Recaptcha Performance⌉⌊Core Web Vitals WordPress
   Improve Recaptcha Performance⌉[
 * 
   ## 󠀁[Core Web Vitals WordPress Improve Recaptcha Performance](https://www.agilicus.com/core-web-vitals-wordpress-improve-recaptcha-performance/)󠁿
   
 * Core Web Vitals WordPress performance is important for user experience, for search
   optimisation. Learn how to improve wordpress and recaptcha CWV.
 * [⌊Speedup WordPress By Dequeue Unused Scripts⌉⌊Speedup WordPress By Dequeue Unused
   Scripts⌉[
 * 
   ## 󠀁[Speedup WordPress By Dequeue Unused Scripts](https://www.agilicus.com/speedup-wordpress-dequeue-scripts/)󠁿
   
 * Speedup wordpress by dequeing unused scripts and css. The Events Calendar is 
   used as an example. Faster load, less parse, better core web vitals.
 * [⌊Its Always DNS: Latency In Web Load Time⌉⌊Its Always DNS: Latency In Web Load
   Time⌉[
 * 
   ## 󠀁[Its Always DNS: Latency In Web Load Time](https://www.agilicus.com/dns-latency-website-load/)󠁿
   
 * Latency, specifically DNS Latency, is a big factor in web page load time. Don’t
   over-focus on bandwidth, examine prefetch and latency to improve.
 * [⌊The Quest For Web Site Performance Perfection⌉⌊The Quest For Web Site Performance
   Perfection⌉[
 * 
   ## 󠀁[The Quest For Web Site Performance Perfection](https://www.agilicus.com/the-quest-for-web-site-performance-perfection/)󠁿
   
 * Web site performance. Search engines favour sped. Milliseconds matter. Performance
   is as important as the content, as important as the appearance.
 * [⌊Latency And Load Testing Your Web Site With Locust and Istio⌉⌊Latency And Load
   Testing Your Web Site With Locust and Istio⌉[
 * 
   ## 󠀁[Latency And Load Testing Your Web Site With Locust and Istio](https://www.agilicus.com/latency-and-load-testing-web-site/)󠁿
   
 * Your web site uses new technology. Shake it down by using your Sitemap for Latency
   and load testing with locust and istio.
 * [⌊Embrace Failures: find the start times of Kubernetes pods⌉⌊Embrace Failures:
   find the start times of Kubernetes pods⌉[
 * 
   ## 󠀁[Embrace Failures: find the start times of Kubernetes pods](https://www.agilicus.com/embrace-failure-kubernetes-pod-restart-times/)󠁿
   
 * Cloud Native: embracing failures. Assume Strength in Numbers. Don’t spend large
   time on a single infinitely reliable thing, assume each component will fail.
 * [⌊Internet Redirect & Alias: The CNAME⌉⌊Internet Redirect & Alias: The CNAME⌉[
 * 
   ## 󠀁[Internet Redirect & Alias: The CNAME](https://www.agilicus.com/about-dns-cname/)󠁿
   
 * CNAME. Invented in 1987, used in today’s SaaS. See how your domain can be shared
   with your partners.
 * [⌊Dockerhub and pull limits: cache some insurance⌉⌊Dockerhub and pull limits:
   cache some insurance⌉[
 * 
   ## 󠀁[Dockerhub and pull limits: cache some insurance](https://www.agilicus.com/dockerhub-pull-limit-cache-insurance/)󠁿
   
 * Concerned about the new dockerhub rate limits? Run Kubernetes? Run CI? Deploy
   a pull-through cache simply to reduce the risk and impact.
 * [⌊The deep rabbit hole of email in cloud⌉⌊The deep rabbit hole of email in cloud⌉[
 * 
   ## 󠀁[The deep rabbit hole of email in cloud](https://www.agilicus.com/email-aws-ses-saml-sso/)󠁿
   
 * Email. Port 25. Security. Spam. Its more complex than it used to be to be a good
   Internet citizen for email sending. Cloud edition.
 * [⌊Delicious Dogfood: Cloud Native WordPress⌉⌊Delicious Dogfood: Cloud Native 
   WordPress⌉[
 * 
   ## 󠀁[Delicious Dogfood: Cloud Native WordPress](https://www.agilicus.com/cloud-native-wordpress/)󠁿
   
 * Take WordPress. Modernise it. Make it cloud-native. Add tidb cloud-native database.
   Add stateless storage.
 * [⌊Finding your Google ID and reclaiming your Gitlab account⌉⌊Finding your Google
   ID and reclaiming your Gitlab account⌉[
 * 
   ## 󠀁[Finding your Google ID and reclaiming your Gitlab account](https://www.agilicus.com/finding-your-google-id-and-reclaiming-your-gitlab-account/)󠁿
   
 * OpenID Connect, a powerful single-sign-on with strong security, and locking the
   user to the upstream ID means if their name changes you are insulated.
 * [⌊Logging real remote address with Nginx and Lua⌉⌊Logging real remote address
   with Nginx and Lua⌉[
 * 
   ## 󠀁[Logging real remote address with Nginx and Lua](https://www.agilicus.com/logging-real-remote-address-with-nginx-and-lua/)󠁿
   
 * For audit, security, tracing, we want the origin IP logged. Load-balancers can
   mask this. Learn how to log the true client IP from nginx with lua, when that
   nginx is behind a load-balancer (reverse proxy)
 * [⌊Tame the legacy beast with API’s⌉⌊Tame the legacy beast with API’s⌉[
 * 
   ## 󠀁[Tame the legacy beast with API’s](https://www.agilicus.com/tame-the-legacy-beast-api/)󠁿
   
 * Large legacy systems hold our data hostage. Tame their grip with REST-ful API’s
   and microservices. Fear no more on upgrades or even replacements.
 * [⌊Creating the reliable cloud with unreliable components⌉⌊Creating the reliable
   cloud with unreliable components⌉[
 * 
   ## 󠀁[Creating the reliable cloud with unreliable components](https://www.agilicus.com/creating-the-reliable-cloud-with-unreliable-components/)󠁿
   
 * Secure. Reliable. Economical. All three. We have embraced failures to create 
   a reliable municipal hybrid cloud with unreliable components, economically.
 * [⌊Kustomizing Kustomize: Releasing Our Tools⌉⌊Kustomizing Kustomize: Releasing
   Our Tools⌉[
 * 
   ## 󠀁[Kustomizing Kustomize: Releasing Our Tools](https://www.agilicus.com/kustomize-plugin-examples/)󠁿
   
 * Declarative. It becomes a way of life. We have chosen kustomize to safely build
   our inventory of YAML, including Istio and Cert-Manager. But, it has proven incredibly
   non-DRY. After some refactoring etc, I made a few Generators and Transformers
   to cover some of the most common cases. And, today, for the low low price of 
   $0, you can snoop around and use them, via our Github page. It turned out that(
   as you might expect) the main driver was errors.…
 * [⌊Declarative GitFlow: restrict kustomize to master branch⌉⌊Declarative GitFlow:
   restrict kustomize to master branch⌉[
 * 
   ## 󠀁[Declarative GitFlow: restrict kustomize to master branch](https://www.agilicus.com/declarative-gitflow-restrict-kustomize-to-master-branch/)󠁿
   
 * Prevent accidents from happening on un-merged feature branches with GitFlow and
   kustomize.
 * [⌊Defense in Depth: Securing your new Kubernetes cluster from the challenges 
   that lurk within⌉⌊Defense in Depth: Securing your new Kubernetes cluster from
   the challenges that lurk within⌉[
 * 
   ## 󠀁[Defense in Depth: Securing your new Kubernetes cluster from the challenges that lurk within](https://www.agilicus.com/defense-in-depth-securing-your-new-kubernetes-cluster-from-the-challenges-that-lurk-within/)󠁿
   
 * Cloud Native Day Presentation. The dangers that lurk inside your Kubernetes Cluster,
   what to watch out for.
 * [⌊Cloud Security Blasphemy: Secrets in git⌉⌊Cloud Security Blasphemy: Secrets
   in git⌉[
 * 
   ## 󠀁[Cloud Security Blasphemy: Secrets in git](https://www.agilicus.com/cloud-security-blasphemy-secrets-in-git/)󠁿
   
 * Ever wondered why so many breaches happen due to secrets being checked in to 
   source control? Want to make it easy to commit them to git, and be secure at 
   the same time? Read On!
 * [⌊Keep your certificates young and fresh⌉⌊Keep your certificates young and fresh⌉[
 * 
   ## 󠀁[Keep your certificates young and fresh](https://www.agilicus.com/keep-your-certificates-young-and-fresh/)󠁿
   
 * TLS certificates, unlike wine, do not get better with age. Refresh them before
   they hit the end of their lifecycle.
 * [⌊That’s the kind of password an idiot uses on luggage: cloud security⌉⌊That’s
   the kind of password an idiot uses on luggage: cloud security⌉[
 * 
   ## 󠀁[That’s the kind of password an idiot uses on luggage: cloud security](https://www.agilicus.com/thats-the-kind-of-password-an-idiot-uses-on-luggage-cloud-security/)󠁿
   
 * Passwords. bits of plain text that end up everywhere in automated systems. etcd.
   A `secure` way to share secrets. The Internet. A place that everything is guaranteed
   to end up. This is a toxic brew, read on!
 * [⌊The naked cloud: elasticsearch is stretch but doesn’t cover security⌉⌊The naked
   cloud: elasticsearch is stretch but doesn’t cover security⌉[
 * 
   ## 󠀁[The naked cloud: elasticsearch is stretch but doesn’t cover security](https://www.agilicus.com/the-naked-cloud-elasticsearch-is-stretch-but-doesnt-cover-security/)󠁿
   
 * Wide open elasticsearch on the Internet. Its common. The user usually believes
   since they use private IP (NAT) they are protected. Wrong.
 * [⌊Static Application Security for Nodejs (with Gitlab CI)⌉⌊Static Application
   Security for Nodejs (with Gitlab CI)⌉[
 * 
   ## 󠀁[Static Application Security for Nodejs (with Gitlab CI)](https://www.agilicus.com/static-application-security-testing-sast-and-nodejs-with-gitlab-ci/)󠁿
   
 * Static application security for nodejs and Gitlab CI without changing your containers.
   SAST the easy way using docker FROM.
 * [⌊Safely secure secrets: a sops plugin for kustomize⌉⌊Safely secure secrets: 
   a sops plugin for kustomize⌉[
 * 
   ## 󠀁[Safely secure secrets: a sops plugin for kustomize](https://www.agilicus.com/safely-secure-secrets-a-sops-plugin-for-kustomize/)󠁿
   
 * Secrets get committed to git, forgotten, and then resurrected by the wrong people
   later. Don’t let this happen to you, use sops. And be declarative, use kustomize.
   And do it with this cool new library I wrote.
 * [⌊They got in via the logging! remote exploits and DDoS using the security logs⌉⌊
   They got in via the logging! remote exploits and DDoS using the security logs⌉[
 * 
   ## 󠀁[They got in via the logging! remote exploits and DDoS using the security logs](https://www.agilicus.com/they-got-in-via-the-logging-remote-exploits-and-ddos-using-the-security-logs/)󠁿
   
 * Amplification attacks occur when a small request causes a larger response. NTP
   and DNS have both been prone to this, but now cloud logging? Read on!
 * [⌊Increasing the usefulness of your Kubernetes Ingress logging⌉⌊Increasing the
   usefulness of your Kubernetes Ingress logging⌉[
 * 
   ## 󠀁[Increasing the usefulness of your Kubernetes Ingress logging](https://www.agilicus.com/increasing-the-usefulness-of-your-kubernetes-ingress-logging/)󠁿
   
 * Using fluent-bit annotations can increase the usefulness of your Kubernetes nginx-
   ingress logging. Create a custom regex parser.
 * [⌊When your security tools cost more than the thing they protect⌉⌊When your security
   tools cost more than the thing they protect⌉[
 * 
   ## 󠀁[When your security tools cost more than the thing they protect](https://www.agilicus.com/when-your-security-tools-cost-more-than-the-thing-they-protect/)󠁿
   
 * The (memory) cost of all the security proxies can be higher than the thing they
   protect. Let’s look at Istio.
 * [⌊Protect your API key (and your credit rating)⌉⌊Protect your API key (and your
   credit rating)⌉[
 * 
   ## 󠀁[Protect your API key (and your credit rating)](https://www.agilicus.com/protect-your-api-key-and-your-credit-rating/)󠁿
   
 * Google API keys. Powerful. Commonly used on websites. But able to cost you a 
   lot of money. Learn how to protect them and your wallet.
 * [⌊Fluent-Bit log routing by namespace in Kubernetes⌉⌊Fluent-Bit log routing by
   namespace in Kubernetes⌉[
 * 
   ## 󠀁[Fluent-Bit log routing by namespace in Kubernetes](https://www.agilicus.com/routing-to-multiple-outputs-by-kubernetes-namespace-in-fluent-bit/)󠁿
   
 * Fluent-Bit log routing by namespace or by cluster. Route the logs from the right
   input(s) to the right outputs in fluent-bit in kubernetes.
 * [⌊What a wicked NAT we weave: detangling the cloud⌉⌊What a wicked NAT we weave:
   detangling the cloud⌉[
 * 
   ## 󠀁[What a wicked NAT we weave: detangling the cloud](https://www.agilicus.com/what-a-wicked-nat-we-weave-detangling-the-cloud/)󠁿
   
 * Cloud. It achieves its elastic nature using Load Balancers and Proxies. The sad
   side affect of these is they remove the source IP. Let’s try to bring it back.
 * [⌊Unix to the Rescue⌉⌊Unix to the Rescue⌉[
 * 
   ## 󠀁[Unix to the Rescue](https://www.agilicus.com/unix-to-the-rescue/)󠁿
   
 * Ever wanted to apply Kubernetes secrets without displaying or persisting the 
   secret value? Well now you can: Unix to the rescue!

 [Next Page](https://www.agilicus.com/blog/devops/?output_format=markdown&query-20-page=2)
