TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on...

16
TechRadar September 2017

Transcript of TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on...

Page 1: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

TechRadarSeptember 2017

Page 2: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

IntroAs Piksel’s work developing cutting edge solutions and products for our clients continues, the tools and techniques we deploy to achieve them continue to evolve. The Piksel TechRadar takes the diverse knowledge of our more than 550 technology experts and coalesces them into a single document, enabling us to share our combined insight, assessments and knowledge with you. We hope you find it useful and informative.

Mark Christie

Chief Technology Officer

Piksel

Mark Christie is responsible for Piksel’s client solutions, including product strategy, innovation, and management, solution deployment, research and development, and global network infrastructure.

Page 3: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

© Piksel. All Rights Reserved. 3

ContentsWhat’s New?

About

Sections

About The Radar

The Radar

Techniques

Tools

Platforms

Languages

Media

4

5

6

7

8

10

11

13

14

15

Page 4: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

TechRadar | September 20174

AboutWe at Piksel have long admired ThoughtWorks’ leadership to the tech industry with their Technology Radar, a document that is used to inform various sectors of emerging trends, newly established standards, things to look out for and approaches that have had their time in the sun. Piksel feels that the online video industry would benefit from such leadership, obviously focussed more narrowly at our collective concerns, be they as solution providers or customers.

This document aims to set the leading approach for where Piksel projects and products move to in the near and long term, enabling closer alignment of our product, professional and managed services divisions. The TechRadar aims maintain and enahnce collaboration between Piksel and our customers on a strategic technical direction, by focussing on underlying technology choices and their strategic importance and benefits, rather than on individual product or service roadmaps.

As part of Piksel’s core series of philosophies and principles, we embrace continuous improvement, so the maintenance and evolution of this Radar will be an ongoing responsibility, with a point in time release on a bi-annual basis.

Some of the items we mention in the following pages will be factored into future R&D efforts and product visions, while others can bring efficiencies and improvements in how we might deliver to our customers or how they might deliver within their own environments.

As a business Piksel values input and collaboration from our employees, our customers and the wider industry, so if you feel that there are things missing that we should be looking at please get in touch.

Page 5: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

© Piksel. All Rights Reserved. 5

About the RadarEntries into the TechRadar aim to provide focus and be forward looking, describing solutions or emerging technologies and how they may benefit Piksel’s products, services or customers.

Our Solutions and Technical Architects are continually working to identify the tools and technologies we should be focussing on and investigating, and how and why they can be positive for our clients and partners.

Adopt

This item should be utiised across current and future projects if applicable

Trial

We should be trialling this item on a candidate, project or service

Assess

We should be carrying out R&D efforts on this item

Hold

We should keep an eye on this item but not do anything with it at this time

Page 6: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

TechRadar | September 20176

1

2 8

93

6

4

7

5 10

The Radar

TechniquesAdopt1. Mocking at

Architectural Boundaries

Trial2. Continual

Improvement / Scrumban

Assess3. Scaled Agile

Framework (SAFe)4. Legacy in a Box

Hold5. Separate DevOps

team

ToolsAdopt

6. Grafana7. Terraform

Trial8. LetsEncrypt

Assess9. Yarn

Hold10. CMS as a Platform

PlatformsAdopt11. Apache Cordova12. Docker13. Severless / FaaS

Trial14. OpenTracing15. Serverless

Framework

Adopt

Trial

Assess

Hold

Page 7: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

© Piksel. All Rights Reserved. 7

11

20

24

21 2616

14

18

25

22 27

12

17

15

19

23 28

13

Assess16. Xamarin17. Kafka Streams

LanguagesAdopt18. Angular19. Redux

Trial20. Dropwizrd / Spring-

Boot

Assess21. RxJava

Hold22. Java 5-6-723. MobX

Media

Adopt24. Multi-DRM Playback

Trial25. Amazon Fire TV

Assess26. HEVC / .h265

Hold27. VP6

Page 8: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

TechRadar | September 20178

Sections

By focussing on trending tools, technologies and frameworks across product, professional services, managed services and all innovation work we ensure that Piksel are globally aligned where it makes sense.

This can be further summarised with the following goals: - Formulate and test best practices prior to them becoming published - Take a truly globalised approach - Consolidate the R&D information across the company and encourage collaboration and re-use without being process heavy

AdoptThis item should be utiised across current and future projects if applicable

TrialWe should be trialling this item on a candidate, project or service

AssessWe should be carrying out R&D efforts on this item

HoldWe should keep an eye on this item but not do anything with it at this time

Piksel’s TechRadar provides thoughts on trending tools, technologies and frameworks that Piksel uses today, are considering for tomorrow and are trending in the media industry.

Page 9: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

© Piksel. All Rights Reserved. 9

Mocking at Architectural Boundaries

Over-mocking causes serious unit test complexities, under-mocking means test execution can be slow and fragile. We should mock at architectural boundaries and now within these boundaries.

Continual Improvement / Scrumban

Scrumban is a pull-based system, where the team no longer plans out the work that is committed to during the planning meeting, and instead continually grooms the backlog.

Scaled Agile Framework (SAFe)

SAFe attempts to scale up Agile to address the issues faced in typical enterprise scale projects. Many of our current projects are long running and involve multiples teams from multiple vendors. SCRUM does not address a lot of the issues this introduces and we should therefore investigate some alternate approaches.

Legacy in a Box

Although extending the lifespan of legacy application should be avoided if possible, it is not always possible (e.g. customer applications); the intention is to contain the legacy in a box for developers to run locally and remove the need for rebuilding, reconfiguring or sharing environments. In an ideal scenario, teams that own legacy systems generate the corresponding boxed legacy images through their build pipelines, and developers can then run and orchestrate these images in their allocated sandbox more reliably.

Separate DevOps team

DevOps is about creating a culture of shared responsibility in delivery teams. We recommend embedding operations skills into delivery teams to reduce friction and deliver better outcomes.

TechniquesAdopt

Trial

Assess

Hold

Page 10: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

TechRadar | September 201710

Grafana

Grafana has become our default choice for visualising metrics. Its feature set - in particular its templating and variable substitution - is impressive, its development continues rapidly, and it is a low-hassle tool with minimal management effort.

Terraform

Terraform provides a common configuration to manage infrastructure - from physical and virtual ervers to email and DNS providers. It is highly modular and, supports many providers. Although not without its warts, Terraform is in successful use across many teams, mostly managing AWS-hosted platforms.

LetsEncrypt

Now out of private beta, LetsEncrypt is an automated, free, and open certificate authority. Although we’d recommend only using its certificates in non-production environments for now, hat’s likely to change in the future.

Yarn

Yarn is a new package manager that replaces the existing workflow for the npm client while remaining compatible with the npm registry. With the npm client, we may end up with a different tree structure under node_modules based on the order that dependencies are installed. This nondeterministic nature can cause ‘works on my machine’ problems. By breaking the installation steps into resolution, fetching and linking, Yarn avoids these issues using determinstric algorithms and lockfiles and thus guarantees repeatable installations. We’ve also seen significantly faster builds in our continuous integration (CI) environment because of Yarn caching all the packages it downloads.

ToolsAdopt

Trial

Assess

Page 11: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

© Piksel. All Rights Reserved. 11

CMS as a Platform

Content Management Systems have their place. In many cases it is unreasonable to write editing and workflow functionality from scratch. However, we have experienced serious problems when CMS as a platform becomes an IT solution that grows beyond managing simple content.

ToolsHold

Page 12: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

TechRadar | September 201712

PlatformsApache Cordova

Apache Cordova is a set of device APIs that allow mobile app developers to access native device functions such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS or JavaScript. Cordova has been used across a number of projects and is also used in product for Digital Enterprise.

Docker

Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by all mainstream container scheduling platforms.

Serverless / FaaS

Serverless (a.k.a. Function as a Service, although Serverless has become the standard term) has been gaining significant traction for some time and their use is extending beyond ad-hoc jobs and scheduled tasks. Platforms such as Lambda and Azure Functions are rapidly maturing, and Lamba Step Functions gives teams the ability to build workflows between functions simply. Lambda is being used across many projects, including Channel 4, Sequoia , Discovery, The White Company and others. There are however, still some ‘gotchas’ to be aware of, so don’t adopt without prior consideration to whether alternatives would be more suited to your workload.

OpenTracing

As monolithic applications are being replaced with more complex (micro)service ecosystems, tracing requests across multiple services is becoming the norm. Luckily, OpenTracing is rapidly beomcing the defacto standard for distributed tracing. Developed by Uber, Apple, Yelp and various other big players, it supports multiple tracers such as Zipkin, Instana and Jaeger. OpenTracing currently provides vendor-neutral implementation in six languages: Go, JavaScript, Java, Python, Objective-C and C++.

Serverless Framework

The Serverless Framework s a CLI tool that allows users to build &

Adopt

Trial

Page 13: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

© Piksel. All Rights Reserved. 13

Assess

deploy auto-scaling, pay-per-execution, event-driven functions. Write your code, configure events to trigger your functions, then deploy and run those functions to your cloud provider via the serverless CLI. This has been used with some success on the Discovery Screener project, and we encourage its use where supported FaaS platforms are being used.

Xamarin

Build & design a mobile app using Xamarin’s cross-platform development software which simplifies mobile application creation.

Kafka Streams

Kafka Streams is a lightweight library for building streaming applications. It has been designed with thr goal of simplifying stream processing enough to make it easily accessible as a mainstream application programming tool for asynchronous services. It can be a good alternative in scenarios where you want to apply a stream processing model to your problem without embracing the complexity of running a cluster(usually introduced by full-fledged stream processing frameworks).

Platforms

Page 14: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

TechRadar | September 201714

Angular

This is used on projects, specifically in Palette, Console and AT&T.

Redux

Redux worked out significantly better than alternatives on Discovery Screener. We would also like to standardise on Redux to improve reusability across projects.

DropWizard / Spring-Boot

DropWizard or Spring-Boot are frameworks that provide a lot of features to accelerate the startup of services development, allowing you to concentrate on the essential complexity of a problem rather than the plumbing.

RxJava

A library for composing asynchronous and event-based programs using observable sequences for the Java VM.

Java 5/6/7

Previous versions of JavaVM 5-6-7 are no longer supported by Oracle.

MobX

Was tried on the Discovery Screener project and exhibited some maturity issues. Was rewritten using Redux with improved outcomes. Combined with the desire to standardisae on Redux for JavaScript application session management, we’re moving this back to ‘hold’.

LanguagesAdopt

Trial

Assess

Hold

Page 15: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

© Piksel. All Rights Reserved. 15

Multi-DRM Playback

With Chrome discontinuing support for Flash & Silverlight and the progressive extension to more devices (especially on product) then we need to provide multiple options for DRM.

Amazon Fire TV

AT&T project is commissioned to build a Fire TV application.

HEVC/.h265

This should still be considered the default for 4k delivery, we believe in the long term the patent uncertainties will be resolved particularly due to the large number of devices now incorporating the codec.

VP6

Due to the continued uncertainty over HEVC licensing we strongly recommend testing compatibility of transcoding pipelines and players with VP9 as we see increased in silicon. This should also ease the transition to VP10 and its successors.

MediaAdopt

Trial

Assess

Hold

Page 16: TechRadar - Broadcast TechRadar Q3 2017.pdfDocker Docker is a container management system built on lxc and cgroups. It has become the defacto container runtime and is supported by

The next Piksel TechRadar will be released June 2017

Piksel.com