Cloud Native: what is it? Why?
-
Upload
juan-pablo-genovese -
Category
Technology
-
view
196 -
download
0
Transcript of Cloud Native: what is it? Why?
@eljuanchosf
Cloud NativeWhat is it? Why?
Juan Pablo GenoveseCloud Engineer
@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.
@eljuanchosfjuanpgenovese
@eljuanchosf
The world is changing...
Since the year 2000, 56% of the Fortune 500 companies are no
longer on the list.
fast
@eljuanchosf
Disruption
@eljuanchosf
Disruption, everywhere
@eljuanchosf
Evolve, or die
@eljuanchosf
“Software is eating the world”Marc Andeerssen - cofounder, Netscape
@eljuanchosf
Adaptability Resilience
Agility Cooperation
@eljuanchosf
Adaptability & AgilityA 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
@eljuanchosf
ResilienceA 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
@eljuanchosf
CooperationA 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
@eljuanchosf
Enter…
Cloud Native
@eljuanchosf
An ever-changing group of methodologies and tools that allows software systems to be adaptable,
agile, resilient and cooperative.
@eljuanchosf
The Cloud Native toolboxAutomation
Infrastructure as code
Platform as a Service
Containerization
12 factor apps
Continuous Integration & Delivery
Source control
Multi Data Center
@eljuanchosf
Infrastructure as codeA way to manage and provision infrastructure from the ground up with a high level or descriptive language.
Terraform
Puppet
Chef
Ansible
BOSH
@eljuanchosf
Platform as a ServiceA 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
@eljuanchosf
ContainerizationA technique of encapsulating applications in containers with its own operating environment, abstracting them from the operating system.
LXC
Docker
Rocket
Warden/Garden (Cloud Foundry)
@eljuanchosf
12 factor appsA 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
6. Apps as stateless processes
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
@eljuanchosf
If software is eating the world…
… don’t be the food.
@eljuanchosf
?Questions? Anyone?
@eljuanchosf
Thank you!
Keep in touch! :-)