2. @eljuanchosf
Yours truly...
Juan Pablo Genovese
(aka J.P.)
Cloud Engineer
A bit about me
● Absolutely passionate about teaching
and dancing Tango
● Plays guitar and sings.
● Have two dogs (a Giant schnauzer
and a Boxer)
● Loves meeting people and talking
about pretty much everything
Keep in touch!
● 19 years in the IT business, in different
industries.
● From S/390 to Cloud environments.
● From COBOL to microservices.
● 3.5 years working with Cloud Foundry.
● Loves working on system architectures,
enabling companies in the Cloud World
and delivering trainings.
@eljuanchosf
juanpgenovese
3. @eljuanchosf
The world is changing...
Since the year 2000, 56% of the Fortune
500 companies are no longer on the list.
fast
9. @eljuanchosf
Adaptability & Agility
A system should be able to respond quickly to change.
What brings change:
Humans using that system
Business model
Hardware
Software
“The measure of intelligence is the ability to change.”
Albert Einstein
10. @eljuanchosf
Resilience
A system should be able to recover from failure.
What can go wrong?
Software instability
Physical failure
Attacks
Natural disaster
“Our greatest glory is not in never falling but in rising every time we fall.”
Confucius
11. @eljuanchosf
Cooperation
A system should be able work together with other systems.
Why?
Specialization leads to either cooperation or isolation
Complex systems are made of simpler systems working together
“Coming together is a beginning; keeping together is progress; working together is success.”
Henry Ford
13. @eljuanchosf
An ever-changing group of methodologies
and tools that allows software systems to be
adaptable, agile, resilient and cooperative.
14. @eljuanchosf
The Cloud Native toolbox
Automation
Infrastructure as code
Platform as a Service
Containerization
12 factor apps
Continuous Integration & Delivery
Source control
Multi Data Center
15. @eljuanchosf
Infrastructure as code
A way to manage and provision infrastructure from the ground up with a high level or
descriptive language.
Terraform
Puppet
Chef
Ansible
BOSH
16. @eljuanchosf
Platform as a Service
A way to develop, run and manage applications without going into the complexities of
managing the underlying infrastructure.
Heroku
Amazon Elastic Beanstalk
Cloud Foundry (IBM Bluemix, Pivotal Web Services, GE Predix)
Google App Engine
OpenShift
17. @eljuanchosf
Containerization
A technique of encapsulating applications in containers with its own operating
environment, abstracting them from the operating system.
LXC
Docker
Rocket
Warden/Garden (Cloud Foundry)
18. @eljuanchosf
12 factor apps
A methodology of writing applications that allows system and software architects, and
developers, to create software that can run in the cloud seamlessly.
1. Codebase in revision
2. Declare dependencies
3. Config in environment
4. Backing services = attached
resources
5. Separate build and run stages
7. Export services via port binding
8. Scale out via process model
9. Fast startup, graceful shutdown
10. Environments parity
11. Logs = events streams
12. Admin processes as tasks