SUSE x KubeCon; a Post-Mortem.

Friday, 21 December, 2018

Socks were handed out, interviews were recorded, Rubik’s cubes got solved, SUSE chameleons proliferated the masses; and now we are very tired. KubeCon taught us all a lot of new things from sessions on new projects like Envoy and Harbor, to discussions on the intersection of technology, society, and the future. We saw some interesting keynotes including one on the donation of Etcd to the Cloud Native Foundation (CNCF), and learned from end users about how they’re utilizing Kubernetes in their technology stacks today. We hope you met some good contacts, and hopefully enjoyed some of the post-show parties too – we loved the MoMo and the glass museum!

Overall, “the KubeCon” was a four-day-long extravaganza-palooza that saw a two-fold rise in attendance from last year, up 4,000 attendees to 8,000 attendees, and over 300 sessions. Personally, I loved meeting the recent college graduates that were sponsored by the Linux Foundation – if any of you are reading this now, you’ll do great out there, I already know it!

Above all, all that activity translates into a lot of interest in Kubernetes. So, here’s our wrap up of what happened when SUSE took on KubeCon 2018 in Seattle:

 

Interview with Thomas Di Giacomo and Roger Klorese

During the craziness of KubeCon we were able to flag down our friendly Chief Technology Officer Thomas Di Giacomo and our resident SUSE CaaS Platform Product Manager Roger Klorese for a 15-minute interview on SUSE’s involvement with the CNCF, and how SUSE is bringing cloud native technologies to enterprise customers with SUSE CaaS Platform and SUSE Cloud Application Platform. In my obviously non-biased opinion, the interview is awesome and a must watch for anyone who is curious about what SUSE is doing in the cloud native world, and what we have to offer to both the end user and the broader community.

Also, massive shout out to Swapnil Bhartiya from TFiR for his help recording and editing the interview. Be sure to check out his website, and read some of his hot takes on the technology industry. Aside from his amazing work – seriously, the interview is top notch stuff – Swapnil is a good person, and that is what makes him stand out the most to me. One of the most underrated business skills is being nice; people want to work with nice people like Swapnil, and this gives him access to some of the best sources around.

LGBTQIAP+ – The Final Minority Challenge

As human beings, we have a moral obligation to leave this world a better place than we left it. During KubeCon, Rob Knight and Roger Klorese contributed to that mission with their KubeCon session on the under representation of minority and LGBTQIAP+ individuals. In the spirit of Open Source, Roger and Rob’s session was a collaborative one, where healthy discussion was had and hopefully progress was made.

 

SUSE CaaS Platfom is Advancing Rapidly

SUSE is rapidly delivering enhancements to SUSE CaaS Platform as we continue to fulfill our mission of providing developers with an exceptional operator experience. Recent updates include new support for external authentications, and for simplified connectivity to Kubernetes services. I’m not going to get into too much details on these as Roger is continuing to blog about our new enhancements. You can check out his blog on external authentication enhancements here and be sure to read up on all our new enhancements as they are released by following the SUSE Containers-as-a-Service Platform blog page

 

SUSE Cloud Application Platform Shines Brightly

SUSE Cloud Application Platform was also of great interest to the developers in the crowd. Bringing the best of Cloud Foundry to Kubernetes, SUSE Cloud Application Platform provides one step deployment and lifecycle management of 12-factor applications.  It supports any language or framework, and can be installed into an existing Kubernetes environment with Helm charts. You can check out more on SUSE Cloud Application Platform on SUSE’s website.

That just about wraps it up for now. We had a great KubeCon and we’re hoping you did too. We know everyone says this, but we’re really excited for what’s ahead, and we encourage you to stay tuned to SUSE and SUSE CaaS Platform happenings. Wishing you a relaxing, stress-free, and enjoyable holiday break.

I’ll leave you with one of my favorite YouTube videos:

 

Chris Lentricchia is the product marketing manager for SUSE CaaS Platform. You can find Chris on Twitter @iamcippino

How much data in the world by 2025?

Thursday, 6 December, 2018

I was doing SUSE Enterprise Storage training and one of the presentations quoted an IDC report as having recently revised the estimated total amount of data produced on the planet as reaching 163 Zetabytes by 2025. That is 163 followed by 21 zeros.That is just a number, a very big number to be sure. But what does it really mean? How can we gain some perspective from it?

Then I was watching the rest of the video presentation which was about 4 minutes long. So I googled a few things and discovered the average video clip on YouTube is about 4.2 minutes. Now it also seems that an amazing number of people watch YouTube on their mobile devices, often in low resolution. So if we average the available resolutions to 480p (YouTube default) we discover the average YouTube clip consumes about 21MB of storage. Great! But so what?

Well, if my math is correct, and it could possibly be flawed, we can extrapolate the following:
163 Zetabytes could hold 7.7 quadrillion clips (more than 7 with 15 zeroes)
With an average length of 4.2 minutes that equals over 543 trillion hours of video.That is around 62 billion years of YouTube watching.

In 2018 the world population is estimated at over 7.6 billion. So every man, woman, and child on the planet could sit in front of the screen, or mobile, and watch over 71,000 hours of YouTube fun and frolics that no one else has.
So when your partner says there is nothing to watch on the box you could perhaps point out that he/she is wrong and there must be something to interest.

Another mind boggling fact I have discovered during my journey along this path is when we talk of billions and trillions and quintillions there are some inconsistencies in what the number actually are. The US tend to place a billion at 1000 million or 1 followed by 9 zeroes. The British have a billion as a million million or 1 followed by 12 zeroes and so on. In my calculations I have used US terminology as all these zeroes were doing my head in. Commonly referred to as ‘short scale’ and ‘long scale’ it leads me to wonder how, without a crystal ball, how you would know what scale is being used for any quoted number.All this leads to the fact that data collected and stored is accelerating at a mind blowing rate and will continue to do so. It may well be time for your organisation to think about how much data you need to store and for how long. It may be a surprise the amount of data, especially the 80% that is typically unstructured, that needs to be stored. A flexible, infinitely expandable storage solution may be just be applicable to your business.
And of course if you are thinking how software defined storage may benefit your organisation you cannot go past SUSE Enterprise Storage.

Keys to driving successful AI and machine learning projects

Tuesday, 4 December, 2018
  • What are the 3 key ingredients that help drive AI and machine learning?
  • What are the blockers that organizations run up against when imbedding AI?
  • The keys to using AI to tackle digital transformation

Artificial intelligence (or AI) and machine learning are big buzz words today and it is easy to find all kinds of articles touting the benefits of the technology. However, business leaders are not just looking for the latest, cutting edge technology but are keenly interested in technology that can be applied to their business challenges.

Brent Schroeder, SUSE chief technology officer, Americas, recently spoke on this topic at Fujitsu Forum and provided some sound advice that organizations need to think about when considering how AI can be used to drive tangible business outcomes and the findings may surprise you.

1. What are the enablers?
If you are like me, I bet that considering the enablers was not the first thing you think about when thinking about how AI will help your organization. Yet the convergence of three key “ingredients” that Brent cites make sense – they are data, compute power and the surrounding technology that is creating and consuming the data. The good news is that if you get the key enablers together, benefits tend to come pretty quickly.

2. What are the blockers that inhibit organizations from using AI?
Unsurprisingly, collecting enough data is one of the blockers to organizations using AI successfully. And the next blocker Schroder highlighted was defining the problem which makes a lot of sense.
Schroeder also touched on how DevOps can help when adopting AI. One of the key things he highlighted is organizational buy in. He said, “As much technology as we can develop, and automate and so forth, it all comes down to the people in carrying it out and executing it.”

What are his key messages to the C-suite when using AI to tackle digital transformation?

  1. Start with clear organizational goals
  2. Define measurable business objectives
  3. Start with a focused, tangible project to learn quickly
  4. Collaborate and innovate with you peer group – like SUSE!

You can see the full interview with Schroeder at https://www.facebook.com/fujitsuICT/videos/1943275635979963

Gartner IT Infrastructure, Operations and Cloud Strategies Conference 2018

Wednesday, 21 November, 2018

Next week, the SUSE team will be at the Intercontinental London Hotel at the O2 for the Gartner IT Infrastructure, Operations and Cloud Strategies Conference. This will be a great opportunity to hear from many well-respected names within the IT community – analysts, experts and even the quite legendary Frank Abagnale, of “Catch Me If You Can” fame. While one of the most memorable scenes in the film version of Frank Abagnale’s adventures depicts him pretending to be a Pan Am pilot, strolling through an airport arm-in-arm with a bevy of beautiful female cabin crew, the SUSE team will be leaving their flight crew uniforms, which were last seen in action at the OpenStack Summit in Berlin, at home. However, my Movember moustache will still be very much in evidence for all to admire as it continues its European tour to celebrate my 13th year of supporting the Movember Foundation in their aim to stop men dying too young (having been to Berlin last week, and then heading to Madrid for the HPE Discover conference next week once the Gartner conference is finished).

The death of the data centre?

We’re looking forward to helping lots of people understand how data centres have evolved, and how software-defined infrastructure is the future and should be part of every business’s cloud strategy. Whether you already have a fully-fledged cloud strategy, are using public cloud for test and development, or are just starting to think about how to best leverage cloud resources, the conference will give you plenty to think about. Giuseppe Paterno and I will be talking on Tuesday 27th November at 12:45pm about the death of the data centre, so please do come along to hear if the data centre is indeed dead, or if it’s just having a little lie down to catch its breath. In addition to discussing the merits of public cloud, private cloud, OpenStack and containers, we’ll also be talking about how our customer ApiOmat used SUSE CaaS Platform and SUSE Cloud Application Platform to enable them to better serve their enterprise customers.

Chameleons, chameleons everywhere – catch them if you can

Of course, the SUSE team will be giving away some of our ever-popular Geeko stuffed chameleons in the exhibitors hall, so come along to talk to us, hear about how software-defined infrastructure should be a part of your cloud strategy, and pick up a cuddly chameleon to keep you company on your journey home!

HANA Scale-Up HA with System Replication & Automated Failover using SUSE HAE on SLES 12 SP 3 – Part 2

Thursday, 8 November, 2018

This is a guest blog reposted with the permission of the author Dennis Padia, SAP Technical Consultant & Architect at Larsen and Toubro Infotech.

 

 

 

In Part 1 of this 3 Series blog, an overview on System Replication, SUSE High Availability Extension and a reference architecture was discussed in detail. So based on it, we will now design a solution.

Solution Design

This is the detailed solution design of this reference architecture. It includes the following sections:

  1. Network Design
  2. Solution Design
  3. Planning and Pre-requisites
  4. Setting up System Replication
  5. SUSE HAE Installation & Configuration
  6. SAPHanaSR Installation & Configuration

NOTE: Install the SAP HANA Database along with Host Agent as described in the SAP HANA Server Installation Guide

Network Design

SAP recommends using a dedicated network for system replication. To determine the network requirements for system replication, refer to link here.

Planning and Pre-requisites

It has been assumed that the hardware/server is already setup along with the network connectivity. Before you start setting up SAP HANA system replication, you need to fulfil the following pre-requisites –

  • The primary and secondary system are both installed and configured. You have verified that both are independently up and running.
  • The configuration of hosts in the primary and secondary systems must be the same, that is, the number of hosts must be the same but also the names of the host roles, failover groups and worker groups must be identical in both systems. This implies that if there is a standby host on the primary system it need not be available on the secondary system.
  • Multiple services of the same kind (for example, index servers) on one host are not supported.
  • All configuration steps should be executed on the master name server node only.
  • The software version of the secondary should be equal or newer to the version on the primary.
  • The secondary system must have the same SAP system ID, <SID> and instance number as the primary system.
  • System replication between two systems on the same host is not supported.
  • The .ini file configuration must be similar for both systems. Any changes made manually, or by SQL commands on one system should be manually duplicated on the other system.
  • Automatic configuration parameter checks will alert you to configuration differences between the two systems.
  • To secure the system replication communication channel between the primary and the secondary system configure the ini parameters [system_replication_communication] / listeninterface and allowed_sender as described in Host Name Resolution for System Replication.
  • If the host names of the primary and the secondary system are the same (for example, because two systems are used that have identical host names) change the host names used on the secondary system. For more information, see Rename an SAP HANA System Host.
  • Check that the hostnames in the primary system are different to the hostnames used in the secondary system.
  • You can see this in the SAP HANA studio, at the end of the environment variable SAP_RETRIEVAL_PATH and with the python scriptlandscapeHostConfiguration.py
  • Ensure that log_mode is set to “normal” in the persistence section of the global.ini file. Log mode normal means that log segments are backed up.
  • You are logged on to both systems as the operating system user (user <sid>adm) or you have provided its credentials when prompted.
  • You have performed a data backup or storage snapshot on the primary system. In multiple-container systems, the system database and all tenant databases must be backed up. This is necessary to start creating log backups. Activated log backup is a prerequisite to get a common sync point for log shipping between the primary and secondary system.
  • Prepare the secondary system for authentication by copying the system PKI SSFS.key and the .dat file from the primary system to the secondary system
  • Both systems should run on the same endianness platform

SSFS Authentication

Before setting up the HANA System replication, we first need to prepare secondary system for authentication by copying the system PKI SSFS.key and .dat file from the primary system to the secondary system.

On HANA Server, SSFS .dat and .key is located under /usr/sap/SID/SYS/global/security/rsecssfs/data and /usr/sap/SID/SYS/global/security/rsecssfs/key which you can transfer to secondary system on the same path.

If you don’t copy SSFS file from Primary to Secondary, you will get below error while setting up System Replication

Error Message: Error while executing the register command: hdbnsutil -sr_register

primary and secondary has different systemPKI SSFS data and key or unable to

Setting Up HANA System Replication

Configure Name Resolution for Replication Network

As part of best practices, it is suggested to have dedicated network for HANA System Replication if you are setting up High Availability. For Disaster Recovery, client network can used to setup System Replication.

Additionally, HANA Nodes must be configured to identify the replication network. This must be done before system replication is configured. This is configured in the section system_replication_hostname_resolution in the global.ini file on the configuration tab of SAP HANA Studio.

Configure the replication IP address of the secondary node on the primary node and configure the replication IP address of the primary node on the secondary node. Just for the reference, parameter will look something like below

Here 192.168.100.112 is the replication IP address of secondary server saphanas. Same way in secondary node, you have to configuration same parameter with replication IP address of primary server.

Number of IP address configured for particular host using below command

# ip addr show

Perform Backup

You need to perform a data backup or storage snapshot on the primary system. In multiple-container systems, the system database and all tenant databases must be backed up. This is necessary to start creating log backups. Activated log backup is a prerequisite to get a common sync point for log shipping between the primary and secondary system.

NOTE: If you are creating tenant after setting up system replication, then that tenant will only become a part of system replication after performing it initial data backup.

Similarly, take backup of all tenant database as well.

Setup HSR from Primary Node to Secondary Node

Enable Primary System for System Replication

Right mouse-click on Primary System > Configuration and Monitoring > Configure System Replication. Check the radio button to enable system replication:

Provide Logical Name. It can be anything but follow some naming convention to identify HANA Server and Data Center.

Once you enabled Primary System for replication, shutdown secondary System. You can only register HANA System as secondary only if it down.

Once your Secondary HANA System is down, register it as Secondary

Selection Replication Mode and Operation Mode based on your requirement and approach for business continuity.

It is advisable to use below settings

For High Availability

Replication Mode: Synchronous or Synchronous In-mem

Operation Mode: Logreplay

For Disaster Recovery

Replication Mode: Async

Operation Mode: Delta-datashipping or logreplay

NOTE: If you are setting up multi tier replication, then the operation mode you select from Primary to Secondary will also be the operation mode from Secondary to Tertiary.

As explained in Part 1, you can setup multi-target system replication from HANA 2.0 SPS 03

If everything is fine i.e. if you have transferred SSFS .dat and .key file from Primary to Secondary then you get any error and you can monitor system replication from Landscape > System Replication (HANA Studio)

Run below command with on the primary HANA server as user <sid>adm

# hdbnsutil -sr_state

In next blog, we will discuss on install and configure SUSE HAE to automate the failover process in SAP HANA system replication.

(Note: Part 3 of this series will be posted the week of November 12, 2018)

The future is bright, the future is open source.

Tuesday, 6 November, 2018

It’s fair to say that open source is an important part of many industries today. Whether you’re looking at open source server hardware, open source Linux software, open source software-defined networking, open source cloud management platforms, or even open source cola, no-one can deny that it’s everywhere now.

However, with so many open source options available today, it’s hard to work out how to get started – like walking into a used bookstore that hasn’t organised its books into categories or genres.

Are you experienced?

Here at SUSE we are, with over a quarter of a century of experience in making open source easier for businesses to choose, use and build their businesses upon. We have many skilled software engineers and developers around the world working on our software products and providing world-class support to our customers. In addition to these excellent engineering resources, we have other team members who are deeply involved in the open source world like Alan Clark in our CTO office. He’s somewhat of a legend within the open source community – he’s the chairman of the OpenStack Foundation, the chairman of the OpenHPC Foundation and is also on the board of directors of the Linux Foundation.

Our very own Kent Wimmer spent some time with him recently in our Provo office, chatting to him about all things open source and OpenStack. Whether you’re interested in IoT, Machine Learning, containisation, cloud computing or something else, watch the video here to hear Alan’s thoughts on the future of open source, the rise of multi-cloud and hybrid cloud, and how individuals and businesses can best get started in OpenStack.

Alan and Kent will be with us at the OpenStack Summit in Berlin next week (November 13th-15th), so if you’re visiting, come along to see us at the booth (booth B3, it’ll be the one staffed by people in pilot’s uniforms!) and find out more about how SUSE can make open source easier for you.

Do you have a Cloud Strategy?

Friday, 19 October, 2018

We are seeing more and more companies moving their workloads to the cloud. According to IDC, the worldwide public cloud services spend will double to over $141 billion in 2019. So what is driving this shift to cloud infrastructures? The term we often hear quoted is ‘Business Agility’, and the need for cost savings and/or efficiencies. In today’s fast-paced digital economy, the ability to innovate and stay competitive is essential. Cloud computing has enabled companies of all sizes to channel their efforts into what is important, their business.

When defining a cloud strategy what is the right option for your business? Is it public cloud, private cloud or a hybrid cloud? There isn’t typically a ‘one size fits all’ answer. It often depends on the type of application, cost, in-house expertise, and other unique and specific business requirements.

Let’s first look at the public cloud. It’s this model that people often first think of when discussing cloud computing. The model is based around the Cloud Service Providers (CSPs) leveraging the Internet to make infrastructure resources available, e.g. servers, storage etc., with a selection of payment plans, to make it easier for a business to consume resources on an as-needed basis.

These resources still require physical hardware, but instead of this being housed in an organisations own premises, it is owned and located at the CSP’s data centre. Often referred to as ‘Hyper-scalers’, Some of the largest CSPs in the market today, are Amazon Web Services, Microsoft Azure, Google Cloud, IBM’s Blue Cloud and Alibaba.  With these large brands dominating commoditising the market-place, it makes it easy for businesses to move to the public cloud.

The public cloud model works by virtualising the physical hardware housed at the cloud service provider’s data centre. This provides efficiencies by allowing multiple customers to share the resources, enabling a ‘multi-tenant’ arrangement spreads the costs of running the infrastructure across several users. A number of small and medium sized businesses have realised a significant cost advantage by leveraging a pay-as-you-grow model using public cloud. A very common application (workload) in this category are public-facing web applications which can scale up or down depending on demand.

Enabling Business Agility

It seems everything is happening at a faster pace, and businesses need to be quicker and more dynamic to evolve and improve processes, tools and technologies. Business agility is about enabling the business to make faster decisions, prioritise and deliver customer satisfaction. The public cloud can, in several scenarios, provide simplified internal operations, faster rollouts of new applications and initiatives, to achieve a competitive advantage.

What about Private clouds? As with other cloud models, private cloud provides compute and often storage resource as a service within a virtualised environment. However, this time, the physical servers and storage etc. are used only by a single company and are typically housed within the organisations own data centre(s) or hosted by a third party. Private clouds provide many of the flexibilities of the public cloud, however the organisation has to bear the cost of hardware and resource to set-up and maintain these cloud services. As a private cloud is typically only accessible by a single organisation, this increases control and helps improve governance, privacy and compliance.

How can you get the best of both worlds?

We have established that cloud services provide efficiencies at varying degrees. Public cloud services are typically more cost efficient and scalable than a private cloud. Private clouds on the other hand provide more control and often make governance, privacy and compliance a little easier.

There is another option where you can have the best of both worlds, the hybrid cloud. Where you have the need is to maximise efficiencies for a given workload, a public cloud solution can be used. Typically, these consist of non-sensitive applications. However, for those workloads that require additional control for compliance and/or sensitivity reasons you can benefit from a private cloud. The trick with a hybrid approach is to ensure that both the public and private cloud workloads are seamlessly integrated.

Hybrid clouds are not just simply a mix of private and public clouds. It’s a solution that allows the flexibility to choose private and public clouds to achieve the optimal performance, efficiency, and economy for any given workload.

It’s desirable that hybrid clouds are managed through a common management solution. If done well, this approach will enable workloads to leverage different cloud solutions on an as needed basis. This solution can also offer the flexibility to shift one workload from one cloud to another or even to span multiple clouds.

Many organisations are adopting a hybrid cloud approach as the flexibility and business benefits are compelling. With the potential to immediately ‘burst’ and increase a workloads capacity during peak demand, then shrink when demand is light. This is just one of the many advantages why modern businesses are turning to the cloud. Future requirements may also include moving workloads dynamically between private and public clouds and with suitable management solutions in place, all of these options become a possibility.

You can find out more https://www.suse.com/solutions/cloud/

Building the Foundation for IT Transformation

Friday, 12 October, 2018

If you have built castles in the air, your work need not be lost; that is where they should be. Now put the foundations under them.

Henry David Thoreau

Servers in the Cloud

When I think about IT or Digital Transformation, I often think of this quote.  To survive, your business must meet the needs of the digital economy; that is, it must keep up with the pace of the smartphone-toting, social-media posting empowered customer.  And, your job is to provide the foundation for this.  So let’s talk a little about what you need to do to start this transformation.

What is Transforming? 

Before we can talk about starting to transform, we have to start with what you are transforming. IT transformation is the process of aligning IT services and business applications so they are in lock-step with the new normal of customer expectations – providing business intelligence, business agility, and the promise of customer-centricity.  In many cases, this means more than just a technology shift; it means you also need to review your processes, application architectures, and even organization model – not only your platforms, to align them with the new normal of your business. From process to information to platform, transformation only works if it happens across all dimensions of your enterprise.

Transformational IT:  The New Normal

In most businesses, IT is typically heavy on the technical side of the business, while LOB end-users are often the nontechnical experts of the business.  However, in the businesses that are embracing transformational IT, the lines between the technical and nontechnical sides of the business become blurred.  IT metrics become less focused on response time and problem resolution but more on customer success and revenue growth.  This is the new normal — the role of IT shifting so it becomes the technology advisor for the entire organization, providing the tools and solutions required to meet the needs of the digital economy.

Where are the Skills?

Because digital businesses are customer focused, IT departments must provide the tools for responsive and agile behavior. These solutions must be open, providing the ability to engage with a broad ecosystem of partners, suppliers and customers. Additionally IT must also be able to take advantage of technologies such as AI, IoT and blockchain.  They must provide new platforms that support delivery of modern, cloud native applications that can evolve rapidly to meet ever-changing demands, and at the same time, they must maintain their core legacy systems.

451 Research Group indicates that “cloud platforms and information security emerged as top areas of IT expertise gaps in 2017.”  Couple that with “acute skills shortages in cloud native environments for container and microservices technologies” and it quickly becomes apparent that there is a lack of skills to make the transformation your business desperately needs you to make.

SUSE – Your Complete Solution for IT Transformation

So where do you start?  Start with SUSE.

SUSE’s software-defined infrastructure and application delivery roadmap provides all the right solutions to help assist in your transformation – from SUSE OpenStack Cloud to SUSE Enterprise Storage and SUSE Cloud Application Platform to SUSE CaaS Platform.

SUSE Global Services provides flexible consulting delivery solutions and premium support services options to maximize your value from your SUSE solution investments.  From SUSE Start consulting engagements to Premium Support Services options, our team has the technical expertise to assist in transforming and supporting your infrastructure. We will help your organization plan and implement your new solutions, facilitating all aspects of your IT transformation.

Our services offerings provide direct access to technical and product experts with whom you can build a trusted relationship.  As trusted advisors, our services team helps your organization plan and implement new solutions, facilitating all aspects of your IT transformation.

With SUSE as your trusted partner, you not only get the right software for your transformation, you have access to the right people to get you to your end game.  Make SUSE Global Services a part of your total solution.  After all, your business has built “castles in the air,” it’s your job to put foundations under them.

Kubernetes vs Docker: What’s the difference?

Tuesday, 9 October, 2018

Expert Training in Kubernetes and Rancher
Join our free online training sessions to learn more about Kubernetes, containers, and Rancher.

Docker vs Kubernetes: The Journey from Docker to Kubernetes

The need to deploy applications from one computing environment to another quickly, easily, and reliably has become a critical part of enterprise’s business requirements and DevOps team’s daily workflow.

It’s unsurprising then, that container technologies, which make application deployment and management easier for teams of all sizes, have risen dramatically in recent years. At the same time, however, virtual machines (VM) as computing resources have reached their peak use in virtualized data centers. Since VMs existed long before containers, you may wonder what the need is for containers and why they have become so popular.

The Benefits and Limitations of Virtual Machines

Virtual machines allow you to run a full copy of an operating system on top of virtualized hardware as if it is a separate machine. In cloud computing, physical hardware on a bare metal server are virtualized and shared between virtual machines running on a host machine in a data center by the help of hypervisor (i.e. virtual machine manager).

Even though virtual machines bring us great deal of advantages such as running different operating systems or versions, VMs can consume a lot of system resources and also take longer boot time. On the other hand, containers share the same operating system kernel with collocated containers each one running as isolated processes. Containers are lightweight alternative by taking up less space (MBs) and can be provisioning rapidly (milliseconds) as opposed to VM’s slow boot time (minutes) and more storage space requirements (GBs). This allows containers to operate at an unprecedented scale and maximize the number of applications running on minimum number of servers. Therefore, containerization shined drastically in the recent years because of all these advantages for many software projects of enterprises.

Need for Docker Containers and Container Orchestration Tools

Since its initial release in 2013, Docker has become the most popular container technology worldwide, despite a host of other options, including RKT from CoreOS, LXC, LXD from Canonical, OpenVZ, and Windows Containers.

However, Docker technology alone is not enough to reduce the complexity of managing containerized applications, as software projects get more and more complex and require the use tens of thousands of Docker containers. To address these larger container challenges, substantial number of container orchestration systems, such as Kubernetes and Docker Swarm, have exploded onto the scene shortly after the release of Docker.

There has been some confusion surrounding Docker and Kubernetes for awhile: “what they are?”, “what they are not?”, “where are they used?”, and “why are both needed?”

This post aims to explain the role of each technology and how each technology helps companies ease their software development tasks. By the end of this article, you’ll understand that the choice is not Docker vs Kubernetes, but Kubernetes vs alternative container orchestrators.

Let’s use a made-up company, NetPly (sounds familiar?), as a case study to highlight the issues we are addressing.

NetPly is an online and on-demand entertainment movie streaming company with 30 million members in over 100 countries. NetPly delivers video streams to your favorite devices and provides personalized movie recommendations to their customers based on their previous activities, such as sharing or rating a movie. To run their application globally, at scale, and provide quality of service to their customers, NetPly runs 15,000 production servers worldwide and follow agile methodology to deploy new features and bug fixes to the production environment at a fast clip.

However, NetPly has been struggling with two fundamental issues in their software development lifecycle:

Issue 1- Code that runs perfectly in a development box, sometimes fails on test and/or production environments. Therefore, NetPly would like to keep code and configuration consistent across their development, test, and production environments to reduce the issues arising from application hosting environments.

Issue 2- Viewers experience a lot of lags as well as poor quality and degraded performance for video streams during weekends, nights, and holidays, when incoming requests spike. To resolve this potentially-devastating issue, NetPly would like to use load-balancing and auto scaling techniques and automatically adjust the resource capacity (e.g. increase or decrease number of computing resources) to maintain application availability, provide stable application performance, and optimize operational costs as computing demand increases or decreases. These requests also require NetPly to manage the complexity of computing resources and the connections between the flood of these resources in production.

Docker can be used to resolve Issue 1 by following a container-based approach; in other words, packaging application code along with all of its dependencies, such as libraries, files, and necessary configurations, together in a Docker image.

Docker is an open-source operating system level virtualized containerization platform with a light-weight application engine to run, build and distribute applications in Docker containers that run nearly anywhere. Docker containers, as part of Docker, are portable and light-weight alternative to virtual machines, and eliminate the waste of esources and longer boot times of the virtual-machine approach. Docker containers are created using Docker images, which consist of a prebuilt application stack required to launch the applications inside the container.

With that explanation of a Docker container in mind, let’s go back our successful company that is under duress: NetPly. As more users simultaneously request movies to watch on the site, NetPly needs to scale up more Docker containers at a reasonably fast rate and scale down when the traffic lowers. However, Docker alone is not capable of taking care of this job, and writing simple shell scripts to scale the number of Docker containers up or down by monitoring the network traffic or number of requests that hit to the server would not be a viable and practicable solution.

As the number of containers increases to tens of hundreds to thousands, and the NetPly IT team starts managing fleets of containers across multiple heterogeneous host machines, it becomes a nightmare to execute Docker commands like “docker run”, “docker kill”, and “docker network” manually.

Right at the point where the team starts launching containers, wiring them together, ensuring high availability even when a host goes down, and distributing the incoming traffic to the appropriate containers, the team wishes they had something that handled all these manual tasks with no or minimal intervention. Exit human, enter program.

To sum up: Docker by itself is not enough to handle these resources demands at scale. Simple shell commands alone are not sufficient to handle tasks for a tremendous number of containers on a cluster of bare metal or virtual servers. Therefore, another solution is needed to handle all these hurdles for the NetPly team.

This is where the magic starts with Kubernetes. Kubernetes is as container orchestration engine (COE), originally developed by Google and used to resolve NetPly’s Issue 2. Kubernetes allows you to handle fleets of containers. Kubernetes automatically manages the deployment, scaling and networking of containers, as well as container failovers by launching a new one with ease.

The following are some of the fundamental features of Kubernetes.

  • Load balancing

  • Configuration management

  • Automatic IP assignment

  • Container scheduling

  • Health checks and self healing

  • Storage management

  • Auto rollback and rollout

  • Auto scaling

Container Orchestration Alternatives

Although Kubernetes seems to solve the challenges our NetPly team faces, there are a good deal of container management tool alternatives for Kubernetes out there.

Docker Swarm, Marathon on Apache Mesos, and Nomad are all container orchestration engines that can also be used for managing your fleet of containers.

Why choose anything other than Kubernetes? Although Kubernetes has a lot of great qualities, it has challenges too. The most arresting issues people face with Kubernetes are:

  1. the steep learning curve to its commands;

  2. setting Kubernetes up for different operating systems.

As opposed to Kubernetes, Docker Swarm uses the Docker CLI to manage all container services. Docker Swarm is easy to set up, has less commands to learn to get started rapidly, and is cheaper to train employees. A drawback of Docker Swarm bounds you to the limitations of the Docker API.

Another option is the Marathon framework on Apache Mesos. It’s extremely fault-tolerant and scalable for thousands of servers. However, it may be too complicated to set up and manage small clusters with Marathon, making it impractical for many teams.

Each container management tool comes with its own set of advantages and disadvantages. However, Kubernetes with its heritage based in Google’s Borg system, has been greatly adopted and supported by the large community as well as industry for many years and become the most popular container management solution among other players. With the power of both Docker and Kubernetes, it seems like journey of the power and popularity of these technologies will continue to rise and being adopted by even larger communities.

In our next article in this series, we will compare in more depth Kubernetes and Docker Swarm.

Expert Training in Kubernetes and Rancher
Join our free online training sessions to learn more about Kubernetes, containers, and Rancher.