Are We Really Cloud-Native? Bert Ertman
Cloud-Native Computing
What is Cloud-Native? answer: ‘Blah blah blah … Kubernetes!’
‘Kubernetes is the Greek god of spending money on cloud services’ - @QuinniPig
About me: • Java/Cloud Postmodernist • Java Champion, JavaOne Rockstar Speaker, and a Duke’s Choice Award Winner • Book author for O’Reilly, speaker at many conferences Bert Ertman @BertErtman Fellow, VP Technology /bertertman
About Cloud Computing
Cloud is on the Rise… “The market for cloud services is growing faster than virtually every other IT market today, with much of this growth coming at the expense of the traditional, non-cloud offerings” source: Gartner
TL;DR Java EE is dead, long live Cloud!
What is Cloud Computing?
‘It’s like computers on the internet, right?’
‘What is this Serverless witchcraft that you speak of?’
The Evolution of Compute Containers Serverless Cloud Compute Virtualization Physical
=
Serverless removes the ‘R’ from COMPUTER
‘Whoaa… Serverless is like cows on the Internet?!!’
Middleware as managed services? • Database • Messaging • API Gateway • Storage • Web Server • …
The Cloud Spectrum Cloud-Native Serverless PaaS IaaS SaaS
What is happening in the world?
‘Software is eating the world’ Marc Andreessen
We want to move fast, and yet not break things
Our answer so far… • Business agility = Microservices • Infrastructure = CI/CD + containers • Process = Agile + DevOps
…and this resulted in…
80-90% of IT budgets are spent on maintaining existing systems G o t c h a n g e f o r m y i n n o v a t i v e i d e a s ?
Is it really different? inverted App Server a.k.a. fat jar a.k.a. Spring Boot App Server App App virtual machine virtual machine
Is it different now? inverted App Server a.k.a. fat jar a.k.a. Spring Boot App container virtual machine
And now? container virtual machine container virtual machine container virtual machine container virtual machine container virtual machine
Modularization • Breaking up bigger things into smaller, more manageable, parts • Cohesion over coupling • Modularity is the ultimate agile tool!
Trade-offs of decomposition • How to test? • How to deal with configuration • How to deal with dependencies? • How to deal with versioning? • How to deal with latency and overhead • How to deal with monitoring? • How to deal with …
Now maybe? container container container container container container container container orchestration platform virtual machine virtual machine virtual machine virtual machine virtual machine
DevOps
DevOps In Name Only
Most traditional organizations… • Standardized technical infra components • Standardized hypervisor • Standardized operating system(s) • Standardized middleware • Standardized application development framework • Standardized programming language
Application Development Standardized Infrastructure
Application Infrastructure
What is an application?
2009 answer… “A bunch of code I have to build & test together into a monolithic blob, which I then toss over the wall to an ops team, who hopefully get it to run on a fleet of servers. Then, I hope some work comes its way so I don’t waste too much $...”
2019 answer… “Managed services in the public cloud, connected and customized with highly differentiated business logic, that run (and bill) only when actually needed.” La S
Cloud-Native is a DevOps journey! • Cloud-Native is the architecture for assembling cloud-based components in a way that is optimized for the cloud environment • It’s not about the servers, but the services • It’s about modernizing infrastructure and process, and transforming the organizational culture along the way
IaaS PaaS Serverless
This is more like it! Lambda S3
Technologies or frameworks are not cloud-native, it is the way you use them
Getting the best from the Cloud • Potential for economic disruption • Ability to easily experiment with new technology or new business ideas • Focus on strategic value vs managing infrastructure and middleware
Friends don’t let friends build their own Kubernetes platform
Getting the best from the Cloud? vs. Kubernetes Managed Service
Is Java a natural fit?
Are Java programmers a natural fit?
So you can do Java* programming? But what does it take to become a Cloud Engineer?
AWS Release Pace • 2013: 280 new features • 2014: 516 new features • 2015: 722 new features • 2016: ~1000 new features • 2017: 1430 new features • 2018: ~2000 new features
Now let’s talk about culture…
Cloud-Native Culture Killers • Business does not trust IT, so no true BizDevSecOps • IT is a cost center • We only do cloud because it saves us money (we think)
https://christielindor.blogspot.com/2017/10/people-do-not-quit-companies-managers.html
Cloud-Native Culture FTW! • We have an IT-first strategy • We see Cloud as a potential for economic disruption • Cloud enables us to start experiments (forward thinking) and is our ability to innovate • Cloud enables a faster time-to-market • All our engineers are broadly skilled, and teams are fully mandated
Thank you! Any questions? @BertErtman /bertertman
Recommend
More recommend