Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Deploying more technology to shift from agility to anti-fragility

This talk focusses on the technologies that can be adopted in order to enhance agility and speed of development through advances in system stability. We will span over techniques such as containerization, server-less architectures, logging technologies and application architectures that can have an immediate effect in an organisations' agility.

Deploying more technology to shift from agility to anti-fragility

2.
Some of the agile principles and goals:
•responding to change over following a plan
•continuous delivery of valuable software
•changing requirements even late in development
•deliver working software frequently
•working software is the primary measure of progress
•continuous attention to technical excellence and good design enhances agility
Agile goals

3.
Do it quick, redo it even quicker and do it correctly
Today we will try to answer the question:
Is this possible without solid underlying technology and systems?
(and without breaking stuff?)
What do they mean?

9.
Triggers in code and hardware to get information about application and
hardware performance
Goal: The more you measure and easier to view - the faster the reaction to
errors = shortened development cycles.
Tools:
•ELK
•New Relic / DataDog HQ, appneta
•Nagios, AWS cloudwatch
Logging / application monitoring

10.
Developers should send code to production AS IS with small configuration
changes.
Consistent and portable environments
Most important aspect of 12 factor apps - central configuration
Goal: No more bugs due to inconsistent environments
Local Development Practices

11.
Old technique - new trend
Deploy to production your local container (no more worked on my local)
OS agnostic / plays with all
Oldies know it as lxc
Most trendy is Docker
Containerisation

13.
Building software without operating any servers
Speeds in developments are rapid
Offered by the use of cloud services (aws, gce, heroku etc)
Goal: Quicker speed to market with minimal operational and maintainance cost
Tools: Pioneer is aws with the offering of lambda, API gateway and the
connection of their event system
Server less architectures

14.
Architectures that can be brought up and thrown away with the click of a button
Immutable: once created you don't change it - you only replace
Clustered: fault tolerant cluster with no master SPOF
Goal: Infrastructure is wholy replacable providing confidence to try and fail
Highlander Architectures

16.
A good (and painful) long term investment
Methodology is necessary but developers need more tools
Providing these tools is a great addition to agile principles
Realization that without these tools agile is closer to fragile must be made
However, immense cost and effort is required to reach a good level
Once this tin opens then possibilities are endless
Conclusion