This week's book giveaways are in the Angular and TypeScript and Web Services forums.
We're giving away four copies each of Programming with Types and The Design of Web APIs and have the authors on-line!
See this thread and this one for details.
Win a copy of Programming with Types this week in the Angular and TypeScript forum
or The Design of Web APIs in the Web Services forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Paul Clapham
  • Jeanne Boyarsky
Sheriffs:
  • Junilu Lacar
  • Knute Snortum
  • Henry Wong
Saloon Keepers:
  • Ron McLeod
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Frits Walraven
  • Joe Ess
  • salvin francis

Cloud Native DevOps with Kubernetes: What is the future of containers in the Enterprise?

 
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Okay, I'm going to ask you to pull our your crystal balls.  :-)

If you look into the future, do you see containers ruling the enterprise? Will there still a place for bare-metal in most enterprises?

Also, where do you see FaaS fitting into this future?

Cheers,
Greg

 
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm not great a predictions (I thought the Broncos would beat the Seahawks in the NFL Super Bowl in 2014. I was wrong. By a lot. )

But I think bare metal in some enterprises will still have a place. I think it's likely that the bare metal will be used to run containers. Not every organization is going to move everything to a cloud provider. I think there will be a lot more "hybrid" environments where some enterprises choose to run some of their workloads on their own servers, and some workloads will run in a cloud provider. Kubernetes actually helps makes this dream possible because you can use the same platform and tooling for on-prem that you would find in any cloud provider and it will look and feel more or less the same.

In the same way that containers for an application sort of abstract away the server that they run on, Kubernetes sort of abstracts away the underlying datacenter it runs on so it makes it easier to run the same workloads on different types of compute infrastructure.

I think projects like knative will continue to grow and become more and more a part of Kubernetes ecosystems. Functions will become more popular for certain types of workloads. I don't think everything will run in a serverless/Function way, but a lot probably will because that way of running software can be more efficient and can quickly and easily horizontally scale for batch workloads.

My hope is that it will be easier for people writing software to spend less time worrying about how they need to build/deploy/run their software. And at the same time easier for people who enjoy keeping systems running to focus on improving the infrastructure without having to worry too much about the nitty-gritty details of what software developers are doing. Ironically in some ways this doesn't sound like "DevOps" but I think it's possible (and healthy) for there to be clean, well-defined, standard APIs and hand-offs between teams because it makes it easier for them to collaborate, rather than just each team only focused on solving the problems that they have and not being concerned with what problems other teams are having.
 
Greg Horie
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for the response Justin.

Yeah, I hope writing software becomes easier as well. As someone who straddles building/maintaining infrastructure as well as writing the occasional code, I can't say its any easier at this point in time.  :-)

Kubernetes and containers do offer a compelling set of abstractions that (hopefully) will make life easier in the long run.

Cheers,
Greg
 
Saloon Keeper
Posts: 21458
143
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
At this point in time, I run bare-metal, containers and VMs with a side order of cloud as needed. My farm is for client support and R&D so your mileage may vary. Although I do also keep my own business infrastructure on it.

When I first set up my datacenter, it was all bare metal and it was messy, even though I had package managers keeping track of most of the details. Early VM technology wasn't an option, although when Xen became standard on the Red Hat/CentOS platform I started migrating key services to their own private VMs. Which helped a little, since everything was no longer jumbled up with everything else. Xen was invaluable to me back when VM-assist CPUs were still rare, but eventually they got common, I upgraded my hardware and Xen was supplanted by KVM. Not much change there. I was looking for a good (simple) copy-on-write scheme because I begrudged all those VM images where 90% of the image was just duplication of the same core files all the other VMs had.

Docker was the next game changer. Docker containers are even lighter than COW-based VMs, So I've been migrating almost everything to containers.

At the moment, I have only a few things running bare: a set of Nginx reverse proxy servers mostly fronting the containers, an LDAP server that's going to containerize eventually (its peers already have), some odds and ends and core services like glusterfs on the storage nodes. And a few things have their own dedicated VMs, such as databases and the email services - which are slated for containerization, but considering what a mess things can be if email goes down, there's no rush there.

And then there are the VMs that host containers. I dont run Docker on the bare metal. I may be giving myself false comfort, but I figure if anyone bursts out of a container, it's one more layer they have to hack before they pwn the entire box. Besides, I can toss VM images from box to box if I need to. For example, if I lose disk capacity temporarily. Granted, Kubernetes can do almost the same thing (and more), but I'm still waiting for the "plug and play" Kubernetes installation process.

I've toyed with moving all the machines to a local cloud, but my impression is that OpenStack lost a lot of its luster when containers usurped many of the advantages of cloud-based VM management. What I have is good enough for the moment. Especially since I now have industrial-grade provisioning systems (Puppet and Ansible) and a more centralized inventory. Trying to manage stuff with pencil, paper and the odd database was a lost cause.

Whither next? Possible move everything to a set of Raspberry Pi cores and put the whole shooting match in a drawer. At the rate things are going...

Incidentally, Docker runs on the Pi.
 
Greg Horie
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey Tim

Oh you're right about OpenStack losing its luster. We're currently using it for some of our services. It adds a lot overhead and I don't see the value. For our use cases I'd rather go with public cloud options or Kubernetes.

I'm also curious about moving things onto a set of RPis! Its on my list, but you know ... time.  :-)

Cheers,
Greg

 
Tim Holloway
Saloon Keeper
Posts: 21458
143
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The problem with public clouds is that you're at the mercy of the cloud owner. If there's a leaky machine and hackers get into your systems while plundering Equifax, too bad. If there's an outage in Virginia but you're in Texas, too bad. And you're just one of many customers, and probably not the largest, so you're not going to get first priority on service.

If you own your own cloud you do, after all, have to bear the full expense of a data center and support staff, but you have more overall control. OpenStack is complex, but that's because it's integrating many powerful services. Some of them, of course, are of more interest to commercial hosting services which have to keep their clients isolated from each other. Although if you're running a secure, compartmentalized organization - or one where different departments really hate each other, even those features can be useful.

For the less ambitious of us, however, you're spot on.
 
Greg Horie
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Those are good points. Public cloud does have its risks. Some can be mitigated through design choices, but no one can catch them all.

I'm hoping that Kubernetes / containers will become our main infrastructure choice for solutions that we don't want to host in a public cloud. Containers aren't going to solve all use cases, but I think they can go a long way and I'm hoping over time they will simplify our infrastructure. From a hobbyist perspective, its fun to learn about all the things. From an enterprise service perspective, simpler would be nice for faster time-to-market and ease of management.

 
Tim Holloway
Saloon Keeper
Posts: 21458
143
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The annoying thing about Kubernetes is that while it doesn't actually require a cloud - public or private - most of the easy ways to get Kubernetes is in a cloud. There could come a day when a Kubernetes alternative that's more friendly for general systems installation might exploit that and take over.
 
Hug your destiny! And hug this tiny ad:
Sauce Labs - World's Largest Continuous Testing Cloud for Websites and Mobile Apps
https://coderanch.com/t/722574/Sauce-Labs-World-Largest-Continuous
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!