Slide 1

Slide 1 text

Go: The Cloud Native Language Andre Almar Principal Solutions Architect This presentation is available at: https://github.com/andrealmar/talks

Slide 2

Slide 2 text

© 2018 Cloud Native Computing Foundation 2 $whoami ● Site Reliability Engineer / DevOps Engineer ● Speaker ● DevOps BH - Meetup Organizer ● DevOpsDays BH - Organizer ● TDC BH 2019-2020 - Organizer & Technical Committee Member ● CNCF BH - Organizer

Slide 3

Slide 3 text

© 2018 Cloud Native Computing Foundation 3 Projects Members

Slide 4

Slide 4 text

© 2018 Cloud Native Computing Foundation 4 Containers Cloud Native From Virtualization to Cloud Native •Cloud native computing uses an open source software stack to: – segment applications into microservices, – package each part into its own container – and dynamically orchestrate those containers to optimize resource utilization Open Source IaaS PaaS Open Source PaaS Virtualiza- tion 2000 2001 2006 2009 2010 2011 Non- Virtualized Hardware 2013 2015 IaaS

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Cloud Native

Slide 7

Slide 7 text

© 2018 Cloud Native Computing Foundation 7 Cloud Native The MODERN WAY to develop software

Slide 8

Slide 8 text

© 2018 Cloud Native Computing Foundation 8 Cloud Native It is NOT Lift & Shift

Slide 9

Slide 9 text

© 2018 Cloud Native Computing Foundation 9 Cloud Native Apps characteristics Always Available Elasticity Redundancy Automation Modular Design Stateless

Slide 10

Slide 10 text

Go (Golang)

Slide 11

Slide 11 text

Robert Griesemer Rob Pike Ken Thompson

Slide 12

Slide 12 text

© 2018 Cloud Native Computing Foundation 12 Simplicity Programming Happiness Compilation (Fast & Cross) Standard Library Garbage Collection

Slide 13

Slide 13 text

© 2018 Cloud Native Computing Foundation 13

Slide 14

Slide 14 text

© 2018 Cloud Native Computing Foundation 14 CNCF Graduated Projects

Slide 15

Slide 15 text

© 2018 Cloud Native Computing Foundation 15 CNCF Incubated Projects

Slide 16

Slide 16 text

© 2018 Cloud Native Computing Foundation 16 Go is FAST!!!

Slide 17

Slide 17 text

© 2018 Cloud Native Computing Foundation 17 Code Style and Linting

Slide 18

Slide 18 text

© 2018 Cloud Native Computing Foundation 18 Doesn't need a runtime

Slide 19

Slide 19 text

© 2018 Cloud Native Computing Foundation 19 JAVA the Hutt

Slide 20

Slide 20 text

© 2018 Cloud Native Computing Foundation 20

Slide 21

Slide 21 text

© 2018 Cloud Native Computing Foundation 21 Key Takeaways Your Apps & Infrastructure MUST be: - Horizontally scalable - No single point of failure - Resilient and self-healing - Minimal operator overhead - Decoupled from the underlying platform

Slide 22

Slide 22 text

© 2018 Cloud Native Computing Foundation 22 Key Takeaways You are now a SOFTWARE ENGINEER

Slide 23

Slide 23 text

© 2018 Cloud Native Computing Foundation 23 Key Takeaways Please learn some Go

Slide 24

Slide 24 text

Please follow up with Andre Almar [email protected], @andrealmar_ on Twitter, @andrealmar on Instagram andrealmar.com This presentation is available at: https://github.com/andrealmar/talks