Difference between revisions of "Technology Trends/Application Containers"

From wiki
Jump to navigation Jump to search
(Created page with "{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}} fr:Tendances_Technologiques/Chaîne_d...")
 
 
(9 intermediate revisions by 3 users not shown)
Line 11: Line 11:
 
               <th>[[Technology_Trends|Technology Trends]]</th>
 
               <th>[[Technology_Trends|Technology Trends]]</th>
 
               <th> / </th>
 
               <th> / </th>
               <th>Augmented and Virtual Reality</th>
+
               <th>Application Containers</th>
 
             </tr>
 
             </tr>
 
           </table>
 
           </table>
Line 18: Line 18:
 
               <th>[[Tendances_Technologiques|Tendances Technologiques]]</th>
 
               <th>[[Tendances_Technologiques|Tendances Technologiques]]</th>
 
               <th> / </th>
 
               <th> / </th>
               <th>[[Tendances_Technologiques/|Tendances_Technologiques/]]</th>
+
               <th>[[Tendances_Technologiques/Tendances_Technologiques/Conteneurs_dApplication|Conteneurs Logiciels]]</th>
 
             </tr>
 
             </tr>
 
           </table>
 
           </table>
 
         </th>
 
         </th>
 
       </tr>
 
       </tr>
      <tr><td colspan="2" class="logo">[[File:|200px]]</td></tr>
 
 
       <tr>
 
       <tr>
 
         <th>Status</th>
 
         <th>Status</th>
Line 34: Line 33:
 
       <tr>
 
       <tr>
 
         <th>Latest version</th>
 
         <th>Latest version</th>
         <td>May 23, 2019</td>
+
         <td>February 20, 2020</td>
 
       </tr>
 
       </tr>
 
       <tr>
 
       <tr>
 
         <th>Official publication</th>
 
         <th>Official publication</th>
         <td>[[Media:AR_VR.pdf|Augmented and Virtual Reality.pdf]]</td>
+
         <td>[[Media:Application_Containers.pdf|Application Containers.pdf]]</td>
 
       </tr>
 
       </tr>
 
       <tr><td colspan="2" class="disclaimer"><table><tr>
 
       <tr><td colspan="2" class="disclaimer"><table><tr>
Line 47: Line 46:
 
   </div>
 
   </div>
  
   <br><p><b>Augmented reality (AR)</b> provides a live direct, or indirect, view of the real-world with aspects that are modified or “augmented” by aid of a computer.</p>
+
   <p><b>Application Containers</b> are a form of OS-Virtualization in which distributed applications are run on a single virtual machine or physical host rather than one for each application</p>
  <br><p><b>Virtual Reality (VR)</b> on the other hand, occludes (obstructs) the entire field of view of the user (i.e. a headset and other sensory gear), and replaces the entire surrounding environment with a completely computer-generated one.</p>
 
  
 
   <div class="mw-collapsible-toggle btn" style="float: left; display: block;">
 
   <div class="mw-collapsible-toggle btn" style="float: left; display: block;">
Line 55: Line 53:
  
 
   <h2>Business Brief</h2>
 
   <h2>Business Brief</h2>
   <p>Augmented reality (AR) provides a live direct, or indirect, view of the real-world with aspects that are modified or “augmented” by aid of a computer. These computer-generated modifications can be applied across multiple sensory modes, including visual, audio, haptic (touch), and olfactory (smell). AR technology provides an enhancement to the surrounding environment and can be either constructive (add elements to the environment) or destructive (mask elements through localized occlusion without blocking the entire real world view of the user).</p>
+
   <p>A single host OS can support multiple containers. Containers can be used on multiple systems including cloud instances and virtual machines, as well as across different OS such as Linux, Microsoft, and MAC OS. Application containers have huge benefits with their ability to be deployed in cloud environments. The main advantage to containers is their architecture. Because applications can now be placed on different virtual and physical machines this offers greater availability of those applications. These machines can be within a cloud or not. They offer high flexibility with regard to workload management and allow the developer to make vault-tolerant systems. </p>
  <p>AR and VR concepts are found on the virtuality continuum, otherwise known as the mixed reality spectrum (the spectrum). One end of the spectrum is unmodified reality and the opposite end is digital reality, with anything in between falling under Mixed Reality (MR). The spectrum includes all possible variations and combinations of real and virtual objects, such as augmented virtuality, where elements of reality augment the virtual world. Virtual and augmented technologies are essentially interactive mediums that enable the combination of the virtual and real world where physical and digital objects may co-exist in real time.</p>
+
   <p>Application containers transition data centres from being machine-oriented to application-oriented. Containers encapsulate the application environment, abstracting details from the machine, operating system, the application developer, and deployment infrastructure. Because well-designed containers and container images are scoped to a single application, managing containers means managing applications rather than machines. This shift with management application programming interfaces (API) from machine-oriented to application-oriented dramatically improves application deployment.</p>
   <p class="inline">Devices used to overlay digital elements onto reality (AR) include, AR enabled smartphones, tablets, and see-through hands-free head mounted displays (HMD). Most consumer AR applications are created for smartphones due to their proliferation and availability. At this point, HMDs do not have many consumer AR applications due to their prohibitive price point, however, many business use cases have been developed for professional use. This is due to the fact that the hands free nature of the HMD devices allows for more creativity in the development of applications, where other smaller but necessary sensors and cameras can be used in these purpose built devices. For VR, HMDs completely obstruct the user’s field of view and replaces it with a digital environment are usually paired with any combination of controllers and wearable body trackers that let the user physically interact with the virtual world.</p> <p class="expand mw-collapsible-content"> Another concept for enabling VR is the Cave Automatic Virtual Environment (CAVE) where a user is completely immersed within a physical room with walls made up of rear-projection screens (or flat panel screens) that displays a virtual environment that can be interacted with via controller or camera sensors. HMDs are used to immerse the senses in VR, whereas the CAVE system is used to immerse the whole person within a virtual space. </p>
 
 
 
 
   <h2>Technology Brief</h2>
 
   <h2>Technology Brief</h2>
   <p>AR and VR make use of several different technologies. Both use sensors to gain a mapping of the surrounding environment, however VR technology also makes use of sensors outside a headset to provide a more immersive experience. VR headsets like the HTC Vive and Oculus Rift track different body movement in order to allow the user to be able to look around and interact with virtual items. The image processing needs to be done at around a 60 frames per second for the user to be able to move their head naturally. Several companies currently working on VR technology are now also attempting to track eye movements within their headsets. This will allow the images displayed on screen to appear even more realistic as the image will automatically focus based on where the user is looking. </p>
+
 
   <p>Currently on the market there are three categories of VR headsets available:</p>
+
   <p>It is useful to look at the concept of containers as images when trying to understand how containers work. Images can be stacked hierarchically. Applications can be attached to this hierarchy and each node of the tree allows the user to share images among applications. This allows for the configuration of binary states, meaning that you do not have to shift around the entire application’s stack in single files. The relationship between images and containers is analogous to that of a class and object. In object oriented programming an object is an instance of a class. For example, an apple would be an object of class fruit. The class defines the data stored about the object and what functions can be performed on it. With application containers, the image, like a class, provides the blueprint to the container. The container is like an instance or object of this class. </p>
   <ol>
+
   <p>Another advantage of this is when a vulnerability is discovered within a particular node, the hierarchical tree allows the user to verify all other nodes that are impacted by this vulnerability. In order to create images, it is important to look at an example. Docker is a container engine. Docker uses a Docker file to create images. Containers are used to isolate processes within the OS. </p>
      <li><p><b>Headsets for Gaming Consoles and PC:</b>this grouping of headsets relies on the extra computing power of gaming consoles and personal computers. Since they are tethered to a computer system, more peripherals can also be connected and integrated into the VR experience like handheld controllers, motion trackers, eye tracking glasses, glove controllers and treadmills.</p></li>
+
   <p>Application containers can be thought of as a form of virtualization similar to Virtual Machines (VM). However instead of virtualizing the entire stack, containers virtualize at an operating system level.<ref>What are Containers and their benefits  |  Google Cloud. (n.d.). Retrieved from <i>[https://cloud.google.com/containers/.]</i></ref> Because of this they are extremely lightweight, enabling them to use only a fraction of the memory and processing as only a single OS Kernel is needed to host multiple containers.</p>
      <li><p><b>Standalone Headsets:</b>these are wireless headsets that do not need to be plugged into a computer or smartphone to work. All of the necessary technology is packed into the device; the computing hardware, motion tracking, controller connectivity, and the operating system itself.</p></li>
+
  <p class="expand mw-collapsible-content">Application containers facilitate a service oriented architecture (SOA). In an SOA the application is decomposed in into several services. With containers, individual services can be launched as different containers. With clustering this enables the ability to scale up a solution. The proper orchestration tools are required to properly enable scaling. Container orchestration tools manage the lifecycle of containers, a software development team will use them to provision and deploy containers, check redundancy and availability, and to move a container from one host to another.</p>
      <li><p><b>Mobile Headsets:</b>these headsets are powered by smartphones that are VR enabled, where the smartphone acts as the screen. These are essentially just headgear that keep the phone in place on the wearer’s head and they optimize the wearer’s field of view for VR. Some may add more tracking capabilities to the smartphone and be made of high quality materials, and others like Google Cardboard are the bare essentials to make the concept work. </p></li>
+
  <p class="expand mw-collapsible-content">Monolithic applications can also be deployed as containers. As a monolithic container is essentially a single–tiered application a single instance will be deployed as a single container. This differs from the microservice and SOA approach as a container will represent a single service of that application. With containers, in order to scale up a monolithic application multiple instances of the application and thus several containers need to be deployed. When using Docker, updates to the application can be deployed as docker images which is faster and network efficient. Also since containers can be spun up faster, creating new application instances a quicker process.</p>
  </ol>
+
   <p>Two major vendors of application container technology are Docker and CoreOS. Docker was introduced first, and as a result is used more widely in the industry. Application containers are of most benefit to large companies. It has been four years since Docker’s initial foray into the market, and a survey conducted by Datadog in 2016 revealed that adoption of Docker had increased 30%+ over the previous year. What is important to note about this statistic is that these companies are using the software in production rather than development, which suggests that companies are using containers as a long-term approach and not simply on a trial basis</p>
   <p>AR technology deploys a virtual image over real-world objects. The system receives input from the camera or other input devices. There are generally three approaches which AR technology makes use of. Simultaneous Localization and Mapping (SLAM) is a set of algorithms tasked with solving complex localization and mapping problems. This technology localizes sensors with respect to their surroundings. It uses this data to map the structure of the immediate environment and allows applications to incorporate real world information into the graphics generated on screen (i.e. the Ikea Place app that generates proportional examples of furniture onto a user’s living space). </p>
+
   <p>Docker can be characterized as the container management engine which creates the containers. There are also several management platforms that give users a number of different tools to manage their containers. Three of these tools are OpenShift, Kubernetes, and Rancher.</p>
   <p>Recognition based or marker based AR is another approach to the design of AR systems. The camera of the device identifies visual markers using either, QR/2D code or natural feature tracking markers. When the device senses a marker it places the virtual image at that position. It uses these markers to determine orientation and position of the marker image.</p>
+
   <p>OpenShift uses Docker and Kubernetes as its underlying engine to manage the containers. The software integrates with Kubernetes to enable the automation of functions such as scaling, health management, and deployment. Kubernetes, which was created by Google, is a well-designed orchestration tool used in the management of containers. It offers the client a high level API that allows the user to logically group containers as well as load balancing and container pools. Rancher is a container management tool built on top of the Kubernetes container engine platform.</p>
   <p>Lastly, location based AR is another technology that utilizes GPS, digital compass, velocity meter, and accelerometer as inputs to determine orientation and position of the virtual image. This is a popular approach to AR technology as smartphones already have the necessary infrastructure to provide all these inputs. Simply put, there are two ways in which augmented reality can be viewed: </p>
+
 
  <ol>
 
      <li><p><b>Augmented Reality Glasses: </b>all of the processing power and projecting technology is packed into the glasses. 3D augmentations are superimposed into the wearer’s direct line of sight (i.e. Google Glass).  </p></li>
 
      <li><p><b>Smartphones: </b>the user must view reality through the screen of their phone where the computer graphics are then applied. </p></li>
 
  </ol>
 
 
   <h2>Industry Usage</h2>
 
   <h2>Industry Usage</h2>
  
   <p>AR and VR technology has a wide variety of applications from both commercial and business standpoints and more possibilities are being explored constantly. The global AR market is expected to grow to $60.55 billion (USD) <ref>Markets and Markets. (July, 2017). Augmented Reality Market by Offering, Device Type, Application, and Geography. MarketsandMarkets Research Private Ltd. Retrieved on 13-February-2019 from: <i>[www.marketsandmarkets.com/Market-Reports/augmented-reality-market-82758548.html?gclid=EAIaIQobChMI_J60r6_Q4AIVCZ7ACh3BuQ4tEAAYASAAEgLvq_D_BwE. ]</i></ref> by 2023 and the VR market is expected to be $44.7 billion by 2024<ref> Markets and Markets. (January, 2019). Virtual Reality Market by Offering, Device Type, Application, and Geography. MarketsandMarkets Research Private Ltd. Retrieved on 13-February-2019 from: <i>[www.marketsandmarkets.com/Market-Reports/augmented-reality-market-82758548.html?gclid=EAIaIQobChMI_J60r6_Q4AIVCZ7ACh3BuQ4tEAAYASAAEgLvq_D_BwE. ]</i></ref> . Within the workplace, several companies are experimenting with virtual workstations. The Virtual Desktop app capable of being used on the Oculus Rift and HTC Vive is designed to provide users with a virtual Windows Desktop that can be physically interacted with in virtual reality. <ref>Heaney, David. (November 29th, 2018). Virtual Desktop (Mobile) Review: The Best Way to Access Your PC From Occulus Go. UploadVR. San Francisco, USA. Retrieved on 13-February-2019 from: <i>[https://uploadvr.com/virtual-desktop-oculus-go-review/ ]</i></ref> On the AR side, a company called Meta is testing the use of an interactive holographic workstation to replace desktop computers. Users can instead use a 3D environment to store, display, and interact with virtual objects and other documents. <ref> Wang, Selina. (July 18th, 2017). This Startup Wants to Replace Your Office With 3d Holograms. Bloomberg L.P. New York, USA. Retrieved on 11-February-2019 from: <i>[https://www.bloomberg.com/news/articles/2017-07-18/this-startup-wants-to-replace-your-office-with-3d-holograms ]</i></ref> </p>
+
   <p>Several Large organizations have remarked the benefits of containers within their development lifecycle. ADP is a large vendor of cloud-based human capital management solutions. The company has 630,000 clients with around 35 million users of their systems. They began using application containers to speed up their development lifecycle. As of April 2017, ADP had 469 Docker engines, with 3771 containers running on virtual machines (VM). Paypal is another major user of application containers. The company hosts the largest online payment systems in the world. They have over 210 million users, in 200 international markets, and handle close to $100 billion in transactions per quarter. Paypal used Docker to perform datacenter modernization. In 2016, they launched their first container in QA and production. Since their applications were now decoupled form the operating system they were running the company could now modernize their infrastructure without needed to update the application. With more modern and faster infrastructure they remarked a 10-20% increase in efficiency with no downtime. Paypal now has 700 applications migrated to Docker and has in production 45000 VM hosts with over 150,000 containers running on them. </p>
  <p>For general use, Google Translate running on a smartphone can be used in AR mode to translate speech and text. When using the camera on a smartphone the Google Translate application can process an image with text written in one language and translate it to another. Another sensory modality of AR is provided by Google in the form of natural language translation. A recent update has enabled all Google Assistant optimized headphones and Android phones with the ability to do live audio translations. <ref>Google. (2019). What are Google Pixel Buds?. Google. Retrieved 11-February-2019 from: <i>[https://support.google.com/googlepixelbuds/answer/7545575?hl=en&ref_topic=7544331 ]</i></ref> </p>
+
 
  <p>The process of prototyping is undergoing a major shift towards using AR and VR to explore and test new prototypes in a cost-effective way. The benefit of these technologies is that it allows all interested parties (engineers, assembly line workers, customers, management, marketers, safety regulators, etc.) of a project to come together and interact with a model before it goes into production. For example, the tech firm Finger Food created an AR solution for the truck manufacturer Paccar, which could be seamlessly integrated into their design workflow. <ref>Finger Food. (2019). Paccar: Fundamentally changing big industry with big technology. Finger Food Studios. Port Coquitlam, British Columbia. Retrieved 11-February-2019 from:  <i>[https://www.fingerfoodstudios.com/case-study/paccar/ ]</i></ref> It allows the user to view and interact with full scale models of trucks and to test various physics simulations on the models in real time. Another example is the global architecture firm IA (Interior Architecture) who is using InsiteVR to build models of their designs. <ref>InsiteVR. (2019). VR Meetings for Architecture, Engineering, and Construction. InsiteVR. 2019. Retrieved 13-February-2019 from: <i>[https://www.insitevr.com/ ]</i></ref> This also allows clients of the company to “tour” the designs and give input before designs are finalized. Ford is another company using VR technology to help its engineers when designing elements of their vehicles. Audi has taken this technology to the consumer allowing customers to view, configure, and customize certain elements of their vehicles. </p>
 
  <p>Education and training are also starting to change thanks to the adoption of AR and VR. Through VR, trainees can be immersed in a training environment where they can get hands-on practice without the possibility of real life mistakes. The aviation industry has been using simulation technologies for decades, but now with the relative ease of access to those technologies more sectors are adopting AR and VR for training purposes. For example, the forklift training company certify.me created a VR app for certifying new forklift operators where trainees are presented with a variety of virtual scenarios that demonstrate what to do and what not to do. <ref>CertifyMe.net (September, 2016) Virtual Reality Training: New Forklift Training Video in VR Certifyme.net. Retrieved 15-February-2019 from:  <i>[https://www.certifyme.net/virtual-reality-training/ ]</i></ref> NASA has a mixed reality space where astronauts in training are immersed in a VR simulation while also being in a 1:1 physical space where they can walk around and touch real objects presented to them in the VR environment. <ref>  Kolodny, Lora. (2017). Nasa is using a mixed reality space station to train astronauts. TechCrunch. Retrieved 15-February-2019 from: <i>[https://techcrunch.com/2017/03/26/nasa-is-using-a-mixed-reality-space-station-to-train-astronauts/ ]</i></ref> </p>
 
  <p class="inline">Repair and construction work have also been augmented. Recently, some AR solutions have been created to help workers make effective repairs. For example, Boeing engineers are now equipped with glasses that overlay instructions and the proper placement of wires over a physical object that is being repaired. <ref>Upskill. (2019) Upskill and Boeing: Reinventing aerospace manufacturing and supply chain management. Upskill. Retrieved 15-February-2019 from: <i>[https://upskill.io/landing/upskill-and-boeing/]</i></ref> The glasses are also equipped with a camera that lets a supervisor view the work being done and give live feedback. The adoption of AR has reduced production time for Boeing by 25% and lowered error rates to practically zero. The construction industry is also adopting a mixed reality approach for completing construction projects. A recent development is an augmented reality app for construction workers that super-imposes the 3D mockup of a construction project over the real environment being built. <ref>Lorek, Sarah. (January 30th, 2018) Mixed Reality in Construction Gets Real with Trimble’s Hololens Hard Hat. Constructible. Retrieved 13-February-2019 from: <i>[https://constructible.trimble.com/construction-industry/mixed-reality-in-construction-gets-real-with-trimble-hololens-hard-hat-video ]</i></ref> This has helped with accurately finishing projects with fewer interpretation errors, as opposed to the traditional method of comparing the worksite to a two dimensional architectural plan.</p> <p class="expand mw-collapsible-content"> Augmented reality is also well suited for the itemization of tasks, in the sense that all of the steps of a process or a task are neatly overlaid on a wearer’s field of view, until the item is completed properly. For example, AR has been used to help workers navigate large and complicated warehouse layouts to locate packages they need to find to complete an order. <ref>Porter, Michael, et al. (November-December 2017) A Manager’s guide to Augmented Reality. Harvard Business Publishing. Retrieved 11-February-2019 from: <i>[https://hbr.org/2017/11/a-managers-guide-to-augmented-reality ]</i></ref> </p>
 
  <p class="inline">AR and VR are providing marketers with novel spaces and new formats for creating campaigns. Many business have developed AR solutions that let consumers “test drive” products before they are purchased, like trying on clothes, glasses, and hairstyles. Ikea, for example created the Ikea Place app that lets users see how a virtual piece of furniture would look inside their home at full scale. <ref>  Dasey, Daniel. Try Before you Buy: Ikea Place Augmented Reality. Ikea. Retrieved 15-February-2019 from: <i>[https://highlights.ikea.com/2017/ikea-place/ ]</i></ref> There is also a shift towards making advertisements more interactive and immersive as they will leave a longer lasting impression on the audience, as opposed to traditional advertising efforts.</p><p class="expand mw-collapsible-content"> To promote the horror franchise “Saw” a VR mini-game was created where users needed solve a puzzle within an interactive room. <ref>D’Angleo, Matt. (December 5th, 2017). How Virtual Reality is Impacting the Ad Industry. Business.com. Retrieved 27-February-2019 from:  <i>[:  https://www.business.com/articles/virtual-reality-advertising-augmented/ ]</i></ref> Biometric data from that group was compared with a control group that only saw a trailer in VR, and it revealed that the VR room left a longer lasting impression. Within a VR environment, biometric data can be measured in real time which lets marketers know how effective a campaign really is. </p>
 
  <p>Entertainment is still one of the largest uses for AR and VR. The explosive and sustained popularity of Pokémon Go (a mobile game AR application with 147 million monthly users <ref>Philips, Tom. (June 27th, 2018). Pokemon Go Active Player Count Highest Since 2016 Summer Launch. EuroGamer. Retrieved 27-February-2019 from: <i>[https://www.eurogamer.net/articles/2018-06-27-pokemon-go-player-count-at-highest-since-2016-summer-launch ]</i></ref>) proves there is a large base of users who are open to using the technology. VR games come in all shapes and sizes and the market is projected to hit 22.9 billion by 2020 <ref>Statista. (2015). Virtual Reality video gaming sales revenue worldwide from 2015-2020. Statista. Retrieved 29-Fabruary-2019 from: <i>[https://www.statista.com/statistics/499714/global-virtual-reality-gaming-sales-revenue/ ]</i></ref>. VR as a medium is also being explored for the film industry and it is said to improve empathy and it can be used as a teaching tool. Even in the world of law, Bloomberg Law speculates that VR might be incorporated into the courtroom, so that evidence can be better understood in an immersive environment. <ref>Kaufman, Bruce. (November 16th, 2017). The Next Frontier for Virtual Reality: Courtrooms. Bloomberg  BNA. Retrieved 20-February-2019 from: <i>[https://www.bna.com/next-frontier-virtual-n73014472186/ ]</i></ref> </p>
 
  <p>Use cases have also been explored in the medical field. Since medical practitioners rely heavily on visual information, AR and VR is well placed to help them visualize tasks. One such creation is a handheld device developed by Accuvein that reads the heat signature of a patients veins and projects an AR map of the underlying vasculature onto their skin. <ref>AccuVein. (2015). AccuVein Vein Visualization: The Future of Healthcare is Here. AccuVein. Retrieved 18-February-2019 from: <i>[https://www.accuvein.com/why-accuvein/ar/ ]</i></ref> This has increased the likelihood of finding a vein on the first try by 3.5 times for those using the machine. A patient’s information can also be used to pre-plan surgeries in VR, their CT and MRI scans can be used to recreate a digital body that can be explored in detail in VR. <ref>mVR Division. Surgical Navigation Advanced Platform. Surgical Theater LLC. Los Angeles, California. Retrieved 18-February-2019 from:  <i>[https://www.surgicaltheater.net/plan-navigate/ ]</i></ref> Similarly, those same scans can be super-imposed onto the patient in real-time to guide doctors to the problem area before a surgery and have a better idea of what they are targeting under the patient’s skin.<ref>Microsoft Reporter. (February 8th, 2018). Surgeons use Microsoft HoloLens to see inside patients before they operate. Microsoft. Retrieved 20-February-2019 from: <i>[https://news.microsoft.com/en-gb/2018/02/08/surgeons-use-microsoft-hololens-to-see-inside-patients-before-they-operate-on-them/ ]</i></ref> </p>
 
 
   <h2>Canadian Government Use</h2>
 
   <h2>Canadian Government Use</h2>
   <p>The GC has invested $9.5 million in AR technology developed by Vancouver-based software company NGRAIN. <ref>Market Wired. (June 26th, 2013). Harper Government Supports Market-Leading Canadian SME. Yahoo Finance. Retrieved 22-February-2019 from: <i>[https://finance.yahoo.com/news/harper-government-supports-market-leading-180734827.html ]</i></ref> The software company has developed an interactive 3D AR platform for aerospace company Lockheed Martin. Lockheed Martin uses this interactive platform as a tool to perform maintenance on fighter jets like the F-35 and F-22. The company reports reduced maintenance time and less errors. The Canadian Military is also investing in VR, they have recently purchased a mixed reality simulation to train helicopter operators in the use of a hoist system.<ref>Burke, David. (April 10th, 2018) Fear makes virtual training lessons stick in Nova Scotia’s thriving VR industry. Canadian Broadcasting Corporation. Retrieved 20-February-2019 from: <i>[https://www.cbc.ca/news/canada/nova-scotia/virtual-reality-business-technology-nova-scotia-1.4609172 ]</i></ref>  This and other projects like it reduce the training costs associated with hands-on jobs, where no costly accidents can happen and learners are allowed to learn from their mistakes in a risk-free environment.</p>
+
   <p>There is a lack of documented Government of Canada (GC) initiatives and programs promoting the current and future use of application containerization and application container technology. As a GC strategic IT item, application containers is absent from both the GC’s Digital Operations Strategic Plan: 2018-2022 and the GC Strategic Plan for Information Management and Information Technology 2017 to 2021. This may be due to the fact that the SSC is currently grappling with consolidation and digital transformations in parallel to the implementation of Cloud Services. The majority of resources and efforts are occupied with implementation challenges, as well as security concerns related to the protection of the information of Canadians.</p>
  <p>The GC has also been investing in AR and VR as tools of education and entertainment. Through the Build in Canada Innovation Program, $482,000 was awarded to Motive.io to develop a location based AR experience that takes users through Ottawa’s cultural heritage. <ref>Public Services and Procurement Canada. (November 20th, 2017). Government of Canada supports BC augmented reality startup through Build in Canada Innovation Program. Published by Cision Canada. Government of Canada. Retrieved 22-February-2019 from: <i>[https://www.newswire.ca/news-releases/government-of-canada-supports-british-columbia-augmented-reality-startup-through-build-in-canada-innovation-program-658845663.html ]</i></ref> Although there is no substantial research yet to support the claim that immersive VR experiences increase empathetic responses, many projects are being developed with that goal in mind. The Social Sciences and Humanities Research Council (SSHRC) helped fund a VR Residential School that takes viewers into a world crafted by survivors and researchers, it’s hoped that the project will eventually be adopted as a teaching tool for high schools. <ref>University of Manitoba. (September 12th, 2018). Launch of a virtual reality Canadian Residential School. University of Manitoba. Winnipeg, Manitoba. Retrieved 20-February-2019 from:  <i>[http://news.umanitoba.ca/launch-of-a-virtual-reality-canadian-residential-school/ ]</i></ref> Even the Parliament of Canada has been turned into an interactive augmented virtuality environment, this time by partnering with Carleton University to create a virtual tour of the Senate where users can walk around the building and click on points of interest to learn of their historical significance.<ref>Senate of Canada. (March 1st, 2017). Senate Virtual Tour. Government of Canada. Retrieved  6-February-2019 from: http://tour-ext.sencanada.ca/tour/index.html  and <i>[https://sencanada.ca/en/sencaplus/how-why/the-senate-virtual-tour-your-digital-admission-to-the-red-chamber/ ]</i></ref> </p>
+
   <p>However, the inception of containers into the market has shown that large-scale organizations, who are involved in cloud-native application development as well as networking, can benefit greatly from the use of containers.<ref>CENGN. (2018). CENGN and CloudOps Collaborate to Train Industry on Docker and Kubernetes. <i>[https://www.cengn.ca/docker-kubernetes-training-jan18/]</i></ref> Although the infrastructure applications providing cloud services can be based solely on Virtual Machines (VMs), the maintenance costs associated with running different operating systems on individual VMs outweighs the benefit.<ref>Heron, P. (2018). Experimenting with containerised infrastructure for GOV.UK - Inside GOV.UK. [online] Insidegovuk.blog.gov.uk. Available at: <i>[https://insidegovuk.blog.gov.uk/2017/09/15/experimenting-with-containerised-infrastructure-for-gov-uk/]</i></ref> Containers and Containerization is a replacement and/or complimentary architecture for VMs. As the GC moves toward cloud services and development of cloud-native applications, the use of containers and orchestrating them with Kubernetes can become an integral part the GC IT architecture. </p>
   <p>The Canadian Military stands to benefit the most from the use of AR and VR technology, given their needs for logistics management, training solutions, and personnel management. At present, the military mainly uses those technologies for training purposes. Some simulations are entirely based in VR, and some have real physical equipment that can be “used” in a VR environment. Bluedrop, a performance learning and IT consulting and development firm, has designed both types of training programs, and one of their mixed reality simulations in particular integrates a real CH-47 Chinook helicopter fuselage into a virtual training program. <ref>Arellano, Nestor. (August 26th, 2019). VR, gaming technology and training the future soldier. Vanguard Canada. Retrieved 6-February-2019 from: <i>[https://vanguardcanada.com/2016/08/26/vr-gaming-technology-training-future-soldier/ ]</i></ref> The Canadian Armed Forces has more than 230 simulators in 125 locations across Canada, and not included in this count is the number of Navy and Airforce simulators<ref>Boutilier, Alex. (January 1st, 2015). Canadian Forces expand virtual reality training capabilities. Toronto Star Papers. Toronto, Ontario. Retrieved 8-February-2019 from: <i>[https://www.thestar.com/news/canada/2015/01/01/canadian_forces_expand_virtual_reality_training_capabilities.html  ]</i></ref>. Military therapists have also explored the use of VR to treat post-traumatic stress disorder in soldiers, as a way for them to safely explore the source of their trauma and move past it. <ref>Madigan, Jennifer. (December 19th, 2017). Virtual reality simulation and neurofeedback to help PTSD. Blueline, Annex Business Media. Toronto, Ontario. Retrieved 8-February-2019 from: <i>[https://www.blueline.ca/news/features/virtual-reality-simulation-and-neurofeedback-to-help-ptsd-5076 ]</i></ref> Through the Innovation for Defense Excellence and Security program, a few projects involving AR and VR have received funding from the Department of National Defense. Categories include cognitive performance enhancement, Resilient Non-GPS Based Positioning Navigation and Timing, and understanding and addressing PTSD.<ref>Department of National Defense. IDEas Recipients. Government of Canada.  Retrieved 8-February-2019 from: <i>[https://www.canada.ca/en/department-national-defence/programs/defence-ideas/past-opportunities/ideas-recipients.html ]</i></ref> </p>
 
 
   <h2>Implications for Government Agencies</h2>
 
   <h2>Implications for Government Agencies</h2>
 
   <h3>Shared Services Canada (SSC)</h3>
 
   <h3>Shared Services Canada (SSC)</h3>
  
 
   <h4>Value Proposition</h4>
 
   <h4>Value Proposition</h4>
   <p>SSC should consider the positive impacts that AR and VR can have on the Department. For the Department to benefit from AR and VR technologies, very specific projects and use cases may be considered before applications are developed. Projects should not be launched simply for the sake of innovation but because they fulfill business objectives and requirements. The Department could lead by example for other departments by adopting AR and VR solutions that have already been developed and promote those solutions.</p>
+
   <p>Application containers have a multitude of uses and SSC can benefit from such a flexible tool. Application containers especially shine if they are used for developing and testing new applications, since they can be easily deployed to create a safe testing environment (like a sandbox) for running code. Containers can be easily controlled from a container file, and can be scaled to fit any resource requirements. Since they are so easily customized, application containers are often used within the Services Oriented Architecture (SOA) software development framework to house microservices. An application developed under the SOA framework is usually made up of many small pieces (microservices) that communicate and work together.<ref>Abeywardhana, Sajith. (February 9th, 2019). SOA vs Microservices with Docker and Kubernetes-1. Medium. Retrieved 18-July-2019 <i>[https://medium.com/@sajithswa/soa-vs-microservices-with-docker-and-kubernetes-1-291686200a0f ]</i></ref> Should SSC adopt this or other similar software development models (like Microservices Architecture), application containers will be a necessary development tool. </p>
  <p>The Government of Canada (GC) can provide better services to citizens and other departments through the use of AR and VR technology. The government can provide a clearer vision of its planning and documentation. For architectural projects, for example, virtual tours of proposed sites and renovations can be given to citizens and other stakeholders. The same concept can also be used in courtrooms to help explain evidence in a convincing and immersive way. Policy and documentation can now become more interactive in the world of AR and VR technology. </p>
+
   <p class="inline">Containers can facilitate easier and more efficient deployment of applications. There is the potential for increased efficiencies since containers create a smaller footprint from a memory perspective on a physical host. Since multiple containers can be created for a single application (like in SOA), in practical terms this means that version control is simplified. Instead of patching an application’s code, a container housing a small portion of the application can be easily pulled out and updated without disrupting the rest of the application.</p>
  <p>Additionally, AR and VR technology can accommodate the accessibility needs of GC employees and citizens interacting with the GC. AR and VR are part of a suite of technologies known as Adaptive Computer Technology (ACT), which aids in providing assistance to those with sensory, mobility, dexterity and learning disabilities who work on or communicate through computers. AR and VR can reduce the barriers presented by the standard computer interface and can offer new and adaptive ways for GC employees and citizens to interact with GC information and data. <ref>Shared Services Canada. (April 3rd, 2019). Accessibility, Accommodation and Adaptive Computer Technology (AAACT). Government of Canada. Aaact-aatia@ssc-spc.gc.ca. (819) 994-4835. Retrieved 03- May-2019 from: <i>[https://www.canada.ca/en/shared-services/corporate/aaact-program.html ]</i></ref> </p>
+
  <p class="expand mw-collapsible-content">If an orchestration tool is used to manage all of an applications containers, there is less opportunity for disruption since the orchestrator can monitor the “health” of all of its containers.<ref>Wagner, Bill, et al. (June 1st, 2019). Health Monitoring - .NET Microservices: Architecture for Containerized .NET Applications. Microsoft Developer Division. Redmon, Washington. Retrieved 19-July-2019. <i>[https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/implement-resilient-applications/monitor-app-health ]</i></ref> If the orchestrator determines that a container is malfunctioning, it can shut it down automatically and launch other containers to pick up where it left off. </p>
   <p class="expand mw-collapsible">The use of AR and VR technology can also aid and support public safety and emergency services. For example, if emergency vehicles are fitted with AR Head-Up windshield displays this could help with route navigation, allowing responders to find the quickest route and obtain traffic information in real-time. Location based AR technology could also allow first responders to gain insight on dangers and hazardous conditions around them. Through the Innovative Solutions Canada program, a current challenge open to the public is the creation of a heads up and hands free solution for supporting firefighters in the field. <ref> Innovation, Science and Economic Development Canada. (2018). Head Up Hands Free Firefighting. Government of Canada. Retrieved 8-February-2019 from: <i>[http://www.ic.gc.ca/eic/site/101.nsf/eng/00056.html]</i></ref> </p>
+
  <p class="inline">In addition containers are portable, meaning that they will run whatever program they contain in the exact same way every time it is launched, and wherever it is launched. In other words applications will run consistently in a standardized environment, even if the container is launched from the cloud or from a physical server. This practically eliminates the need to do lengthy custom installations on every single machine in a network, an application can simply be run from a container. Portability will also help with running legacy applications, in the sense that if an older app needs a specific environment for it to run (for example, older versions of Java or Python), that environment can be recreated in a container.</p>
  <p>In general, AR and VR technologies are well suited for tasks that rely heavily on visual elements. The industry is not yet mature (see Appendix A) so not all potential use cases have been explored, or even discovered. At present, AR business use cases include the itemization of tasks, remote work support (a supervisor can see and comment on what a worker is doing if a HDM has a camera), performance dashboards for Internet of Things (IoT) enabled devices, guiding precision manual labor (i.e. repair, assembly, construction), prototyping, and for overlaying medical information on a patient.</p>
+
   <p class="expand mw-collapsible-content">However, there are some limitations still present, containers from one platform (like Docker) can’t be run on another platform (like Linux Containers) and there are also backwards compatibility issues, containers designed for the newest version of a platform may not work on older versions.<ref>Tozzi, Chris. (2017). The pros and cos of container platforms for portability. Search Microservices. Retrieved 22-July-2019 <i>[https://searchmicroservices.techtarget.com/tip/The-pros-and-cons-of-container-platforms-for-portability ]</i></ref></p>
   <p>Similarly, not all use cases have been uncovered for VR but there are many existing business solutions. A strength of VR is that it lends itself well for immersive experiences since the entire field of view is replaced with a virtual world. Video games and 360̊ videos are very popular for consumer use and can be easily transformed for business use. Mixed reality practice simulations are being adopted to replace high-risk training scenarios since there is less risk of injury and equipment damage. Undergoing training in VR helps learners retain information since they are being completely immersed into a practice scenario where they can physically interact with virtual objects (as opposed to learning in a classroom). Prototyping and virtual tours can also be done in VR</p>
 
  <p>As a communications service provider, SSC is well suited to become a provider of AR and VR equipment for other partnered departments. The Department could also lead the development of AR and VR solutions on an on demand basis for other departments.</p>
 
 
   <h4>Challenges</h4>
 
   <h4>Challenges</h4>
   <p>Prolonged use of AR and VR gear has not been extensively studied, and there could be unknown risks that have yet to be uncovered, such as health risks to employees etc. The use of AR and VR in the form of wearable technology in the workplace could also provide further challenges. Although the technology can increase connectivity among employees and simplicity of user interfaces, AR and VR technology could also cause employees to lose focus on the task at hand when working using the AR and VR technology. This challenge could be expected to diminish as AR and VR technologies become more commonplace.</p>
+
   <p>There are four major challenges with the adoption of application containers:</p>
   <p>AR and VR technologies are great for the immersion factor, however being disconnected from the physical world while still being physically present within it can make users “blind” to the environment around them. According to a study from Purdue University done in Tippecanoe County (US), the popular AR game Pokemon Go has been linked to two deaths and has caused an increase in car accidents near “PokeStops” (real world locations with in-game components) since users are playing the game while driving or walking. <ref>Sharwood, Simon. (November 27th, 2019). Pokemon Go Caused Hundreds of Deaths, Increased Crashes. The Register. International. Retrieved 27-February-2019 from: <i>[https://www.theregister.co.uk/2017/11/27/pokemon_go_caused_car_accidents_and_deaths/ ]</i></ref> There is also anecdotal evidence of VR headset wearers forgetting their surroundings and tripping over physical objects within a room, falling out of chairs, and even hitting other people around them. Developers will need to consider elements of special awareness when designing solutions and how liability laws may affect them. </p>
+
   <p><b>Staff education and training </b>-- The proper utilization of containers requires a whole new skill set. It also requires IT teams to be familiar with the container platform and container orchestration tools they will be using. In addition, IT teams may need to learn new design standards (like SOA) to reap the full benefit of application containers.</p>
   <p>Another issue for AR and VR is that of interoperability between devices. For mobile devices, there are a number of platforms from which to access VR applications but not all platforms are available on all devices. iPhone and Android users are limited by what they are able to download from their respective application stores. AR headsets are not limited by their hardware like smartphones, but applications must live within a platform for them to function and there are many platforms to choose from on the market. An AR platform in this context is similar to an operating system for the headset, where developers can create solutions that run on the platform. </p>
+
  <p><b>Choosing the proper container platform and orchestration program</b>-- This is a crucial decision which will depend on the needs of the department. Depending on the Operating System in which the containers will operate, there will be different tools available. Although the GC is looking to adopt open source tools, there is no shortage of options, each with their own pros and cons. </p>
   <p>Lastly, standard AR and VR solutions may not be suited for those with sensory, mobility, dexterity, and learning disabilities. Individuals who may benefit from ACT would need to be properly assessed and outfitted with tools and technology that appropriately addresses their unique needs. A standard off-the-shelf corporate AR and VR solution may improve the ease of work and productivity of able-bodied employees, but it may not adequately address the needs of those requiring sensory, mobility, or learning aids. The AR or VR solution may require adaptation and modification to fit each end user, which will require additional resources and expertise in resolving.</p>
+
   <p><b>Re-designing applications </b>– Legacy applications developed under a monolithic model may not always be suitable for containers. Containers may run into trouble when developers attempt to update a single feature of the older application, but this holds true for monolithic applications in general. Monolithic applications can instead be broken into smaller pieces and container-ized, so they can continue to operate on newer systems.</p>
 
+
   <p><b>Security</b>-- Security is crucial since the containers can be based on a combination of cloud and local networks. The key factor for security is designing a solution that grants its users freedom and speed but is not vulnerable to data breaches. </p>
 
   <h4>Considerations</h4>
 
   <h4>Considerations</h4>
    <p>In the realm of AR and VR technology, the question of data ownership will be a very important issue to consider, given that data created from the use of AR and VR (user profiles, biometric data, sentiment response, eye tracking, etc.) presents a number of privacy and security concerns. If applications are created by outside companies, there is the potential for information to be collected by those providers and SSC will need to be very clear about who can access that information and for what purposes. Clarification will also be needed as to whether or not SSC can collect that data in the first place, SSC may need to anonymize all AR / VR data or simply not collect it. Moving forward, SSC has the potential to use AR and VR solutions but the Department needs to carefully look at the business problem that needs to be solved and if the technology is an appropriate choice to solve that problem.</p>
+
  <p>In general, containers still have their own limitations (just like any technology) and should not be adopted for the sake of innovation. Application containers come with their own unique requirements and challenges, like building skill sets and choosing the right software suites. If SSC were to move in a direction where application containers are a necessity, then overcoming those challenges and related costs will be a worthwhile investment.</p>
    <p>The adoption of AR and VR systems present several challenges. Due to the current lack of low-cost hardware capable of running AR based applications, most AR solutions are designed as mobile apps. This is because a mobile device can track all the necessary information for a properly function application, but it comes with computational limitations since it is all contained within a small device. Location-based AR applications are currently the only type of AR application available for use on mobile phones. This is because Recognition-based and SLAM technology is much too computationally intensive for a smartphone. Since Location-based software requires only GPS it is a viable approach. As the need for more complex AR and VR applications grows so will the computational demands. Smartphones alone will not be able to handle these new complex demands. SSC will need to carefully consider project goals when deciding on whether the Department should create a VR or AR application, and on what kind of hardware it should run onScalability is another consideration for SSC, that is, the ability to grow a project’s infrastructure and capabilities to let more people use it at the same time. A project’s eventual growth in terms of scalability and deployment will need to be considered right at the start its development.</p>
+
  <p>In terms of security, applications running within a container should not be assumed to be secure. Security should be a consideration throughout the entire lifecycle of an application and containers should be no exceptionIf SSC were to adopt application containers, different security processes would need to be developed to handle the new technology.</p>
    <p>SSC should consider working through its Accessibility, Accommodation and Adaptive Computer Technology (AAACT) team to pilot AR and VR solutions to those with sensory, mobility, and learning needs. <ref>Shared Services Canada. (April 3rd, 2019). Accessibility, Accommodation and Adaptive Computer Technology (AAACT). Government of Canada. Aaact-aatia@ssc-spc.gc.ca. (819) 994-4835. Retrieved 03- May-2019 from: <i>[https://www.canada.ca/en/shared-services/corporate/aaact-program.html]</i></ref> SSC could engage with employees who have requested assistance from AAACT and collaborate with them to test various technologies in order to assess whether or not they reduce the barriers to work for those with impairments.</p>
+
  <p class="expand mw-collapsible-content">In the case that SSC develops applications under the SOA framework or others like it, there will need to be a shift in how these applications are monitored. Rather than monitoring the machines on which they are operating, the containers themselves would need to be monitored for performance. Key Performance Indicators (KPIs) would need to be collected from the orchestration tool that controls an application’s containers.</p>
    <p>Given that the AR and VR markets are not yet mature and that more advancements are projected, SSC senior management should proceed with caution as it relates to the procurement of AR and VR. Additionally, caution is advised regarding the hype surrounding the promises of immersive technologies. What is depicted in popular films such as “Ready Player One” has already inflated the expectations of consumers and does not accurately reflect the business reality and utility of AR and VR today.</p>
+
  <p class="expand mw-collapsible-content">As a tool, application containers present many potential benefits to SSC if they are to be properly managed and integrated into the workplace.</p>
    <p>Given that these technologies generate a lot of data while they are being used, as the IT infrastructure provider for the GC, SSC should ensure that it is well equipped to handle the additional bandwidth usage of large scale deployments. </p>
 
    <p>Since AR and VR are technologies that are still being refined, SSC will need to make investment/procurement decisions within a relatively short timeframe. Depending on the project scope, availability of funds, and availability of personnel the Department will need to consider how it will develop AR and VR solutions. These solutions will require specialized knowledge which is highly sought after in the tech world and hiring personnel could be a competitive endeavor. Taking this into account, having an in-house team for creating AR and VR applications may not be feasible unless there is a lot of demand from other departments. The Department at this time should consider contracting in the short term (the next 5-10 years), since the talent pool, technologies, and business use cases are not at an adequate level of maturity. </p>
 
  
 
   <h2>References</h2>
 
   <h2>References</h2>
 
+
<ref>6 Best Practices for Creating a Container Platform Strategy. (n.d.). Retrieved from <i>[https://www.gartner.com/smarterwithgartner/6-best-practices-for-creating-a-container-platform-strategy/.]</i></ref>
 +
<ref>Harvey, C., Proch, D., Davis, J., Froehlich, A., MacVittie, L., Wallace, B., … Windels, J. (2019, January 10). 5 Container Deployment Challenges. Retrieved from <i>[https://www.networkcomputing.com/data-centers/5-container-deployment-challenges/1532194322.]</i></ref>
 +
<ref>Rouse, M., McKenzie, C., Rouse, M., & Rouse, M. (n.d.). What is application containerization (app containerization)? - Definition from WhatIs.com. Retrieved from <i>[https://searchitoperations.techtarget.com/definition/application-containerization-app-containerization.]</i></ref>
 +
<ref>Run Kubernetes Everywhere. (n.d.). Retrieved from <i>[https://rancher.com/]</i></ref>
 +
<ref>Team, S.-S., & Written by Shadow-Soft Team View more posts written by this author ». (2018, February 8). 3 Open Source Container Management Tools (Comparison & Review). Retrieved from<i>[https://shadow-soft.com/open-source-container-management-tools/]</i></ref>
 +
<ref>Who's Using Docker? (2017, August 16). Retrieved from <i>[https://www.contino.io/insights/whos-using-docker]</i></ref>
 
</div>
 
</div>
  
Line 125: Line 111:
  
 
   #firstHeading::after{
 
   #firstHeading::after{
   content:"Blockchain";
+
   content:"Application Containers";
 
   }
 
   }
  

Latest revision as of 13:59, 20 February 2020


Status Published
Initial release May 23, 2019
Latest version February 20, 2020
Official publication Application Containers.pdf
Traffic cone.png This page is a work in progress. We welcome your feedback. Please use the discussion page for suggestions and comments. When the page is approved and finalized, we will send it for translation.

Application Containers are a form of OS-Virtualization in which distributed applications are run on a single virtual machine or physical host rather than one for each application

Hide Detailed View


Business Brief

A single host OS can support multiple containers. Containers can be used on multiple systems including cloud instances and virtual machines, as well as across different OS such as Linux, Microsoft, and MAC OS. Application containers have huge benefits with their ability to be deployed in cloud environments. The main advantage to containers is their architecture. Because applications can now be placed on different virtual and physical machines this offers greater availability of those applications. These machines can be within a cloud or not. They offer high flexibility with regard to workload management and allow the developer to make vault-tolerant systems.

Application containers transition data centres from being machine-oriented to application-oriented. Containers encapsulate the application environment, abstracting details from the machine, operating system, the application developer, and deployment infrastructure. Because well-designed containers and container images are scoped to a single application, managing containers means managing applications rather than machines. This shift with management application programming interfaces (API) from machine-oriented to application-oriented dramatically improves application deployment.

Technology Brief

It is useful to look at the concept of containers as images when trying to understand how containers work. Images can be stacked hierarchically. Applications can be attached to this hierarchy and each node of the tree allows the user to share images among applications. This allows for the configuration of binary states, meaning that you do not have to shift around the entire application’s stack in single files. The relationship between images and containers is analogous to that of a class and object. In object oriented programming an object is an instance of a class. For example, an apple would be an object of class fruit. The class defines the data stored about the object and what functions can be performed on it. With application containers, the image, like a class, provides the blueprint to the container. The container is like an instance or object of this class.

Another advantage of this is when a vulnerability is discovered within a particular node, the hierarchical tree allows the user to verify all other nodes that are impacted by this vulnerability. In order to create images, it is important to look at an example. Docker is a container engine. Docker uses a Docker file to create images. Containers are used to isolate processes within the OS.

Application containers can be thought of as a form of virtualization similar to Virtual Machines (VM). However instead of virtualizing the entire stack, containers virtualize at an operating system level.[1] Because of this they are extremely lightweight, enabling them to use only a fraction of the memory and processing as only a single OS Kernel is needed to host multiple containers.

Application containers facilitate a service oriented architecture (SOA). In an SOA the application is decomposed in into several services. With containers, individual services can be launched as different containers. With clustering this enables the ability to scale up a solution. The proper orchestration tools are required to properly enable scaling. Container orchestration tools manage the lifecycle of containers, a software development team will use them to provision and deploy containers, check redundancy and availability, and to move a container from one host to another.

Monolithic applications can also be deployed as containers. As a monolithic container is essentially a single–tiered application a single instance will be deployed as a single container. This differs from the microservice and SOA approach as a container will represent a single service of that application. With containers, in order to scale up a monolithic application multiple instances of the application and thus several containers need to be deployed. When using Docker, updates to the application can be deployed as docker images which is faster and network efficient. Also since containers can be spun up faster, creating new application instances a quicker process.

Two major vendors of application container technology are Docker and CoreOS. Docker was introduced first, and as a result is used more widely in the industry. Application containers are of most benefit to large companies. It has been four years since Docker’s initial foray into the market, and a survey conducted by Datadog in 2016 revealed that adoption of Docker had increased 30%+ over the previous year. What is important to note about this statistic is that these companies are using the software in production rather than development, which suggests that companies are using containers as a long-term approach and not simply on a trial basis

Docker can be characterized as the container management engine which creates the containers. There are also several management platforms that give users a number of different tools to manage their containers. Three of these tools are OpenShift, Kubernetes, and Rancher.

OpenShift uses Docker and Kubernetes as its underlying engine to manage the containers. The software integrates with Kubernetes to enable the automation of functions such as scaling, health management, and deployment. Kubernetes, which was created by Google, is a well-designed orchestration tool used in the management of containers. It offers the client a high level API that allows the user to logically group containers as well as load balancing and container pools. Rancher is a container management tool built on top of the Kubernetes container engine platform.

Industry Usage

Several Large organizations have remarked the benefits of containers within their development lifecycle. ADP is a large vendor of cloud-based human capital management solutions. The company has 630,000 clients with around 35 million users of their systems. They began using application containers to speed up their development lifecycle. As of April 2017, ADP had 469 Docker engines, with 3771 containers running on virtual machines (VM). Paypal is another major user of application containers. The company hosts the largest online payment systems in the world. They have over 210 million users, in 200 international markets, and handle close to $100 billion in transactions per quarter. Paypal used Docker to perform datacenter modernization. In 2016, they launched their first container in QA and production. Since their applications were now decoupled form the operating system they were running the company could now modernize their infrastructure without needed to update the application. With more modern and faster infrastructure they remarked a 10-20% increase in efficiency with no downtime. Paypal now has 700 applications migrated to Docker and has in production 45000 VM hosts with over 150,000 containers running on them.

Canadian Government Use

There is a lack of documented Government of Canada (GC) initiatives and programs promoting the current and future use of application containerization and application container technology. As a GC strategic IT item, application containers is absent from both the GC’s Digital Operations Strategic Plan: 2018-2022 and the GC Strategic Plan for Information Management and Information Technology 2017 to 2021. This may be due to the fact that the SSC is currently grappling with consolidation and digital transformations in parallel to the implementation of Cloud Services. The majority of resources and efforts are occupied with implementation challenges, as well as security concerns related to the protection of the information of Canadians.

However, the inception of containers into the market has shown that large-scale organizations, who are involved in cloud-native application development as well as networking, can benefit greatly from the use of containers.[2] Although the infrastructure applications providing cloud services can be based solely on Virtual Machines (VMs), the maintenance costs associated with running different operating systems on individual VMs outweighs the benefit.[3] Containers and Containerization is a replacement and/or complimentary architecture for VMs. As the GC moves toward cloud services and development of cloud-native applications, the use of containers and orchestrating them with Kubernetes can become an integral part the GC IT architecture.

Implications for Government Agencies

Shared Services Canada (SSC)

Value Proposition

Application containers have a multitude of uses and SSC can benefit from such a flexible tool. Application containers especially shine if they are used for developing and testing new applications, since they can be easily deployed to create a safe testing environment (like a sandbox) for running code. Containers can be easily controlled from a container file, and can be scaled to fit any resource requirements. Since they are so easily customized, application containers are often used within the Services Oriented Architecture (SOA) software development framework to house microservices. An application developed under the SOA framework is usually made up of many small pieces (microservices) that communicate and work together.[4] Should SSC adopt this or other similar software development models (like Microservices Architecture), application containers will be a necessary development tool.

Containers can facilitate easier and more efficient deployment of applications. There is the potential for increased efficiencies since containers create a smaller footprint from a memory perspective on a physical host. Since multiple containers can be created for a single application (like in SOA), in practical terms this means that version control is simplified. Instead of patching an application’s code, a container housing a small portion of the application can be easily pulled out and updated without disrupting the rest of the application.

If an orchestration tool is used to manage all of an applications containers, there is less opportunity for disruption since the orchestrator can monitor the “health” of all of its containers.[5] If the orchestrator determines that a container is malfunctioning, it can shut it down automatically and launch other containers to pick up where it left off.

In addition containers are portable, meaning that they will run whatever program they contain in the exact same way every time it is launched, and wherever it is launched. In other words applications will run consistently in a standardized environment, even if the container is launched from the cloud or from a physical server. This practically eliminates the need to do lengthy custom installations on every single machine in a network, an application can simply be run from a container. Portability will also help with running legacy applications, in the sense that if an older app needs a specific environment for it to run (for example, older versions of Java or Python), that environment can be recreated in a container.

However, there are some limitations still present, containers from one platform (like Docker) can’t be run on another platform (like Linux Containers) and there are also backwards compatibility issues, containers designed for the newest version of a platform may not work on older versions.[6]

Challenges

There are four major challenges with the adoption of application containers:

Staff education and training -- The proper utilization of containers requires a whole new skill set. It also requires IT teams to be familiar with the container platform and container orchestration tools they will be using. In addition, IT teams may need to learn new design standards (like SOA) to reap the full benefit of application containers.

Choosing the proper container platform and orchestration program-- This is a crucial decision which will depend on the needs of the department. Depending on the Operating System in which the containers will operate, there will be different tools available. Although the GC is looking to adopt open source tools, there is no shortage of options, each with their own pros and cons.

Re-designing applications – Legacy applications developed under a monolithic model may not always be suitable for containers. Containers may run into trouble when developers attempt to update a single feature of the older application, but this holds true for monolithic applications in general. Monolithic applications can instead be broken into smaller pieces and container-ized, so they can continue to operate on newer systems.

Security-- Security is crucial since the containers can be based on a combination of cloud and local networks. The key factor for security is designing a solution that grants its users freedom and speed but is not vulnerable to data breaches.

Considerations

In general, containers still have their own limitations (just like any technology) and should not be adopted for the sake of innovation. Application containers come with their own unique requirements and challenges, like building skill sets and choosing the right software suites. If SSC were to move in a direction where application containers are a necessity, then overcoming those challenges and related costs will be a worthwhile investment.

In terms of security, applications running within a container should not be assumed to be secure. Security should be a consideration throughout the entire lifecycle of an application and containers should be no exception. If SSC were to adopt application containers, different security processes would need to be developed to handle the new technology.

In the case that SSC develops applications under the SOA framework or others like it, there will need to be a shift in how these applications are monitored. Rather than monitoring the machines on which they are operating, the containers themselves would need to be monitored for performance. Key Performance Indicators (KPIs) would need to be collected from the orchestration tool that controls an application’s containers.

As a tool, application containers present many potential benefits to SSC if they are to be properly managed and integrated into the workplace.

References

[7] [8] [9] [10] [11] [12]


  1. What are Containers and their benefits | Google Cloud. (n.d.). Retrieved from [1]
  2. CENGN. (2018). CENGN and CloudOps Collaborate to Train Industry on Docker and Kubernetes. [2]
  3. Heron, P. (2018). Experimenting with containerised infrastructure for GOV.UK - Inside GOV.UK. [online] Insidegovuk.blog.gov.uk. Available at: [3]
  4. Abeywardhana, Sajith. (February 9th, 2019). SOA vs Microservices with Docker and Kubernetes-1. Medium. Retrieved 18-July-2019 [4]
  5. Wagner, Bill, et al. (June 1st, 2019). Health Monitoring - .NET Microservices: Architecture for Containerized .NET Applications. Microsoft Developer Division. Redmon, Washington. Retrieved 19-July-2019. [5]
  6. Tozzi, Chris. (2017). The pros and cos of container platforms for portability. Search Microservices. Retrieved 22-July-2019 [6]
  7. 6 Best Practices for Creating a Container Platform Strategy. (n.d.). Retrieved from [7]
  8. Harvey, C., Proch, D., Davis, J., Froehlich, A., MacVittie, L., Wallace, B., … Windels, J. (2019, January 10). 5 Container Deployment Challenges. Retrieved from [8]
  9. Rouse, M., McKenzie, C., Rouse, M., & Rouse, M. (n.d.). What is application containerization (app containerization)? - Definition from WhatIs.com. Retrieved from [9]
  10. Run Kubernetes Everywhere. (n.d.). Retrieved from [10]
  11. Team, S.-S., & Written by Shadow-Soft Team View more posts written by this author ». (2018, February 8). 3 Open Source Container Management Tools (Comparison & Review). Retrieved from[11]
  12. Who's Using Docker? (2017, August 16). Retrieved from [12]