in order to stay competitive. These, in turn, drive the changes we see today in how software is developed and managed as businesses move at an accelerated pace. What does this increased competition mean for software development? It requires agility and a software architec- ture developed and delivered with speed and precision. It means software can and will change frequently as the business needs, and competitive and technological land- scape changes. It means that when code is changed, it is then automatically tested, and vetted in small incre- ments. It means services are isolated from the underlying platform, and are independently built by small teams us- ing common tools and development practices. It means that each service will be delivered on an immutable infra- structure using containers - fast, stable and in direct re- sponse to needs of the business, market, and most im- portantly the end-user. As more and more customers rely on next generation mo- bile and web applications to execute and manage trans- actions (purchases, correspondences, shopping, etc.), businesses need to make the customer experience as effi- cient and satisfying as possible. This means customer fac- ing systems must be easy to use; provide access to all functions and capabilities relevant at any point in time. It must be transparent and integrate with other core ser- vices such as billing, sales, etc. All of the services, no matter where they physically reside, need to work to- gether seamlessly. However, there must be a high degree of flexibility so necessary changes can be executed quickly as customer expectations change and competitive threats emerge. 14
Building Cloud Native Apps Painlessly Page 16 Page 18