As a leading financial services firm, Mo... 展开 >
As a leading financial services firm, Mo... 展开 >
一个计算机程序算法的爱好者。像 Dijkstra 和并查集这样的算法，除了在面试时候派得上用场，也许就只有在象牙塔里被束之高阁了吧？不，只需要一双善于观察和发现的眼睛。
As a leading financial services firm, Morgan Stanley views Technology as a true business partner with the mission of delivering a market-leading technology platform that is resilient, safe, efficient, smart, fast and flexible.
With the rise of FinTech, Morgan Stanley is embracing changes and leveraging technology innovation to enable the delivery of first-class business in a first-class way.
Take a deep dive with our technologists into hot topics such as Agile/DevOps, Software Defined Storage, and the Scala Language and Application, and learn how Morgan Stanley solves some of the most challenging FinTech problems under an enterprise-level technology framework in this constantly changing business environment.
Over the past decade, financial services firms like Morgan Stanley have adopted Agile and DevOps practices in varying levels of maturity – including Scrum/Kanban, TDD and automation. However, there remain many challenges and opportunities appearing to get in the way of continuous deployment: a rigid and constantly changing regulatory environment, a global platform with highly complex dependencies, teams dispersed over multiple time zones, as well as on-vs-offshore development centers. In this session, our technologists will share some case studies to demonstrate how Morgan Stanley enables Agile/DevOps from perspectives of continuous integration, delivery and deployment. We are very excited to embark on this new journey, and we look forward to your participation.
Risk management is an extremely important discipline for large financial services companies. Supporting such a discipline often requires large scale (hundreds of thousands of cores) grid services. To scale up grid services that have common data sets is a challenge, and requires extraordinary ingenuity on how the network and storage solutions are designed.
Software defined storage introduces new technology that can provide orders of magnitude more performance and throughput at the same price point as existing enterprise storage solutions.
This session will provide an overview of the business challenges of risk calculation, the requirements for grid services, challenges in scaling them up, the challenges of managing a large and complex storage infrastructure in the dozens of petabytes of storage, and how it’s being solved with cutting edge innovation and technology.
We will start with a brief background on some of the financial problems that lend themselves to grid computing paradigm and drove us to require a scalable storage solution. From there we will dive into some of the technical complexities that come with trying to solve this problem, along with general complexity of managing a large scale environment. We will then discuss the design considerations that went into our software defined storage solution, along with the payoffs and benefits that we are now seeing from them.
Programming language as a vehicle to express programmer’s thoughts is key to any software development. Functional programming languages on JVM (Java Virtual Machine) , given their focus on abstraction, have their special positions for financial services companies like Morgan Stanley – as the problem domain is highly complex and computationally expensive while the systems operate in a large-scale distributed environment. The complexity of the problem domain brings the challenge of maintaining balance between correctness and performance, while the large-scale distributed environment leads to another dimension of complexity in operations. The Scala programming language not only inherits from its root in being Functional Programming, but also embraces the Java ecosystem and OOP model, which unleashes its functional programming power to the real world and makes it possible to build large production systems and to evolve at a faster pace, optimizing performance while maintaining correctness. In this session, we will explore and explain the benefits of a few fundamental elements in Scala that form the basis of its power: principle of referential transparency, higher-order functions, async/await facility, and its type system. In addition, we will also cover briefly its history from the beginning, and its upcoming features towards the end.
Building upon the discussion in the prior session that introduces Scala as a functional programming language on JVM (Java Virtual Machine) and its fundamental elements of its power, this session will provide a concrete example in code by illustrating those key concepts. Focusing on a simple and natural extension that Morgan Stanley built via Scala’s compiler plugin mechanism, and relating the syntax to its corresponding semantics, especially its optimized program behavior at runtime while being succinct in source form, an essential analysis will be conducted to show how the afore-mentioned benefits can be realized, for example general-purpose caching, asynchronous I/O, harnessing multi-core, and distribution of calculation, etc. Various classical optimization techniques can be applied without changing the source program text, so that it remains clear in terms of logic and intent, while only annotation is necessary for those optimization to materialize, thus maintaining the correctness when we optimize. All these make it possible for Morgan Stanley to run large-scale complex analyses on grids of machines, with predictable performance, to achieve demanding SLA (Service Level Agreement), in an ever-changing market.