2. What you may have missed...
● The Ops in “DevOps” might be part of your agile process as a developer but it presents a whole
new learning map
● Scaling applications requires a good amount of focus and experience
● Provides a space to focus on building software, improving product health
● Shorter and more efficient development cycles
● Because deployment (build, configuration management and Release)
● The tools and innovations that come with the process.
3. What’s a bullet-proof application?
● First off, it’s best to adopt Agile
● A (bp) app refers to having an automated, monitored and interactive setup, huh? Let me
show you
○ What does “fully automated” relate to?
■ A Continuous Integration / Continuous Deployment solution (CI/CD)
● Some platforms offer both (NOTE these are 2 different processes)
○ Personal favorite, Concourse, (it’s free btw)
■ Use of a change management tool (Ansible, Chef, Puppet)
4. ● What about “monitored”?
○ Monitoring is simply running checks on your application (and or) server, notifying
the right parties when something isn’t running as it should.
○ Monitoring and Logging are the most important problem identifiers
○ Tests won’t uncover scalability issues, RabbitMQ users can relate!
○ There are a number of monitoring platforms available, new relic, Insping, Uptime
robot…. I like getting my hands a little dirty, Zabbix and Nagios provide excellent
service
5. A point on Logging
● If you are not using a framework, please work with Logrotate. Why?
○ Saves you memory
○ Supports mailing, yes! Logrotate can send you mail of your logs
● Logrotate is readily available in etc dir of your linux distro, if not,
○ Run sudo apt-get install logrotate
● It’s highly recommended to store your logs in “/var/log” directory
○ With that you could make your app directory read-only thus enhancing Security
○ Your logs would be easily accessed by Logrotate
6. Back to “Interactive”
Disclaimer; this does not relate to ML or AI
● Interactive basically means a setup that talks to you, mostly via notifications and
messaging when a service is down or recovered.
● A great combo is a self-healing setup. A cron-like service that runs scripts based on
a monitoring setup. This will make sure to notify a human as the last resort
● Rundeck is such a service, an automated job scheduler.