This past week at the CNCF’s KubeCon event in Barcelona, the attendance was 7700+ attendees, the most in the event’s history. Based on the open source Kubernetes project, which celebrated it’s 5th anniversary, many thought leaders have begun to identify it as the operating system of the cloud.
Back up just a few years (2016), and the OpenStack Summit in Austin, TX saw over 7000+ attendees, the most in its history. Built on the open source OpenStack projects, it was also celebrating it’s 5th anniversary, and for several years, pundits were asking if OpenStack was the Linux of the cloud?
At a high level, given those basic similarities, it wasn’t unexpected for many people observing KubeCon to ask, “Is Kubernetes the new OpenStack?”.
Before giving a response to that question, let’s establish some basics about both projects.
- Timing is everything in technology. Trying to compare two different pieces of technology or open source projects, without considering the context of timing (and all the elements around it at the time), is a great way to create false equivalencies or just just poor analysis.
- Decisions can only be made with the available information at hand, or using some historical learnings. 20/20 hindsight is not part of the decision-making process.
- Open governance is difficult. Not all governance is created and operated “equally”.
- Vision and direction is difficult. Getting a broad community to generally agree on direction, given many (many, many) alternative motivations is very difficult.
Let’s also establish one more basic – both of these projects have achieved a level of success, and both continue to grow. This isn’t the typical (useless) technology discussion where all comparisons are binary – if A lives then B dies. Neither project is dependent on the other, and both will find their path to success or failure independently.
Setting some context – Original creation
OpenStack was created (2010) to establish an open source alternative to existing proprietary IaaS platforms (namely: AWS and VMware vSphere). At the time, its focus was a VM-centric context. Linux containers and Docker weren’t part of the conversation. AWS was not yet a $1B business, Azure has just launched and Google Cloud didn’t exist (except for AppEngine). Enterprise customers still weren’t sure that public cloud would be wildly successful, and cloud portability wasn’t part of the discussion yet. And it’s initial community was a bunch of vendors that didn’t necessarily have much background in open source communities and governance.
Kubernetes was created (2014) to establish an open source orchestrator for Linux containers, which could become the basis of a platform that run cloud-native applications. It’s competition at the time was Apache Mesos/Marathon, Docker’s Swarm, and a bunch of homegrown orchestrators from various vendors (Cloud Foundry, dotCloud, OpenShift, etc.). It benefited at the time from the massive interest growing around docker containers. AWS, Azure, GCP and others had established themselves as viable public clouds, and Enterprise customers were beginning to focus on cloud portability, multi-cloud deployments, and how to build teams that could more rapidly build new applications.
Apologies for the history lesson, but I always find it helpful to set some historical context when comparing things, or trying to understand how we’ve gotten to where we are today.
This might be controversial, but I’m of the opinion that Kubernetes might not have achieved the success it did without the learnings that came from decisions that OpenStack made. Let’s look at some of those decisions.
- Governance: It took a while before OpenStack had an open governance model, and even after it was established, it was well known that certain entities had no yet given up control to the governance body.
- Focus: Internally, OpenStack initially struggled between the replace-AWS factions and the replace-VMware factions. Given the massive difference between those two problem spaces, it pulled the projects in very different directions, ultimately preventing OpenStack from displacing either one.
- The Big Tent Theory: As more companies (mostly vendors) got onboard with OpenStack, the more the scope expanded into new projects. It got into PaaS and Big Data. All of these projects created many dependencies, which made it difficult to deploy and update OpenStack.
Over time, OpenStack solved all of these challenges, by moving to more transparent governance, by shifting the majority of the focus towards Telco/NFV use-cases, and by moving away from the big tent architecture. This is where OpenStack has gained the greater amount of traction in the market.
In contrast, the Kubernetes community learned from those early OpenStack choices. The CNCF was announced and funded at the time when Kubernetes was launched as an open source project. Google actively recruited companies like Red Hat and CoreOS to help grow the community and bring in ideas from outside the Google purview.
The focus of Kubernetes is around Cloud-native application development. This was not a replace-xyz focus, but rather an additive focus towards new applications and new use-cases.
Finally, Kubernetes avoided the big tent model, instead focusing on a smaller, more stable Kubernetes core, and then allowing other projects to independently grow around Kubernetes. This includes projects like Prometheus, CNI, CSI, CRI, Knative, Istio, KubeVirt and many others.
All of these things don’t necessarily mean that the Kubernetes community won’t have challenges or make mistakes in the future. Lots can happen in a highly competitive market. The good news for Kubernetes is that it has attracted a large number of companies using Kubernetes in production, so the amount of real-world feedback into the community is very high, which hopefully keeps the community focused on solving real problems, not just creating science-project projects.
I wrote earlier about a number of events in the Enterprise IT space over the last month. These events draw people from around the world, with different backgrounds, interests, personalities and affiliations (vendors, customers, press/media, analysts, investors, etc.). One of the challenges of these events is that you rarely known much about the vast majority of people, especially as they approach each other at various events (technical sessions, vendor booths, event parties, etc). This is in-contrast to the vast amount of professional information that we know or can gather about people through platforms like LinkedIn, Twitter, Hacker News, etc. In fact it’s not unusual to be talking to someone at a conference and finally connect the dots between their online persona, and maybe someone you frequently follow or interact with, and their real-life persona.
There is only so much information that can be conveyed with the typical event badge. Usually it’s just the participants name (first and last), their company name, and occasionally their Twitter handle (or GitHub handle). And far too often, the fonts on the badge are small, so recognizing a name is sometimes overly complicated.
In contrast, look at the “badges” that go along with the types of video games that are often played by attendees of tech events. They convey tons of information about characters – strengths, assets, history, etc.
This past week at KubeCon / Cloud Native Con in Barcelona, I noticed some new things that were happening with badges to try and bring some additional information to the people-to-badge interaction model. The CNCF appeared to be trying to bring more information about attendees to their badge.
Interests and Expertise: They allowed attendees to add areas of interest or expertise to their badge, through color-coded ribbons. This made it easy to start a topic of conversation with another attendee.
Pronouns: As events such as the CNCF attempt to grow the diversity of the attendee population, and create a more inclusive climate for all attendees, it can be important to avoid gender confusion or bias. At KubeCon, they included stickers for multiple pronouns.
Personality: (sorry, didn’t take a picture) It’s relatively fair to say that personalities at tech events tend to skew a little more introverted than extroverted. This can make interactions in group event somewhat awkward or ineffective, and in some cases intimidating. So CNCF laid out a number of Green, Yellow and Red stickers to indicate: Green: Open to Discussions, Yellow: Seeking Limited Discussions, and Red: Not Open To Discussions. It’s not a perfect system, but it was self-selecting and may have helped a few people avoid awkward interactions.
Hiring (or Job Seeking): As more events get live-streamed and recorded for YouTube, physical attendance at events can become less important. But the face-to-face networking aspects of events never seems to decrease. And as more people around the tech industry job hop every few years, there might be things that can help the networking process. The CNCF had stickers available for “WE”RE HIRING!”. And why not, make it simple to let lots of really smart people know that you have interesting jobs available. Be a human billboard to help grow your company.
Be no means are any of these augmentations a perfect solution for helping attendees better interact with each other, but it was interesting to me to watch some small aspects of gaming culture begin to move into the previously simple conference badge. I’d be curious if any of the readers had see other things around badging that help make it easier for communities to interact in real life.
May is a busy month in the Enterprise IT tech industry, with multiple tech conferences happening throughout the month. For those that follow open source and cloud infrastructure and containers, this was an especially busy month – Open Infrastructure Summit, DockerCon, Red Hat Summit, Microsoft Build, KubeCon, GitHub Satellite and what seems like weekly AWS Summit regional shows.
This mix of conferences highlight the importance of open source software in the mainstream of Enterprise IT technical decisions and architectures, as well as a cornerstone of Enterprise tech innovation. They also highlight the ebbs and flows of technology trends, and the evolution of business models in today’s cloud-centric world.
Keeping up with all of the announcements coming from these events can be very challenging. Media outlets like theCUBE and The New Stack do an excellent job of tracking the important stories and going in-depth with the industry leaders, the decision-makers and customers in attendance.
Here are some notes and observations (both 1st-hand and 2nd-hand) from the various shows in May:
Open Infrastructure Summit
The event formerly known as “OpenStack Summit” (renamed in 2018) has shrunk in size from its peak (around 7500 people) in Austin, TX in 2016. As technologies like containers and Kubernetes have become more popular in the Enterprise, the show had to rethink it’s focus to be more inclusive and expansive This year’s event had about 1500 to 2000 attendees, as OpenStack technologies have limited traction in the Enterprise, but have gained solid traction in Telco environments (especially Edge/NFV use-cases). While Kubernetes is discussed at Open Infrastructure Summit, it’s not likely to attract the bulk of the Kubernetes community, which centered around CNCF events and activities.
Once the center of the container community universe, DockerCon has evolved into an event that is primarily centered on Docker’s commercial Enterprise products, and is less about Solomon Hykes early community vision of changing how every software developer works. The show has taken a turn from it’s peak in 2017, as Docker announced the Moby project and reclaimed all intellectual property around the name “Docker” (and “docker”). This fragmented the community, at a time when Kubernetes was continuing to gain momentum. Docker fired their CEO (Ben Golub) after the 2017, and again fired their current CEO (Steve Singh) after the 2019 show. Docker did announce the launch of Docker Enterprise 3.0, and included several updates to their desktop development model.
Red Hat Summit
With over 9000 people in attendance, Red Hat hosted their last independent Red Hat Summit, before the anticipated acquisition by IBM “in the latter half of 2019“. The focus of the show was on the dual launches of RHEL 8 (Linux) and OpenShift 4 (Kubernetes), as well as the breadth of stories enabling their digital transformation journey using open source software. The show was highlighted by the dual appearances of IBM CEO Ginni Rometty (visual for Red Hat in the future) and Microsoft’s CEO Satya Nadella (launch of Azure Red Hat OpenShift service).
Build has always been a wide-ranging show, targeting “software engineers and web developers using Windows, Windows Phone, Microsoft Azure and other Microsoft technologies.” And this year the announcements ranged from new Terminal in Windows to embedded Linux to Serverless innovation to AI and ML advancements and simplifications. Of particular interest were a couple items:
- As Red Hat put a GUI interface on RHEL 8 to help guide Windows Admins to use Linux, Microsoft embedded Linux into Windows 10. Are these the break-throughs that highlight another big shift from Windows to Linux, and even Linux on the Desktop?
- Microsoft made AI/ML easier for business users with Azure ML and “zero-code, visual interface”
- Azure decoupled their Serverless framework (KEDA) and allowed it to begin running on non-Azure Kubernetes environments.
KubeCon / CloudNativeCon
Hosted in Barcelona, the event had over 7700 people in attendance, the largest of any of the CNCF events to-date. I covered some of the highlights on this week’s episode of the PodCTL podcast. Amongst the highlights:
- Kubernetes 5 year anniversary – 7700 people in Barcelona
- ALL the CNCF announcements during KubeCon
- Fluentd graduated
- Helm v3 – no more Tiller
- OpenTracing + OpenCensus = OpenTelemetry
- SMI – Service Mesh Interface
- Rook 1.0 and Rook Operator
- OpenEBS into CNCF
- Velero 1.0
Even as part of Microsoft, since the Microsoft acquisition in mid-2018, GitHub continues to ramp up their innovation, especially with community focused projects. But as GitHub continues to innovate, they also continue to expand into areas which might make their independence more complicated to understand – the normal evolution of every platform into their competitive and coopetitive space with partners.
So now as May winds down, hopefully we’ll all have time to digest all of the announcements from all of these events, and figure out which ones make the most sense for your companies and your future skills.
As the Kubernetes project and community have evolved over the past five years, the breadth of applications that can be deployed continues to expand. In the earliest days (2015-2016), the focus was on stateless, cloud-native applications. As Kubernetes matured (2016-2017), stateful applications were able to be deployed, albeit with quite a bit of manual steps in the lifecycle of the applications. And as Kubernetes deployments have become better understood, and technologies like Customer Resource Definitions (CRDs) have matured, the ability to add even more complex applications is now possible.
The technology that makes this possible is the Operator Framework. The idea behind the framework is that the human expertise that usually surrounds a complex application can be codified and automated.
The Operator Framework contains three elements:
- Operator SDK
- Operator Lifecycle Manager
- Operator Metering
The output is an Operator. A complex application are built around the Operator model, they can be distributed via the OperatorHub,, which is a public/community site to curate high-quality Operators. These Operators can be used on any Kubernetes environment.
To put Operators in a different perspective, they enable applications to run “as-a-Service”, so companies could deliver Database-as-a-Service or MessageQueue-as-a-Service. This diagram shows the difference between a basic application deployed in a container, a DB-as-a-Service from the public cloud, and the capabilities that can be embedded in an Operator.
For the PodCTL podcast, I sat down with Rob Szumski (@robszumski), who was part of the original CoreOS team that created the Operator Framework, and now he works with various ISV companies to bring their applications to Operators.
If you’re looking to deploy Kubernetes within your data center, or you’re planning to leverage a Kubernetes managed service, it would be useful to explore how Operators could potentially simplify the complexity of complex applications. This training resource can be a valuable starting point for anyone wanting to learn more about Operators.
A colleague that teaches a course at his local university gives a lesson towards the end of the semester that is a general open forum where he lets students ask (pretty much) anything they are wondering about the post-college world, but wouldn’t want to ask in an actual job/internship. He threw this question out to a bunch of us at work. Here was my answer/thoughts/advice back to him.
For me, there are two things that are really interesting for anyone entering the job market at this time. I think these are probably hard things to answer for anyone (like ourselves) that have been in industries for more than 10+ years.
- What jobs exist today that won’t (likely) exist in 5-10-15 years?
- How do you build a career when you’re likely to change jobs (or companies) every couple years?
- Learn how to learn, and be eager to learn. This might sound silly to students in school, but I don’t meaning “learn how to learn school stuff”. I mean “be aggressive in your curiosity to learn more things about whatever field you choose.” And expect yourself to find ways to learn without others telling you it’s required. Things are going to constantly be changing around you, so knowing how to adapt is more important than ever.
- Know that the tag “millennials” has a stigma (lazy, too demanding, too coddled). Be the opposite of this. It’s OK to ask for challenging work. And it’s possible to make an impact without always demanding a raise or promotion. Build a portfolio of great efforts (projects) and recognition will come naturally.
- There is no right answer to changing jobs/companies, but you only have one reputation. When you’re young, it’s better to change for new/bigger/better opportunities and experiences than chasing money/titles. Companies pay for experience and outcomes. Money and titles will follow those things. If possible, avoid being a low/mid-level manager at an early age without several significant accomplishments.
- Seek out a mentor. Don’t be afraid to ask someone you look up to for advice. Even if that person is only known to you through some electronic community. Successful people are often very willing to help people that show ambition.
- Always have a “side hustle” that you’re exploring or working on. No modern employer is going to train you on the job anymore, so learn how to learn outside the job. This means extra hours, but it’s a long-term investment in yourself.
So that’s my advice. Maybe a part of it will be helpful to someone.
At some point in your career, there is a very good chance that you’ll be asked to present an idea or concept or argument or business plan to a group of people. This might be a small group, such as your team, or it could eventually be a keynote to a large room full of 1000s of people. While the difference between a small group and a keynote can be large in some aspects, there are certain basics that every speaker should consider. Having done this for over 20 years, I thought it might be valuable to pass along some tips and tricks to make your technical talk successful.
Tell a Story – Whether you’re trying to educate somebody or you’re trying to communicate a new idea, it can often be valuable to frame it in the concept of a story. It doesn’t have to be an epic tale, but having a beginning (problem), middle (data &/or introduction of new ideas) and an end (conclusions or next steps or recommendations) can be a good framework to keep the talk bounded.
Make it Visual and Shareable – There’s a reason the old saying “a picture is worth a thousand words” has continued to be used for so long. Many people learn and remember visually. It can be a picture you create (diagram, etc.) or an image from the Internet (just be sure to give proper attribution). A picture engages their brain unless a bunch of text on the screen. A picture can be abstract and encourage brainstorming and ideas. And while many technical people dread the idea of using a Slide-tool like Powerpoint or Google Slides (“that’s for those marketing people’), slides are a great way to have your idea easy shared and copied (allowing it to spread virally) by other people.
Practice Ahead of Time – If you’re going to ask people to give you some of their time to listen to your ideas, you owe them the respect to be prepared. This not only means that you’ve reviewed the content for accuracy, but you’re practiced the talk a few times. In addition to practicing the talk, it can be very valuable to think about some of the discussions that could come from your talk – objections to your ideas, demands for supporting data, plans for next-steps, etc.
NOTE: It’s never a bad idea to record yourself giving a talk, both in audio and video. You’ll be surprised at how many speech “ticks” you have (all the “umms” and “uhhs” and “you know” and other strange phrases you throw into your talks.). If you think you’ll be speaking frequently, I’d highly suggest that you look into some practice techniques (such as TED Tips or online sessions or Toastmasters) to reduce those issues.
Tips for Specific Types of Talks
Now that you have the basics, let’s talk about some strategies for various types of talks you might give.
The Small Room Talk (Team Meeting):
These usually fall into two categories:
- Introduction of New Ideas
- Status Updates
For introducing new ideas, there are a few tips and tricks:
- Be sure to have socialized the idea prior to the presentation. You should generally know the reaction from the team (and decision-makers) prior to making the presentation. In fact, you want to have recruited the influencers and decision-makers to be on your side, so they can help mitigate the pushback that you’ll get from some people in the room.
- Have some pictures or slides ready to present, so the idea can be visualized and discussed, as well as being easily shared after the meeting.
- While you should be prepared with a decent amount information (whatever is possible), be aware that there types of meeting often stall within the first 3 slides – so put the important information up front! Don’t get sidetracked before you get to the new ideas.
The Internal (Multi-Group) Talk:
Similar to the Team Meeting, you want to have socialized your ideas across the groups prior to the meeting, especially with team leadership. When you start including more groups, you want to be more prepared for the unexpected – territorial behavior, concerns about personal projects vs. bigger company goals, etc.
- Keep in mind that most teams have their own way of viewing things, include specific language (acronyms, important metrics, etc.). Be familiar with these and try to avoid being ambiguous on important items that could be confusing.
- Highlight how much pre-collaboration has already occurred. People like to know that these aren’t one-sided.
- State the problems and opportunities in the context of all groups in the room. People like to know they will be able to impact the problems vs. being excluded.
- Realize that some things will be newer to some groups than others. Be prepared to go slow at first, to get them up to speed on things that are well known to another group. Also, be prepared to correct or educate them on any misconceptions they may have (e.g. learned from news outlets) about the new opportunities.
The Meetup Talk:
For the most part, meetups are self-organizing groups that have an interest in a specific topic area. But depending on how frequently the group meets, the organizers may allow quite a bit of flexibility of topics. Meetups are a great place to get some practice giving talks to public groups, since people are often there to network as much as they are to learn, so they are more accepting of different levels of talks. These types of talks usually tend to fall into a few different buckets:
- Talks about a specific technology – sometimes generic, sometimes about a vendor offering.
- Talks about specific experiences – things you’ve learned from a task at work or on a side project
- Talks about something new – these are often trying to create interest in getting others to participate
For these types of talks, it’s good to have some visuals (maybe less than 10 slides) and maybe a way to show some live technology (a demo if possible). Meetup groups are really flexible about presentation formats, so just use something that you’re comfortable speaking to.
TIP: If a demo is a major part of your talk, consider making a screen-capture recording of the demo, as event WiFi can be sketchy. Nothing worse than getting people excited about your demo and having it not work because of bad WiFi. At least with a backup video, you can talk to it (and pause) while it plays.
The Conference Talk:
There are really two parts to a conference talk:
- Getting your talk accepted at the conference.
- Giving the conference talk.
Until you’re well known in the industry, or have a really unique presentation topic, getting a talk accepted can be difficult. Too many conferences accept talks from people they know (no matter how much “blind draws” they claim to have), so you really have to have a unique/creative angle to your talk – some good tips here and here.
Once your talk is accepted, it’s time to make it awesome. Every conference has a slightly different (or significantly different) audience, so it’s good to do some research ahead of time. Many conferences have their previous year’s agenda online, so see if you can find any of the talks (slides or videos) online. Try and get a feel for what works at that conference. Usually you can reach out to the conference organizers to get a feel for the audience, or ask them to share their experience on what’s worked well or failed badly in the past.
The simplest (and maybe best) advice is to create a talk that you’d enjoy listening to, and then make it your own. Find your style of presenting, and then work to improve that with each new talk.
The Keynote Talk:
This is the most difficult talk, because the expectations are much higher from the audience. Keynotes are usually intended to inspire people, or make them think (broadly) about new ideas or trends. They are usually less technical, which means that you need to find a way to capture the attention of both business-level people and technical-level people.
Keynotes tend to have:
- Much more story-telling.
- Much more visual slides. The visuals convey part of the story-telling.
- Less immediate action (e.g. “go out and try this now!”) and more focus on getting people to think longer-term.
- Some concepts that will rally people around an idea, and hopefully help spread your idea(s).
- Data to help backup any claims you’re making (financial analysis, market data, etc.), or identifying where a trend is going.
- A little big of ego and a large amount of confidence, because you’re trying to convince a large room of people to stay focused on your and ideas.
TIP: If you ever get the opportunity to give a keynote, PLEASE make sure you have SEVERAL people proof-read all the slides MULTIPLE TIMES. Lots of people will take pictures, and the last thing you want to happen is a TYPO or GRAMMAR ERROR that could have been easily caught.
Hopefully some of these tips are useful. There are lots of different ways to give talks.
- Know your audience
- Practice ahead of time
- Prepare for the worst (something fails – slides, WiFi, demo) and have a backup plan
- Project confidence
- Use something visual and shareable. Don’t be the anchor of an idea, allow it to be shared and retold.
Good luck on your next talk!
No matter how much the tech industry ebbs and flows between encouraging working in the office or allowing work from home policies, the one constant in the industry is that people ultimately make buying and usage decisions, and the majority of those people still like to interact with other people in person. That could be for a business meeting, a casual meetup for coffee or a meal, or conference-style event. This means that for many people in the tech industry, travel is a part of life. And while modern-day travel is much better than a decade ago or a century ago, it can still be an unpleasant experience to be crammed into a metal tube for hours at a time with hundreds of other strangers, or randomly jumping in the back of a car with someone doing part-time work and being 100% dependent on Waze or Google Maps.
But if travel is part of your technology industry experience, here are some tips and tricks to make it more manageable and more rewarding.
[NOTE: I travelled on over 100 flights the past few years, so I’d be classified as a frequent traveler. But I’ll also try and pass along tips for more infrequent travelers.
A couple good starting points are suggestions from my friends:
- Datanauts Podcast – The Hitchhiker’s Guide to IT Travel
- The Geek Whisperers – Engineering Your Time at Conferences
The Points Guy is another great website for getting tips on the best way to maximize how you can earn points and rewards through airlines, hotels and rental cars.
Many of the things that frequent (work) travelers tell you are all dependent on who they work for and the allowed travel policies of that company. Some are much more flexible than others.
- Airlines – Choosing the best airline is very dependent on your home city, as not all airlines will fly out of all airports. If your company allows flexibility on picking an airline, then investigate which one at your airport will go to the places you need to visit the most frequently.
- Credit Cards – Many companies will provide you a credit card for work expenses (e.g. Corporate AMEX card). See if you’re able to associate the card with any airline or hotel reward programs, as it’s a great way to rack up points/miles. If you’re allowed to use a personal card, consider getting one from your preferred airline, as they often provide extra miles for booking with the card, or allow you to defer costs (e.g. baggage fees) if you have the card.
- Hotels – Most companies align to either the Hilton or Marriott chains (at various price points). Both are fairly equal in terms of earning points. Just like with airline cards, most hotel chains have their own cards as well. These are also valuable, as they often give bonus miles if you pay for hotel stays with that card.
- Cars – Rental cars don’t have nearly as good a reward programs as hotels and airlines, but that’s OK, as more people are using ride sharing services like Lyft/Uber. Both Lyft and Uber now have rewards programs, but not necessarily for the same types of purchases (e.g. rides vs. meal delivery, etc.)
- Frequent Traveler Points – Most companies allow you to keep all your frequent traveler points, but make sure to ask. Don’t spend all that time away from your family and not get some of the rewards to use on your own personal travel and vacations.
For me, the most important thing about travel is trying to achieve consistency and predictability, because I need to try and replicate my job in each city that I travel. For these reasons, I do a number of things every time I travel.
- I have 2 sets of toiletry kits, so that I don’t have to worry about forgetting things between the house and the road. It’s very inexpensive to have an extra set of toothbrushes, deodorant, contact lens solution, etc.
- When I get to the airport, I always park in the same parking structure and on the same floor. There is nothing worse than getting back from a week long trip and not remembering where you parked.
- I spend the $85 to get TSA-Pre approved. It’s not a very simple process, and while it’s not perfect, it gives me a much better sense of how it will take to get to the gate at any airport. I also have access to the CLEAR, which costs about $100/yr, but it’s incredibly valuable in the busiest airports. The fee pays for itself by not missing a flight that you’re cutting it too close.
- I always carry 2 bags – 1 backpack and 1 roller suitcase. People have all sort of opinions on bags, but here’s my rationale. While shoulder bags can look more stylish, they will eventually wear on your back (uneven distribution of weight) and they can be awkward if you end up running through an airport when you’re late. This is why I use a nicer backpack. It looks good enough to take into business meetings, have enough space to store stuff (computer, cables, snacks, etc.), and it is much easier on your back and legs. And I use a soft-sided Eddie Bauer rolling suitcase, which is great for a number of reasons.  It isn’t too expensive,  It’s fairly lightweight,  It’s flexible on the top and durable on the bottom, so it survives all sorts of scenarios. It fits into all sorts of planes.
- Pack some extra computer cables in the bag. You’ll inevitably lose a USB stick, iPhone headphones, or a USB charging cable. Buy an extra of each one, as it’s much cheaper than not being able to charge something important during a business meeting. Also, consider buying an extra laptop battery, so you can leave one at home and keep one in the bag.
- I never check a bag. Not only does this force me to pack efficiently, and save costs on baggage fees (see how to avoid these above based on the airline or credit card), but it guarantees that I won’t be stuck without clothes when I arrive.
- Drink more water than you than is necessary. Flight travel will dehydrate you, so spend the $2-4 on a large bottle of water before you get on the plane.
- Pack workout clothes. People have all sort of different approaches to maintaining their health on the road, and each person has to figure out what works best for them. For me, I assume that I won’t know what sort of equipment will be in any hotel, so I plan for the least possible. I bring workout shoes, shorts and a shirt. My routine involves either running or riding a stationary bike, depending on the hotel. If those aren’t available, I just do pushups and sit-ups in the room. If you’re able to do more, that’s great! But be careful having an elaborate routing at home and then being disappointed when you’re on the road.
- Figure out a way to keep track of your expenses, and get your expense reports done as quickly as possible. Get a receipt for everything you do. Each night (if possible), write something on the back so you remember what it was for. And as soon as you get home, carve out an hour to submit your expenses. I’ve seen too many people get into credit-card debt by turning them in too late, or having the claims rejected by their company by turning them in after the quarter has ended.
- Connect with your family at least once a day, even if it’s only for a few minutes or a text or a picture. It helps everybody know you’re OK.
The fastest way to have a better travel experience is to collect points and reward levels. This is why, if at all possible within your work guidelines, try and fly on the same airline and stay within the same hotel chain. And here’s a few extra tips:
- Once you achieve higher level status on Delta, they will automatically move you to Comfort+ seats (more legroom). So you can just buy the “Main” tickets (lower costs) and then automatically get the better seats. Buy your tickets with the Delta credit card, as it adds multipliers to your points.
- When staying at Hilton hotels, they offer an option for extra-points or breakfast. Select the extra points, as lots of business meetings will have food.
- When staying at Hilton hotels, they have a 2x the Point option. This usually costs $10-20/night more, but it will help you collect points very rapidly. You can offset this cost by staying at a Hampton Inn instead of the Hilton, and they are usually close to each other, and the rooms are basically the same. Buy your rooms with the Hilton credit card, as it adds multipliers to your points.
- Like your Lyft account to your Delta account.
This is by no means a perfect set of tips, as nothing can prevent travel delays or bad weather or someone sitting next to you that talks too much or snores. But I will say that after 20+ years of traveling for work, they have helped create a model that is reasonable repeatable and manageable.
It’s been a few months since I posted anything on this blog, and especially anything having to do with Kubernetes. Part of that had to do with work projects and other technology projects, but it also had to do with moving (and updating) all of the content for the weekly Kubernetes-centric podcast that I host – PodCTL.
[Note: If you’re new to Kubernetes and wonder why I’d choose such an odd name, it’s a play on the CLI tool that’s used by Kubernetes, called “kubectl“. btw – there is an interesting debate around how to pronounce this tool (here, here) and then of course the CNCF had to weigh in on an “official” pronunciation so the entire community wouldn’t diverge into chaos or Game of Thrones. I mention this because we go out of our way on PodCTL to cater to all potential pronunciations of the show’s title.
If you’re interested in Kubernetes, I’d suggest subscribing to the show. It’s available via RSS Feeds, iTunes, Google Play, Stitcher, TuneIn and all your favorite podcast players. The show focuses on Containers, Kubernetes, technologies around the CNCF communities, Cloud-native application development and a number of associated technologies.
With the move to the dedicated website, we’ve made it easier to:
- Search for shows or topics
- Have a more flexible player via the web (change speeds, skip forward/back)
- View all the past shows (all the way back to 2017)
If you’re interested in Kubernetes, the show is a mix of technology basics and more advanced design considerations. It includes technology discussions from across a broad spectrum, with guests that are actively involved in writing the actual code that is enabling Kubernetes.
2018 was a big year for Cloud Computing in terms of industry growth, major acquisitions and mergers, and shifting trends in software usage.
There is no easy way to summarize all the announcements and activities that take place in an entire year, let alone the entire Cloud Computing industry. So I’ll try and narrow it down to a few of the biggest trends and events that not only impacted 2018, but will have long-term impacts into 2019 and beyond.
Gartner IaaS MQ is down to 6 companies (AWS, Azure, GCP, Alibaba, IBM, Oracle)
For years, we’ve watched the largest cloud providers invest billions of dollars (per quarter) in data centers and infrastructures around the world. Those investments are beginning to be payoff in a big way, as the Big 6 cloud providers are distancing themselves from the rest of the industry.
The Big 2 (AWS, Azure) are growing really fast
I wrote about the growth of AWS and Azure just a couple months ago. While Q3 was slightly “bumpy” for both companies, they both continue to grow at an astounding rate. This is the direct result of years of investments, as well as a willingness to not be bound to a specific set of technologies.
Big acquisitions around Open Source (Red Hat, GitHub, Hortonworks)
The biggest acquisitions and mergers in 2018 were all open source centric. IBM acquired Red Hat for $34B, Microsoft acquired GitHub for $7.5B, and Hortonworks merged with Cloudera. By themselves, each of the acquisitions addressed critical needs for each company. In addition, they made a bold statement about the importance of open source software, developer ecosystems, and the need to consolidate in order to effectively compete in a market with some very large cloud providers.
Is Open Source licensing at a cross-roads?
While the center of technology innovation has heavily shifted towards open source communities, the economics of cloud computing has been shifting more and more towards public clouds. This is leading some companies (Redis, Confluent) that lead popular open source projects to re-evaluate how they license their project (known as “Common Clause“) in a way that doesn’t allow public cloud providers to use the software, offer a managed service and not contribute back to the project in a meaningful way. This is a change to the more traditional open source licenses, and feedback on the change has been mixed. It will be interesting to see if this is an anomaly, or more projects adopt this competitive approach.
Can a new CEO improve the Google Cloud Platform?
With the departure of Diane Greene and the replacement by Thomas Kurian (formerly of Oracle), GCP will go into 2019 with a new leader and a potential culture change. Everyone will be watching to see if GCP can figure out how to break through into the Enterprise, and how much change Kurian will need to create in order to move GCP out of 3rd-place.
Kubernetes continues to dominate containers and cloud-native (see: @PodCTL podcast)
As we saw with the growth of the 2018 Seattle KubeCon event, and several major acquisitions (CoreOS, Heptio, Red Hat) that involved Kubernetes, the Kubernetes market is preparing for significant growth in 2019, as well as greater levels of competition.
A few weeks back, the Kubernetes community gathered in Seattle for their annual KubeCon conference. The event is the centerpiece of the Cloud Native Computing Foundation (CNCF), in conjunction with the CloudNativeCon event.
Growth and Breadth of the Community
When KubeCon was held in Seattle in 2016, there were just over 1,000 attendees. In Austin in 2017, the number had grown to 4,500, and by 2018 the attendee list had expanded to over 8,000 people (with a waiting list). The growth was not only seen in the number of attendees, but in the number of pre-show events to train attendees, as well as the number of sponsors and companies displaying their Kubernetes technologies and services.
Kubernetes is trying to balance stability and expandability
At a high level, the Kubernetes project is trying to balance two parallel paths:
- How to make the core as stable (and scalable) as possible?
- How to build expandability around the core, without destabilizing the core and also allowing a broad set of use-cases?
This creates a challenging set of decisions for the architects of the project, as they want to make sure the technology is stable enough for production use-cases, but also build in enough flexibility to allow for many types of applications to run on Kubernetes. Extensibility has been built around capabilities such as CRDs, CSI, and CNI. These models allow pluggability for both storage and networking, as well as add-on projects such as Istio, Knative and others.
One area that is critical to this balance is the Operator Framework, which builds upon the extensibility of CRDs, while bringing automated operations and application lifecycle management to a broad set of applications that can run on Kubernetes.
Kubernetes will be less of the focus of KubeCon / CloudNativeCon
For the first four years of the show (KubeCon), Kubernetes has been at the core of every discussion. But as more and more add-on projects begin to make their way into greater levels of maturity within the CNCF (e.g. Istio, Envoy, Knative, Prometheus, etc.), the focus will shift up the stack and onto projects that are closer to the application. We’re already seeing expanded focus on CI/CD tools, Service Mesh, Developer frameworks, Serverless and Registry/Security integrations. While there will always be a focus on the infrastructure and automated operations for Kubernetes, I would expect to see increased focus on improved ways to enable cloud-native applications on Kubernetes.
Cloud-native Application Development is still an evolving space
While the container and orchestrator (Kubernetes) has become standardized, the development model for applications running on Kubernetes is still evolving. While there are many efforts to make it easier to embed tools in IDEs and create new languages and frameworks (Knative, Draft, Brigade, Ballerina, CNAB, s2i, Buildpacks, ODO, etc.), there has yet to be a consensus around what is best or be more widely used by developers. The good news is that many projects are currently exploring this space, as well as many vendor offerings that are emerging.
Enterprise Usage of Kubernetes in Production is expected to grow
Since Kubernetes first started shipping (as OSS, Commercial Software and Cloud Services) almost 4 years ago, we seen it be adopted by companies around the world and in nearly every industry. As the market moves from early adopters to cross the chasm, mainstream adopters want to hear about the challenges and successes of the early adopters. For the last couple of KubeCon events, the number of companies speaking publicly (example) about their adoption has been growing. This means that concerns about adoption will be reduced, as companies now have references that they can reach out to directly.