Legacy system

In 2011, MS-DOS was still used in some enterprises to run legacy applications, such as this US Navy food service management system.

In computing, a legacy system is an old method, technology, computer system, or application program, "of, relating to, or being a previous or outdated computer system",[1] yet still in use. Often referencing a system as "legacy" means that it paved the way for the standards that would follow it. This can also imply that the system is out of date or in need of replacement.

Legacy code is old computer source code that is no longer supported on standard hardware and environments, and is a codebase that is in some respect obsolete or supporting something obsolete. Legacy code may be written in programming languages, use frameworks and external libraries, or use architecture and patterns that are no longer considered modern, increasing the mental burden and ramp-up time for software engineers who work on the codebase. Legacy code may have zero or insufficient automated tests, making refactoring dangerous and likely to introduce bugs.[2] Long-lived code is susceptible to software rot, where changes to the runtime environment, or surrounding software or hardware may require maintenance or emulation of some kind to keep working. Legacy code may be present to support legacy hardware, a separate legacy system, or a legacy customer using an old feature or software version.

While the term usually refers to source code, it can also apply to executable code that no longer runs on a later version of a system, or requires a compatibility layer to do so. An example would be a classic Macintosh application which will not run natively on macOS, but runs inside the Classic environment, or a Win16 application running on Windows XP using the Windows on Windows feature in XP.

An example of legacy hardware are legacy ports like PS/2 and VGA ports, and CPUs with older, incompatible instruction sets (with e.g. newer operating systems). Examples in legacy software include legacy file formats like .swf for Adobe Flash or .123 for Lotus 1-2-3, and text files encoded with legacy character encodings like EBCDIC.

Overview

Although it has been unsupported since April 2014, Windows XP has endured continued use in fields such as ATM operating system software.

The first use of the term legacy to describe computer systems probably occurred in the 1960s.[3] By the 1980s it was commonly used to refer to existing computer systems to distinguish them from the design and implementation of new systems. Legacy was often heard during a conversion process, for example, when moving data from the legacy system to a new database.

While this term may indicate that some engineers may feel that a system is out of date, a legacy system can continue to be used for a variety of reasons. It may simply be that the system still provides for the users' needs. In addition, the decision to keep an old system may be influenced by economic reasons such as return on investment challenges or vendor lock-in, the inherent challenges of change management, or a variety of other reasons other than functionality. Backward compatibility (such as the ability of newer systems to handle legacy file formats and character encodings) is a goal that software developers often include in their work.

Even if a legacy system is no longer used, it may continue to impact the organization due to its historical role. Historic data may not have been converted into the new system format and may exist within the new system with the use of a customized schema crosswalk, or may exist only in a data warehouse. In either case, the effect on business intelligence and operational reporting can be significant. A legacy system may include procedures or terminology which are no longer relevant in the current context, and may hinder or confuse understanding of the methods or technologies used.

Organizations can have compelling reasons for keeping a legacy system, such as:

  • The system works well, and the owner sees no reason to change it.
  • The costs of redesigning or replacing the system are prohibitive because it is large, monolithic, and/or complex.
  • Retraining on a new system would be costly in lost time and money, compared to the anticipated appreciable benefits of replacing it (which may be zero).
  • The system requires near-constant availability, so it cannot be taken out of service, and the cost of designing a new system with a similar availability level is high. Examples include systems to handle customers' accounts in banks, computer reservations systems, air traffic control, energy distribution (power grids), nuclear power plants, military defense installations, and systems such as the TOPS database.
  • The way that the system works is not well understood. Such a situation can occur when the designers of the system have left the organization, and the system has either not been fully documented or documentation has been lost.
  • The user expects that the system can easily be replaced when this becomes necessary.
  • Newer systems perform undesirable (especially for individual or non-institutional users) secondary functions such as a) tracking and reporting of user activity and/or b) automatic updating that creates "back-door" security vulnerabilities and leaves end users dependent on the good faith and honesty of the vendor providing the updates. This problem is especially acute when these secondary functions of a newer system cannot be disabled.

Problems posed by legacy computing

Legacy systems are considered to be potentially problematic by some software engineers for several reasons.[4]

  • If legacy software runs on only antiquated hardware, the cost of maintaining the system may eventually outweigh the cost of replacing both the software and hardware unless some form of emulation or backward compatibility allows the software to run on new hardware.[5][6]
  • These systems can be hard to maintain, improve, and expand because there is a general lack of understanding of the system; the staff who were experts on it have retired or forgotten what they knew about it, and staff who entered the field after it became "legacy" never learned about it in the first place. This can be worsened by lack or loss of documentation. Comair airline company fired its CEO in 2004 due to the failure of an antiquated legacy crew scheduling system that ran into a limitation not known to anyone in the company.[7]
  • Legacy systems may have vulnerabilities in older operating systems or applications due to lack of security patches being available or applied. There can also be production configurations that cause security problems. These issues can put the legacy system at risk of being compromised by attackers or knowledgeable insiders.[8]
  • Integration with newer systems may also be difficult because new software may use completely different technologies. Integration across technology is quite common in computing, but integration between newer technologies and substantially older ones is not common. There may simply not be sufficient demand for integration technology to be developed. Some of this "glue" code is occasionally developed by vendors and enthusiasts of particular legacy technologies.
  • Budgetary constraints often lead corporations to not address the need of replacement or migration of a legacy system. However, companies often don't consider the increasing supportability costs (people, software and hardware, all mentioned above) and do not take into consideration the enormous loss of capability or business continuity if the legacy system were to fail. Once these considerations are well understood, then based on the proven ROI of a new, more secure, updated technology stack platform is not as costly as the alternative—and the budget is found.
  • Due to the fact that most legacy programmers are entering retirement age and the number of young engineers replacing them is very small, there is an alarming shortage of available workforce. This in turn results in difficulty in maintaining legacy systems, as well as an increase in costs of procuring experienced programmers.[9]
  • Some legacy systems have a hard limit on their total capacity which may not be enough for today's needs, for example the 4 GB memory limit on many older x86 CPUs, or the 4 billion address limit in IPv4.

Improvements on legacy software systems

Where it is impossible to replace legacy systems through the practice of application retirement, it is still possible to enhance (or "re-face") them. Most development often goes into adding new interfaces to a legacy system. The most prominent technique is to provide a Web-based interface to a terminal-based mainframe application. This may reduce staff productivity due to slower response times and slower mouse-based operator actions, yet it is often seen as an "upgrade", because the interface style is familiar to unskilled users and is easy for them to use. John McCormick discusses such strategies that involve middleware.[10]

Printing improvements are problematic because legacy software systems often add no formatting instructions, or they use protocols that are not usable in modern PC/Windows printers. A print server can be used to intercept the data and translate it to a more modern code. Rich Text Format (RTF) or PostScript documents may be created in the legacy application and then interpreted at a PC before being printed.

Biometric security measures are difficult to implement on legacy systems. A workable solution is to use a Telnet or HTTP proxy server to sit between users and the mainframe to implement secure access to the legacy application.

The change being undertaken in some organizations is to switch to automated business process (ABP) software which generates complete systems. These systems can then interface to the organizations' legacy systems and use them as data repositories. This approach can provide a number of significant benefits: the users are insulated from the inefficiencies of their legacy systems, and the changes can be incorporated quickly and easily in the ABP software.

Model-driven reverse and forward engineering approaches can be also used for the improvement of legacy software.[11]

NASA example

Andreas M. Hein researched the use of legacy systems in space exploration at the Technical University of Munich. According to Hein, legacy systems are attractive for reuse if an organization has the capabilities for verification, validation, testing, and operational history.[12][13] These capabilities must be integrated into various software life cycle phases such as development, implementation, usage, or maintenance. For software systems, the capability to use and maintain the system are crucial. Otherwise the system will become less and less understandable and maintainable.

According to Hein, verification, validation, testing, and operational history increases the confidence in a system's reliability and quality. However, accumulating this history is often expensive. NASA's now retired Space Shuttle program used a large amount of 1970s-era technology. Replacement was cost-prohibitive because of the expensive requirement for flight certification. The original hardware completed the expensive integration and certification requirement for flight, but any new equipment would have had to go through that entire process again. This long and detailed process required extensive tests of the new components in their new configurations before a single unit could be used in the Space Shuttle program. Thus any new system that started the certification process becomes a de facto legacy system by the time it is approved for flight.

Additionally, the entire Space Shuttle system, including ground and launch vehicle assets, was designed to work together as a closed system. Since the specifications did not change, all of the certified systems and components performed well in the roles for which they were designed.[14] Even before the Shuttle was scheduled to be retired in 2010, NASA found it advantageous to keep using many pieces of 1970s technology rather than to upgrade those systems and recertify the new components.

Perspectives on legacy code

Some in the software engineering prefer to describe "legacy code" without the connotation of being obsolete. Among the most prevalent neutral conceptions are source code inherited from someone else and source code inherited from an older version of the software. Eli Lopian, CEO of Typemock, has defined it as "code that developers are afraid to change".[15] Michael Feathers[16] introduced a definition of legacy code as code without tests, which reflects the perspective of legacy code being difficult to work with in part due to a lack of automated regression tests. He also defined characterization tests to start putting legacy code under test.

Ginny Hendry characterized creation of code as a `challenge` to current coders to create code that is "like other legacies in our lives—like the antiques, heirlooms, and stories that are cherished and lovingly passed down from one generation to the next. What if legacy code was something we took pride in?".[17]

Additional uses of the term Legacy in computing

The term legacy support is often used in conjunction with legacy systems. The term may refer to a feature of modern software. For example, Operating systems with "legacy support" can detect and use older hardware. The term may also be used to refer to a business function; e.g. a software or hardware vendor that is supporting, or providing software maintenance, for older products.

A "legacy" product may be a product that is no longer sold, has lost substantial market share, or is a version of a product that is not current. A legacy product may have some advantage over a modern product making it appealing for customers to keep it around. A product is only truly "obsolete" if it has an advantage to nobody—if no person making a rational decision would choose to acquire it new.

The term "legacy mode" often refers specifically to backward compatibility. A software product that is capable of performing as though it were a previous version of itself, is said to be "running in legacy mode". This kind of feature is common in operating systems and internet browsers, where many applications depend on these underlying components.

The computer mainframe era saw many applications running in legacy mode. In the modern business computing environment, n-tier, or 3-tier architectures are more difficult to place into legacy mode as they include many components making up a single system.

Virtualization technology is a recent innovation allowing legacy systems to continue to operate on modern hardware by running older operating systems and browsers on a software system that emulates legacy hardware.

Brownfield architecture

Programmers have borrowed the term brownfield from the construction industry, where previously developed land (often polluted and abandoned) is described as brownfield.[18]

  • Brownfield architecture is a type of software or network architecture that incorporates legacy systems.
  • Brownfield deployment is an upgrade or addition to an existing software or network architecture that retains legacy components.

Alternative view

There is an alternate favorable opinion—growing since the end of the Dotcom bubble in 1999—that legacy systems are simply computer systems in working use:

"Legacy code" often differs from its suggested alternative by actually working and scaling.

IT analysts estimate that the cost of replacing business logic is about five times that of reuse,[19] even discounting the risk of system failures and security breaches. Ideally, businesses would never have to rewrite most core business logic: debits = credits is a perennial requirement.

The IT industry is responding with "legacy modernization" and "legacy transformation": refurbishing existing business logic with new user interfaces, sometimes using screen scraping and service-enabled access through web services. These techniques allow organizations to understand their existing code assets (using discovery tools), provide new user and application interfaces to existing code, improve workflow, contain costs, minimize risk, and enjoy classic qualities of service (near 100% uptime, security, scalability, etc.).[20]

This trend also invites reflection on what makes legacy systems so durable. Technologists are relearning the importance of sound architecture from the start, to avoid costly and risky rewrites. The most common legacy systems tend to be those which embraced well-known IT architectural principles, with careful planning and strict methodology during implementation. Poorly designed systems often don't last, both because they wear out and because their inherent faults invite replacement. Thus, many organizations are rediscovering the value of both their legacy systems and the theoretical underpinnings of those systems.

See also

References

  1. ^ "Merriam-Webster". Retrieved June 22, 2013.
  2. ^ Feathers, Michael C. (2005). Working effectively with legacy code. Upper Saddle River, NJ: Prentice Hall Professional Technical Reference. p. 15. ISBN 0-13-293174-5. OCLC 660166658.
  3. ^ Tawde, Swati. "Legacy System". educba.
  4. ^ (for example, see Bisbal et al., 1999).
  5. ^ This article is based on material taken from Legacy+system at the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.
  6. ^ Lamb, John (June 2008). "Legacy systems continue to have a place in the enterprise". Computer Weekly. Retrieved 27 October 2014.
  7. ^ Stephanie Overby (2005-05-01). "Comair's Christmas Disaster: Bound To Fail - CIO.com - Business Technology Leadership". CIO.com. Retrieved 2012-04-29.
  8. ^ Razermouse (2011-05-03). "The Danger of Legacy Systems". Mousesecurity.com. Archived from the original on March 23, 2012. Retrieved 2012-04-29.
  9. ^ "Benefits of Mainframe Modernization". Modernization Hub. Retrieved 2017-08-23.
  10. ^ McCormick, John (2000-06-02). "Mainframe-web middleware". Gcn.com. Retrieved 2012-04-29.
  11. ^ Menychtas, Andreas; Konstanteli, Kleopatra; Alonso, Juncal; Orue-Echevarria, Leire; Gorronogoitia, Jesus; Kousiouris, George; Santzaridou, Christina; Bruneliere, Hugo; Pellens, Bram; Stuer, Peter; Strauss, Oliver; Senkova, Tatiana; Varvarigou, Theodora (2014), "Software modernization and cloudification using the ARTIST migration methodology and framework", Scalable Computing: Practice and Experience, 15 (2), doi:10.12694/scpe.v15i2.980
  12. ^ A.M. Hein (2014), How to Assess Heritage Systems in the Early Phases?, 6th International Systems & Concurrent Engineering for Space Applications Conference 2014, ESA
  13. ^ A.M. Hein (2016), Heritage Technologies in Space Programs - Assessment Methodology and Statistical Analysis, PhD thesis Faculty of Mechanical Engineering, Technical University of Munich
  14. ^ A.M. Hein (2014), How to Assess Heritage Systems in the Early Phases?, 6th International Systems & Concurrent Engineering for Space Applications Conference 2014, ESA, p. 3
  15. ^ Lopian, Eli (May 15, 2018). "Defining Legacy Code". Retrieved June 10, 2019.
  16. ^ Michael Feathers' Working Effectively with Legacy Code (ISBN 0-13-117705-2)
  17. ^ Ginny Hendry (11 Jul 2014). "Take Pride in Your Legacy (Code)". Retrieved 2021-10-07.
  18. ^ "Definition of greenfield and brownfield deployment". Searchunifiedcommunications.techtarget.com. Retrieved 2012-04-29.
  19. ^ "Cost Considerations For A Mainframe to Cloud Migration Project". Kumaran Systems.
  20. ^ Comella-Dorda, Santiago (2000-04-01). "A Survey of Legacy System Modernization Approaches" (PDF). SEI Digital Library.

Further reading

Read other articles:

Incidente di EdirneEdirne VakasiMustafa II vestito con l'armatura completa. Il testo recita Sultan Mustafa Han II, che la misericordia di Dio sia su di lui.Data1703 LuogoIstanbul Causa Trattato di Carlowitz Ascesa di Seyhulislam Feyzullah Efendi Attuazione degli appalti fiscali EsitoDetronizzazione di Mustafa II e ascesa al sultanato di Ahmed III; uccisione di Seyhulislam Feyzullah Efendi SchieramentiMustafa IISeyhülislam Feyzullah EfendiGiannizzeriCebeciUlema Voci di rivolte presenti su Wik...

Anadolu ve Rumeli Müdâfaa-i Hukuk CemiyetiSivas Kongresi delegeleriÖncülMüdâfaa-i hukuk cemiyetleriMillî ve vatanî cemiyetlerRedd-i ilhak heyetleriArdılHalk FırkasıKuruluş7 Eylül 1919 (104 yıl önce) (1919-09-07)Kapanış9 Eylül 1923 (100 yıl önce) (1923-09-09)Yasal statüDernekAmaçMillî hakları ve Osmanlı'nın menfaatlerini savunmakMerkezSivasAnkaraResmî dillerTürkçeUmumî ReisMustafa Kemal PaşaAna organHeyet-i Temsiliye Anadolu ve Rumeli Müdafaa...

Rzut młotem Jurego Szajunoua Rzut młotem – jedna z technicznych konkurencji lekkoatletycznych, polegająca na rzucie kulą, do której przymocowana jest stalowa linka zakończona uchwytem. Zawodnik wykonuje rzut z koła o średnicy 2,135 m, otoczonego siatką ochronną. Kobiety rzucają młotem o wadze 4 kg (juniorki młodsze 3 kg[1]), mężczyźni – 7,26 kg, młodzicy (do 15 lat) – 5 kg, juniorzy młodsi (16-17 lat) – 5 kg, juniorzy starsi (18-19 lat) – 6...

Tom McCarthyLahirThomas Joseph McCarthy7 Juni 1966 (umur 57)New Jersey, Amerika SerikatPekerjaanAktor, sutradara film, penulis naskahTahun aktif1992–sekarang Thomas Joseph Tom McCarthy[1] (lahir 7 Juni 1966)[2] adalah sutradara film, penulis naskah, dan aktor Amerika Serikat yang tampil di beberapa film seperti Meet the Parents dan Good Night, and Good Luck, serta seri televisi seperti The Wire, Boston Public, Law & Order, dan Saint Maybe. McCarthy mendapat puj...

«Квін Елізабет», перший швидкий лінійний корабель (фото 1918) Французький швидкий лінкор «Дюнкерк» Швидкий лінійний корабель (швидкохідний лінкор) — різновид дредноута, у якого висока швидкість досягалась (принаймні теоретично) не за рахунок ослаблення бронювання чи ар

Class M2D, No. 628 Kankesanthurai locomotive at Matara Railway Station, ready to haul an express train to Colombo. Locomotives and train sets of Sri Lanka Railways consist mostly of diesel locomotives and multiple units. Steam locomotives are no longer used, except on heritage trains, such as the Viceroy Special. The first locomotives pulled trains on the original segment of the Main Line, on 54 kilometres (34 miles) connecting Colombo and Ambepussa.[1] In 1953, Sri Lanka Railways enh...

هذه المقالة بحاجة لصندوق معلومات. فضلًا ساعد في تحسين هذه المقالة بإضافة صندوق معلومات مخصص إليها. قاعدة عبد الله المبارك الجوية (ايكاو:OKBK) (بالإنجليزية: Al Mubarak Air Base)‏ هي قاعدة عسكرية جوية كويتية، وهي جزء من مطار الكويت الدولي، وهي المقر الرئيسي لقيادة سلاح الجو الكويتي.[1&...

Roman province in North Africa Tripolitania within the Diocese of Africa, c.400 AD Notitia Dignitatum - Dux provinciae Tripolitanae Tripolitania was a province of the Roman Empire. Between the 2nd century BC and the 3rd century AD it had been known as Syrtica; in the 3rd century it was renamed Tripolitania meaning region of the three cities, referring to Oea (modern Tripoli of Libya), Sabratha and Leptis Magna. Following the defeat of Carthage in the Punic Wars, Ancient Rome organized the reg...

Austrian footballer Martin Rasner Personal informationDate of birth (1995-05-18) 18 May 1995 (age 28)Place of birth Oberpullendorf, AustriaHeight 1.77 m (5 ft 10 in)Position(s) MidfielderTeam informationCurrent team Admira WackerNumber 20Youth career2003–2007 SK Wiesmath[1]2007–2008 SVSF Pottschach[1]2008–2013 SKN St. PöltenSenior career*Years Team Apps (Gls)2013–2015 FC Liefering 57 (1)2015–2016 SV Grödig 33 (2)2016–2017 1. FC Heidenheim 7 (0...

Device used to hold ammunition for firearms An M1 Garand en bloc clip (left) compared to an SKS stripper clip (right) A clip is a device that is used to store multiple rounds of ammunition together as a unit for insertion into the magazine or cylinder of a firearm. This speeds up the process by loading the firearm with several rounds at once, rather than one at a time ('loose rounds'). There are several types, most made of inexpensive stamped sheet metal, intended to be disposable, though the...

Armed conflict between Turkey and PKK PKK–Turkish conflict (1978–present)Part of the Kurdish–Turkish conflictOverview of the PKK–Turkish conflict (2010)Datec. 27 November 1978 – present(45 years, 3 weeks and 5 days)LocationEastern and Southeastern Turkey, spillovers in Northern Iraq and Northern SyriaStatus Ongoing: Peace process attempt during 2012–15[32][33][34][35] Escalation since September 2014 due to Siege of Kobani Renewed warf...

Green sand beach in Kaʻū district, Hawai'i, US Looking over Papakolea Beach Papakōlea Beach (also known as Green Sand Beach or Mahana Beach[1]) is a green sand beach located near South Point, in the Kaʻū district of the island of Hawaiʻi. It is one of only four green sand beaches in the world, the others being Talofofo Beach, Guam; Punta Cormorant on Floreana Island in the Galapagos Islands; and Hornindalsvatnet, Norway.[2][better source needed ...

Mark and tool of the centurion (Ancient Rome) Not to be confused with the staff vine. The epitaph of M. Caelius, chief centurion (primus pilus) of the ill-fated 18th Legion. His vine staff breaks the frame and even runs across the inscription. The vine staff, vine-staff, or centurion's staff[1] (Latin: vitis)[2] was a vinewood rod of about 3 feet (1 m) in length used in the ancient Roman Army[3][4] and Navy.[5] It was the mark and tool of the centu...

Higher education institution in Somalia An editor has performed a search and found that sufficient sources exist to establish the subject's notability. These sources can be used to expand the article and may be described in edit summaries or found on the talk page. The article may include original research, or omit significant information about the subject. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources:&...

Код Ямайки для міжнародного руху ТЗ — (JA). Приватний ТЗ Номерні знаки Ямайки побудовано з урахуванням британських традицій. Зміст 1 Регулярні номерні знаки 2 Інші номерні знаки 2.1 Кодування 2.2 Публічний транспорт 2.3 Комерційний транспорт 2.4 Номерні знаки продавців автот...

2020 video game 2020 video gameDeep Rock GalacticDeveloper(s)Ghost Ship GamesPublisher(s)Coffee Stain PublishingEngineUnreal Engine 4Platform(s)WindowsXbox OnePlayStation 4PlayStation 5Xbox Series X/SReleaseWindows, Xbox OneMay 13, 2020PS4, PS5January 4, 2022Xbox Series X/SSeptember 9, 2022Genre(s)First-person shooterMode(s)Multiplayer, single-player Deep Rock Galactic is a cooperative first-person shooter video game developed by Danish studio Ghost Ship Games and published by Coffee Stain Pu...

Biblical Researches in Palestine, Mount Sinai and Arabia Petraea Biblical Researches in Palestine coverAuthorEdward RobinsonTranslatorEli SmithIllustratorHeinrich KiepertCountryUnited Kingdom, United States, GermanyLanguageEnglishGenreTravel literaturePublisherJohn MurrayPublication date1841 Biblical researches in Palestine, Mount Sinai and Arabia Petraea (1841 edition), also Biblical Researches in Palestine and the Adjacent Regions (1856 edition), was a travelogue of 19th-century Palestine a...

Spiritual organisation of Goud Saraswat BrahminsGokarna MathShree Samsthan Gokarn Partagali Jeevottam MathLocation in GoaNamed afterShrimat Jeevottam TirthPredecessorShrimad Vidyadhiraj Teerth SwamijiFounderNarayana TeerthaHeadquartersPartagal, Poinginim, CanaconaCoordinates14°59′35″N 74°06′26″E / 14.992989°N 74.107327°E / 14.992989; 74.107327Region Konkan beltPresent MathadipathiShrimad Vidyadheesh Teerth SwamijiWebsitehttp://partagalimath.org Shri Gokarna...

1968 studio album by the OsmondsThe Wonderful World of The Osmond BrothersStudio album by the OsmondsReleasedOctober 1968GenreBubblegum popLabelCBSProducerGary KleinThe Osmonds chronology The New Sound of The Osmond Brothers(1965) The Wonderful World of The Osmond Brothers(1968) Hello! The Osmond Brothers(1970) Singles from The Wonderful World of The Osmond Brothers I've Got Lovin' on My MindReleased: October 1968 Clouds (Both Sides Now)Released: January 1969 Groove with What You've G...

American drama miniseries The Comey RuleGenrePolitical dramaBased onA Higher Loyalty: Truth, Lies, and Leadershipby James ComeyWritten byBilly RayDirected byBilly RayStarring Jeff Daniels Holly Hunter Michael Kelly Jennifer Ehle Scoot McNairy Jonathan Banks Oona Chaplin Amy Seimetz Steven Pasquale Brendan Gleeson Music byHenry JackmanCountry of originUnited StatesOriginal languageEnglishNo. of episodes2ProductionExecutive producers Heather Kadin Alex Kurtzman Shane Salerno Billy Ray Producers...