Steps For Creating A Cloud Native Application

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Creating the Cloud Business through

Cloud-based DevOps Services &


Cloud Native Application
Agenda

01 Scenario

02 Technical Details

03 Challenges/Risks

04 Results

05 Architecture
Scenario
Customer Background
• Customer is one of a large financial company in Taiwan. A subsidiary of a
large financial holding group.
• Different skills among different departments and business units.
• Many legacy applications and some of them have stability and scalability
issues. Also have performance impact.
• Lack of maintenance resources to redesign legacy systems.
• Looking for a common solution to refine their exist applications or new
applications as cloud ready and cloud native.
• Customer have version control tools and basic CI/CD concept. But still
need to enhance the overall DevOps process.
• Customer’s IT are not familiar about cloud related concept.
Business Requirements
• Standardize Cloud Native Application Development Life Cycle.
▪ Fast build up customer’s host application in an efficiency and standard way.
▪ Other subsidiaries will follow the same development cycle and technologies.

• Enable core development team skills.


▪ Play seed role for different IT departments from different subsidiaries.
▪ Different subsidiary’s skillset is different. Need to consolidate.
▪ Need to provide a serious of technical trainings.

• Scalability and reliability


▪ Fulfill the business growth. Ex: Internet Banking
▪ 4000 transactions per minute.

• Cost sensitivity
▪ Implement this project in a limited budget.
Analysis Approach
1. First Call
2. Data Gathering
3. Analysis and Draft Proposal
4. Proposal Discussion and Refinement
5. Executive Presentation

Data Analysis and Executive


First Call
Gathering Refinement Presentation
Proposed Solution

01
DevOps Planning and Implementation 03 Champion Program
• DevOps tools, process discussions and • Select a demonstration system, and the 8
planning. common services were actually applied.
• The development life cycle of the common • This demonstration system is built by
modules are divided into multiple Sprints, customer IT, we only provide technical
each Sprint follows the plan of DevOps support and consultancy services.
implementation.

Cloud Native Application with 04 Spec define and knowledge transfer


02
Common Services • .NET development specifications, test
specifications, database specifications
• Basic application services: basic website,
identity authentication, function • System migration planning and upgrade
authorization, audit log, data access guidelines
• Advanced application services: message • Common Services API knowledge base for bank
service, exception handling, cache service developers to query and read online.
• Technical skill training and Common Services
training.
Technical
Details

8
Cloud Native Application Architecture
Azure Kubernetes
Service (AKS)

Oauth 2 API Gateways Back-end services


Identity Server

External
data stores
Client Apps
Azure load Backend for
(SPA) Pod
balancer Frontend autoscaling

Namespace Namespace
CI/CD
Utility services

Elasticsearch Redis Cache


Azure docker docker Kubernetes
Pipelines push pull cluster Namespace
Container
Virtual network
registry

Azure Active Monitor


Dev/Ops Directory
Solution Advantages

01 Cloud Native Development Framework 03 Backend For Frontend(BFF)


• Follow Open API specification • More in line with external system security regulations.
• Can be deployed to different platforms (Windows, Linux) • Different BFF layers for different interface requirements, the
core application logic does not need to be changed.
• Complete CLI tool to establish automated CI/CD scripts.
• Usually only deal with the logic related to presentation layer.
• Adopt OAuth 2.0 mechanism to facilitate centralized
authentication management • Mainly responsible for route, can be a part of API Gateway.
• collect logs with ELK stack. Easy for data aggregation, statistics • Good penetration test result.
and visualization

02 Front-end and back-end separation 04 Single-Page Application


architecture
• More safety because the web scripts has been bundled.
• The flexibility that backend resources can be used for different
UI scenarios. • Support Lazy-Loading, only load the required running code, the
response is faster and less bandwidth.
• In line with Open Banking, Open API planning.
• Caching capabilities. Only focus on the interaction of
• Consistent development technologies in backend service layer. information, will store all the data it receives and can work even
offline.
Challenges
and Risks
Challenges and Action Taken
No Challenges Description Action Taken
1 Champion Program Need to provide resources Guide customers to choose a typical
has not been to support customers to and representative but less complex
determined build this champion system. system.

2 IT members not IT member has different 1. Deliver more technical training


familiar with cloud skills with traditional skillset. courses to enable customer’s skill.
and microservices 2. Clear documentation and APIs for
better understand.

3 Cloud Restriction on Security and Data center Demonstrate the high security of
FSI regulation location concern. proposed solution, architecture and
limitation data protection. Certified to the ISO/IEC
27001 standard.
Results

13
Results
Build technology standards, programming Shorten the development and release cycle,
01 04
guidelines, database guidelines, testing and Significantly improve overall productivity.
maintenance guidelines.
• achieve automatic testing and automatic deployment,
• Improve programming quality. in order to meet DevOps development and
• Meet business needs in the next 5 to 10 years maintenance integration.
• Use agile development and consistent development
framework to greatly shorten the program
Provide a comprehensive development platform, development and release cycle.
02
developers can focus more on business flow.
• Use code generator to quickly generate a consistent
development framework
• The quality of the code is consistent and does not
vary with the quality of the personnel New Engagements for Next Step
05
• Significantly improve overall productivity
• New opportunity to move GitHub / GitLab to this DevOps
platform.
• New opportunity to migrate other legacy applications to
Share the technical platform and standard Cloud platform.
03 application framework built in this project to
Financial Holding Group for other subsidiaries
used.
Architecture
DevOps Architecture
5

Amazon EKS
Unit Test (Dev/Test)
8

3 4 6 8
Git Repository Amazon EKS
(GitHub) CloudFormation Amazon
QA Environment
CloudWatch

8
Peer Review
2 Code Analysis Automation Test
7
Push Code
Amazon EKS
Prod. Environment

1 9
Developer
CodeCommit

Lists & 10
Tasks

ClickUp
Thank You

You might also like