Cloudy with a Chance of Meatballs: Cloud Surprises for the Java Developer (keynote)

A presentation at JavaLand in March 2018 in 50321 Brühl, Germany by Holly Cummins

Slide 1

Slide 1

Cloudy with a Chance of Meatballs Holly Cummins WW Development Lead IBM Cloud Garage

Slide 2

Slide 2

@holly_cummins

Slide 3

Slide 3

@holly_cummins

Slide 4

Slide 4

@holly_cummins

Slide 5

Slide 5

@holly_cummins

Slide 6

Slide 6

@holly_cummins

Slide 7

Slide 7

@holly_cummins

Slide 8

Slide 8

@holly_cummins

Slide 9

Slide 9

This was a story … @holly_cummins

Slide 10

Slide 10

This was a story … …of a hero who wanted to make the world better… @holly_cummins

Slide 11

Slide 11

This was a story … …of a hero who wanted to make the world better… … who had some challenges along the way. @holly_cummins

Slide 12

Slide 12

We all know these stories. @holly_cummins

Slide 13

Slide 13

Joseph Campbell @holly_cummins

Slide 14

Slide 14

@holly_cummins

Slide 15

Slide 15

monomyth @holly_cummins

Slide 16

Slide 16

Prometheus Laconic Kylix with Prometheus and Atlas ~550 BC @holly_cummins

Slide 17

Slide 17

Osiris Tomb of Sennedjem @holly_cummins

Slide 18

Slide 18

@holly_cummins

Slide 19

Slide 19

Howard Pyle King Arthur and the Holy Grail @holly_cummins

Slide 20

Slide 20

@holly_cummins

Slide 21

Slide 21

There is only one story: @holly_cummins

Slide 22

Slide 22

There is only one story: the quest @holly_cummins

Slide 23

Slide 23

Obstacles Call to Action Reward

Slide 24

Slide 24

Obstacles Call to Action Reward

Slide 25

Slide 25

Obstacles Call to Action Reward

Slide 26

Slide 26

Reward Call to Action Obstacles @holly_cummins

Slide 27

Slide 27

Image from the Nationaal Archief, the Dutch National Archives, and Spaarnestad Photo. @holly_cummins

Slide 28

Slide 28

Luke Skywalker @holly_cummins

Slide 29

Slide 29

We are all the hero of our own story. @holly_cummins

Slide 30

Slide 30

What’s our quest? @holly_cummins

Slide 31

Slide 31

Fast hardware. @holly_cummins

Slide 32

Slide 32

Lots of fast hardware. @holly_cummins

Slide 33

Slide 33

No repetitive tasks. @holly_cummins

Slide 34

Slide 34

We are all the hero of our own story. @holly_cummins

Slide 35

Slide 35

Bring value to our employer @holly_cummins

Slide 36

Slide 36

Have an audience for our awesome code @holly_cummins

Slide 37

Slide 37

Make the world better. @holly_cummins

Slide 38

Slide 38

Obstacles Call to Action Reward

Slide 39

Slide 39

@holly_cummins

Slide 40

Slide 40

@holly_cummins

Slide 41

Slide 41

@holly_cummins

Slide 42

Slide 42

install software. patch. repeat. @holly_cummins

Slide 43

Slide 43

deploy times @holly_cummins

Slide 44

Slide 44

It takes us 3 months to get a VM provisioned… …to run a shell script with a cron job. @holly_cummins

Slide 45

Slide 45

Slide 46

Slide 46

Slide 47

Slide 47

Slide 48

Slide 48

Slide 49

Slide 49

These jokes make no sense.

Slide 50

Slide 50

cf push my-cool-startup

Slide 51

Slide 51

Slide 52

Slide 52

Slide 53

Slide 53

Slide 54

Slide 54

export image=registry.bluemix.net/coolness/cool:v1 kubectl run coolstartup —image=${image} —port=8080 kubectl expose deployment coolstartup —type=”LoadBalancer”

Slide 55

Slide 55

Slide 56

Slide 56

Slide 57

Slide 57

Slide 58

Slide 58

Slide 59

Slide 59

Also running on cloud, but you don’t care that it’s cloud

Slide 60

Slide 60

Also running on cloud, but you don’t care that it’s cloud Yup, still on cloud

Slide 61

Slide 61

Obstacles Call to Action Reward

Slide 62

Slide 62

Obstacles Call to Action Reward Fast hardware No pointless tasks Users love the hero

Slide 63

Slide 63

Obstacles Call to Action Reward Fast hardware No pointless tasks Users love the hero

Slide 64

Slide 64

Obstacles Call to Action Reward Fast hardware No pointless tasks Users love the hero

Slide 65

Slide 65

@holly_cummins

Slide 66

Slide 66

Problem solved. @holly_cummins

Slide 67

Slide 67

Problem solved. Quest over. @holly_cummins

Slide 68

Slide 68

Problem solved. Quest over. Und wenn sie nicht gestorben sind, so leben sie noch heute. @holly_cummins

Slide 69

Slide 69

Er, sort of. @holly_cummins

Slide 70

Slide 70

Wait, we’re not all using containers?

Slide 71

Slide 71

Obstacles Call to Action Reward

Slide 72

Slide 72

You have to make everything better by going the the cloud! … but there is a certain amount of risk. Sorry, can’t be a hero. I need to stay where I am.

Slide 73

Slide 73

100% 75% 50% 25% 2016 2017 Container Adoption Survey of 504 users by Cloud Native Computing Foundation

Slide 74

Slide 74

100% Sorry, can’t do it. I need to stay where I am. 75% 50% 25% 2016 2017 Container Adoption Survey of 504 users by Cloud Native Computing Foundation

Slide 75

Slide 75

Security. @holly_cummins

Slide 76

Slide 76

Firewall Scary outside Safe inside @holly_cummins

Slide 77

Slide 77

Firewall Scary outside Safe inside @holly_cummins

Slide 78

Slide 78

Watson Discovery Data Firewall Me Clients from a large bank @holly_cummins

Slide 79

Slide 79

Hey boss, I put all our sensitive data on the cloud. Unencrypted. Annual Review Room @holly_cummins

Slide 80

Slide 80

Annual Review. @holly_cummins

Slide 81

Slide 81

Annual Review. Theodoor Rombouts 1597 - 1637. @holly_cummins

Slide 82

Slide 82

@holly_cummins

Slide 83

Slide 83

actually … @holly_cummins

Slide 84

Slide 84

actually … encryption fixes most things @holly_cummins

Slide 85

Slide 85

app Built artefact boundary middleware OS virtualisation hardware @holly_cummins

Slide 86

Slide 86

app app middleware middleware OS OS virtualisation hardware Built artefact boundary virtualisation hardware @holly_cummins

Slide 87

Slide 87

app app middleware middleware OS OS virtualisation hardware Built artefact boundary virtualisation hardware @holly_cummins

Slide 88

Slide 88

Developers are responsible for security in the cloud. @holly_cummins

Slide 89

Slide 89

actually …

Slide 90

Slide 90

@holly_cummins

Slide 91

Slide 91

Cloud can be more secure. @holly_cummins

Slide 92

Slide 92

IBM Vice-President Client CIO

Slide 93

Slide 93

I’ve been putting my apps onto the cloud. IBM Vice-President Client CIO

Slide 94

Slide 94

Good plan. You should consider the IBM Cloud. :) IBM Vice-President I’ve been putting my apps onto the cloud. Client CIO

Slide 95

Slide 95

Good plan. You should consider the IBM Cloud. :) I’ve been putting my apps onto the cloud. How long have you been working on this? IBM Vice-President Client CIO

Slide 96

Slide 96

Good plan. You should consider the IBM Cloud. :) I’ve been putting my apps onto the cloud. How long have you been working on this? IBM Vice-President 2 years. Client CIO

Slide 97

Slide 97

Good plan. You should consider the IBM Cloud. :) I’ve been putting my apps onto the cloud. How long have you been working on this? 2 years. How many have you done? IBM Vice-President Client CIO

Slide 98

Slide 98

Good plan. You should consider the IBM Cloud. :) I’ve been putting my apps onto the cloud. How long have you been working on this? 2 years. How many have you done? IBM Vice-President 2% Client CIO

Slide 99

Slide 99

Obstacles Call to Action Reward

Slide 100

Slide 100

Cloud Native-ness Obstacles Call to Action Reward

Slide 101

Slide 101

Tell me your definition of cloud native. IBM Cloud Garage Interview Room @holly_cummins

Slide 102

Slide 102

Tell me your definition of cloud native. IBM Cloud Garage Interview Room Cloud native is just hype. It’s a new name for an old concept. @holly_cummins

Slide 103

Slide 103

Shared centralised computing is not new.

Slide 104

Slide 104

Es gibt nichts Neues unter der Sonne @holly_cummins

Slide 105

Slide 105

the first internet Marcin Wichary @holly_cummins

Slide 106

Slide 106

Slide 107

Slide 107

There are 5 computers. In the whole world.

Slide 108

Slide 108

Timeshare There are 5 computers. In the whole world.

Slide 109

Slide 109

Timeshare There are 5 computers. In the whole world. Microcomputer

Slide 110

Slide 110

Timeshare There are 5 computers. In the whole world. Client-server Microcomputer

Slide 111

Slide 111

Timeshare There are 5 computers. In the whole world. Client-server Microcomputer Personal computer

Slide 112

Slide 112

Timeshare There are 5 computers. In the whole world. Client-server Microcomputer Personal computer Grid

Slide 113

Slide 113

Timeshare There are 5 computers. In the whole world. Client-server Microcomputer Personal computer Grid Laptops

Slide 114

Slide 114

Timeshare There are 5 computers. In the whole world. Client-server Microcomputer Personal computer Grid Laptops Cloud

Slide 115

Slide 115

Timeshare There are 5 computers. In the whole world. Client-server Grid Cloud Edge computing Microcomputer Personal computer Laptops

Slide 116

Slide 116

@holly_cummins

Slide 117

Slide 117

If it’s not new, why is it so hard?

Slide 118

Slide 118

Slide 119

Slide 119

cloud native is hard @holly_cummins

Slide 120

Slide 120

Slide 121

Slide 121

• Containerized

Slide 122

Slide 122

• Containerized • Dynamically orchestrated

Slide 123

Slide 123

• Containerized • Dynamically orchestrated • Microservices oriented

Slide 124

Slide 124

• Containerized • Dynamically orchestrated • Microservices oriented • Agile

Slide 125

Slide 125

• Containerized • Dynamically orchestrated • Microservices oriented • Agile • Devops

Slide 126

Slide 126

• Containerized • Dynamically orchestrated • Microservices oriented • Agile • Devops • Elastic

Slide 127

Slide 127

• Containerized • Dynamically orchestrated • Microservices oriented • Agile • Devops • Elastic • Stateless

Slide 128

Slide 128

Our server may go away at any time.

Slide 129

Slide 129

@holly_cummins

Slide 130

Slide 130

@holly_cummins

Slide 131

Slide 131

Our old JVMs don’t work so well in the cloud.

Slide 132

Slide 132

@holly_cummins

Slide 133

Slide 133

Physical machine Virtual machine Docker container

Slide 134

Slide 134

Physical machine Virtual machine Docker container

Slide 135

Slide 135

Physical machine Virtual machine Docker container

Slide 136

Slide 136

Physical machine Virtual machine Docker container

Slide 137

Slide 137

Physical machine Virtual machine Docker container How much memory Docker thinks JVM has

Slide 138

Slide 138

Physical machine How much memory the JVM thinks the JVM has How much memory Docker thinks JVM has Virtual machine Docker container

Slide 139

Slide 139

Physical machine How much memory the JVM thinks the JVM has How much memory Docker thinks JVM has Virtual The KILL ZONE machine Docker container

Slide 140

Slide 140

Slide 141

Slide 141

The JVM dies.

Slide 142

Slide 142

The JVM dies. We bring it back to life.

Slide 143

Slide 143

The JVM dies. We bring it back to life. But it’s still annoying.

Slide 144

Slide 144

Slide 145

Slide 145

Our old way of doing ops doesn’t work.

Slide 146

Slide 146

Happy Server Application monitoring in the old days @holly_cummins

Slide 147

Slide 147

Happy Server Unhappy Server Application monitoring in the old days @holly_cummins

Slide 148

Slide 148

Happy Server Unhappy Server Application monitoring in the old days @holly_cummins

Slide 149

Slide 149

transparency @holly_cummins

Slide 150

Slide 150

@holly_cummins

Slide 151

Slide 151

@holly_cummins

Slide 152

Slide 152

@holly_cummins

Slide 153

Slide 153

@holly_cummins

Slide 154

Slide 154

Microservices are hard.

Slide 155

Slide 155

“A typical microservices deployment.” @holly_cummins

Slide 156

Slide 156

“A bad microservices deployment.” @holly_cummins

Slide 157

Slide 157

Just because you can distribute your application across 600 servers, doesn’t mean you should. @holly_cummins

Slide 158

Slide 158

The cloud makes it so easy to provision hardware. @holly_cummins

Slide 159

Slide 159

That doesn’t mean the hardware is free. @holly_cummins

Slide 160

Slide 160

Or useful. @holly_cummins

Slide 161

Slide 161

Hey boss, I created a Kubernetes cluster. @holly_cummins

Slide 162

Slide 162

Hey boss, I created a Kubernetes cluster. I forgot it for 2 months. @holly_cummins

Slide 163

Slide 163

Hey boss, I created a Kubernetes cluster. I forgot it for 2 months. … and it’s €1000 a month. @holly_cummins

Slide 164

Slide 164

Slide 165

Slide 165

Slide 166

Slide 166

There is surely nothing quite so useless as doing with great efficiency what should not be done at all. — Peter Drucker @holly_cummins

Slide 167

Slide 167

@holly_cummins

Slide 168

Slide 168

cloud providers to manage your cloud providers @holly_cummins

Slide 169

Slide 169

We need a cloud to manage our cloud.

Slide 170

Slide 170

Obstacles Call to Action Reward

Slide 171

Slide 171

Value SaaS PaaS IaaS

Slide 172

Slide 172

Value SaaS PaaS IaaS

Slide 173

Slide 173

Value SaaS PaaS IaaS Lower costs

Slide 174

Slide 174

Value SaaS PaaS Innovation IaaS Lower costs

Slide 175

Slide 175

Value SaaS End-user value PaaS Innovation IaaS Lower costs

Slide 176

Slide 176

Value SaaS End-user value FaaS Lower costs PaaS Innovation IaaS Lower costs

Slide 177

Slide 177

Value SaaS End-user value FaaS Lower costs PaaS Innovation IaaS Lower costs

Slide 178

Slide 178

Value Internet of things SaaS End-user value FaaS Lower costs PaaS Innovation IaaS Lower costs

Slide 179

Slide 179

Value Blockchain Internet of things SaaS End-user value FaaS Lower costs PaaS Innovation IaaS Lower costs

Slide 180

Slide 180

Value Artificial Intelligence Blockchain Internet of things SaaS End-user value FaaS Lower costs PaaS Innovation IaaS Lower costs

Slide 181

Slide 181

Serverless is just someone else’s server. @holly_cummins

Slide 182

Slide 182

Obstacles Call to Action Reward Data scientist

Slide 183

Slide 183

What’s the biggest problem data scientists report? @holly_cummins

Slide 184

Slide 184

Access to data. @holly_cummins

Slide 185

Slide 185

What makes everything easier? @holly_cummins

Slide 186

Slide 186

What makes everything easier? @holly_cummins

Slide 187

Slide 187

The Cloud is for data, not just applications

Slide 188

Slide 188

DaaS Value SaaS PaaS IaaS

Slide 189

Slide 189

Boring IaaS The cloud is just someone else’s computer. @holly_cummins

Slide 190

Slide 190

The cloud is just someone else’s super-special GPU-loaded computer. @holly_cummins

Slide 191

Slide 191

“I can do what?” IaaS @holly_cummins

Slide 192

Slide 192

Slide 193

Slide 193

IBM’s 50-qubit quantum computer

Slide 194

Slide 194

The cloud is just someone else’s quantum computer. @holly_cummins

Slide 195

Slide 195

PaaS IaaS @holly_cummins

Slide 196

Slide 196

QaaS PaaS IaaS @holly_cummins

Slide 197

Slide 197

Users are getting more demanding.

Slide 198

Slide 198

@holly_cummins

Slide 199

Slide 199

millisecond response times @holly_cummins

Slide 200

Slide 200

100% uptime. @holly_cummins

Slide 201

Slide 201

immediate fixes @holly_cummins

Slide 202

Slide 202

constant innovation @holly_cummins

Slide 203

Slide 203

Obstacles Call to Action Awesome compute power Reward

Slide 204

Slide 204

@holly_cummins

Slide 205

Slide 205

“When I was last in Germany, cloud was a thing in the sky that made rain.” @holly_cummins

Slide 206

Slide 206

cloud native thinking @holly_cummins

Slide 207

Slide 207

digital native @holly_cummins

Slide 208

Slide 208

the hero of 2018 is the cloud native native @holly_cummins

Slide 209

Slide 209

Thank you. @holly_cummins IBM Cloud Garage @holly_cummins