Cloud Native: what is it? Why?

21
@eljuanchos f Cloud Native What is it? Why? Juan Pablo Genovese Cloud Engineer

Transcript of Cloud Native: what is it? Why?

Page 1: Cloud Native: what is it? Why?

@eljuanchosf

Cloud NativeWhat is it? Why?

Juan Pablo GenoveseCloud Engineer

Page 2: Cloud Native: what is it? Why?

@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

Page 3: Cloud Native: what is it? Why?

@eljuanchosf

The world is changing...

Since the year 2000, 56% of the Fortune 500 companies are no

longer on the list.

fast

Page 4: Cloud Native: what is it? Why?

@eljuanchosf

Disruption

Page 5: Cloud Native: what is it? Why?

@eljuanchosf

Disruption, everywhere

Page 6: Cloud Native: what is it? Why?

@eljuanchosf

Evolve, or die

Page 7: Cloud Native: what is it? Why?

@eljuanchosf

“Software is eating the world”Marc Andeerssen - cofounder, Netscape

Page 8: Cloud Native: what is it? Why?

@eljuanchosf

Adaptability Resilience

Agility Cooperation

Page 9: Cloud Native: what is it? Why?

@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

Page 10: Cloud Native: what is it? Why?

@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

Page 11: Cloud Native: what is it? Why?

@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

Page 12: Cloud Native: what is it? Why?

@eljuanchosf

Enter…

Cloud Native

Page 13: Cloud Native: what is it? Why?

@eljuanchosf

An ever-changing group of methodologies and tools that allows software systems to be adaptable,

agile, resilient and cooperative.

Page 14: Cloud Native: what is it? Why?

@eljuanchosf

The Cloud Native toolboxAutomation

Infrastructure as code

Platform as a Service

Containerization

12 factor apps

Continuous Integration & Delivery

Source control

Multi Data Center

Page 15: Cloud Native: what is it? Why?

@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

Page 16: Cloud Native: what is it? Why?

@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

Page 17: Cloud Native: what is it? Why?

@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)

Page 18: Cloud Native: what is it? Why?

@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

Page 19: Cloud Native: what is it? Why?

@eljuanchosf

If software is eating the world…

… don’t be the food.

Page 20: Cloud Native: what is it? Why?

@eljuanchosf

?Questions? Anyone?

Page 21: Cloud Native: what is it? Why?

@eljuanchosf

Thank you!

Keep in touch! :-)