网站标签该站未曾设置keywords
网站描述Programming,WebDevelopment,andDevOpsnews,tutorialsandtoolsforbeginnerstoexperts.Hundredsoffreepublications,over1Mmembers,totallyfree.
上一篇:维普网
下一篇:SegmentFault 思否
seo综合信息
SEO信息 百度来访IP:- | 移动端来访IP:- | 出站链接:0 | 站内链接:18 IP网速: IP地址:34.206.21.47 [美国弗吉尼亚阿什本 亚马逊云] | 网速:438毫秒 ALEXA排名 世界排名:- | 预估IP:- | 预估PV:- 备案信息 - | 名称:- | 已创建:26年1个月25天
收录 百度 360 搜狗 谷歌 查询 0 0 0 0
电脑关键词 手机关键词 页面友好 首页位置 索引 近期收录 5 0 电脑端优秀 - 0 0
协议类型HTTP/1.1 200 OK 页面类型text/html;charset=UTF-8 服务器类型Apache 是否压缩是 原网页大小236377 压缩后大小58401 压缩比75.29%
网站快照D Z o n e : P r o g r a m m i n g r e s u l t s a n d o b s e r v a t i o n s w i l l b e f e a t u r e d i n t h e K e y R e s e a r c h F i n d i n g s o f o u r T r e n d R e p o r t s . S e c u r i t y R e s e a r c h S e c u r i t y i s e v e r y w h e r e ; y o u c a n ’ t l i v e w i t h i t , a n d y o u c e r t a i n l y c a n ’ t l i v e w i t h o u t i t ! W e a r e l i v i n g i n a n e n t i r e l y u n p r e c e d e n t e d w o r l d — o n e w h e r e b a d a c t o r s a r e g r o w i n g m o r e s o p h i s t i c a t e d a n d a r e t a k i n g f u l l a d v a n t a g e o f t h e r a p i d a d v a n c e m e n t s i n A I . W e w i l l b e e x p l o r i n g t h e m o s t p r e s s i n g s e c u r i t y c h a l l e n g e s a n d e m e r g i n g s t r a t e g i e s i n t h i s y e a r ’ s s u r v e y f o r o u r A u g u s t E n t e r p r i s e S e c u r i t y T r e n d R e p o r t . O u r 1 0 1 2 m i n u t e E n t e r p r i s e S e c u r i t y S u r v e y e x p l o r e s : B u i l d i n g a s e c u r i t y f i r s t o r g a n i z a t i o n S e c u r i t y a r c h i t e c t u r e a n d d e s i g n K e y s e c u r i t y s t r a t e g i e s a n d t e c h n i q u e s C l o u d a n d s o f t w a r e s u p p l y c h a i n s e c u r i t y A t t h e e n d o f t h e s u r v e y , y o u r e a l s o a b l e t o e n t e r t h e p r i z e d r a w i n g f o r a c h a n c e t o r e c e i v e o n e o f t w o $ 1 7 5 ( U S D ) e g i f t c a r d s ! J o i n t h e S e c u r i t y R e s e a r c h D a t a E n g i n e e r i n g R e s e a r c h A s a c o n t i n u a t i o n o f o u r a n n u a l d a t a r e l a t e d r e s e a r c h , w e r e c o n s o l i d a t i n g o u r d a t a b a s e , d a t a p i p e l i n e , a n d d a t a a n d a n a l y t i c s s c o p e s i n t o a s i n g l e 1 2 m i n u t e s u r v e y t h a t w i l l g u i d e h e l p t h e n a r r a t i v e s o f o u r J u l y D a t a b a s e S y s t e m s T r e n d R e p o r t a n d d a t a e n g i n e e r i n g r e p o r t l a t e r i n t h e y e a r . O u r 2 0 2 4 D a t a E n g i n e e r i n g S u r v e y e x p l o r e s : D a t a b a s e t y p e s , l a n g u a g e s , a n d u s e c a s e s D i s t r i b u t e d d a t a b a s e d e s i g n + a r c h i t e c t u r e s D a t a o b s e r v a b i l i t y , s e c u r i t y , a n d g o v e r n a n c e D a t a p i p e l i n e s , r e a l t i m e p r o c e s s i n g , a n d s t r u c t u r e d s t o r a g e V e c t o r d a t a a n d d a t a b a s e s + o t h e r A I d r i v e n d a t a c a p a b i l i t i e s J o i n t h e D a t a E n g i n e e r i n g R e s e a r c h Y o u l l a l s o h a v e t h e c h a n c e t o e n t e r t h e $ 5 0 0 r a f f l e a t t h e e n d o f t h e s u r v e y — f i v e r a n d o m p e o p l e w i l l b e d r a w n a n d w i l l r e c e i v e $ 1 0 0 e a c h ( U S D ) ! C l o u d a n d K u b e r n e t e s R e s e a r c h T h i s y e a r , w e r e c o m b i n i n g o u r a n n u a l c l o u d n a t i v e a n d K u b e r n e t e s r e s e a r c h i n t o o n e 1 0 m i n u t e s u r v e y t h a t d i v e s f u r t h e r i n t o t h e s e t o p i c s a s t h e y r e l a t e t o b o t h o n e a n o t h e r a n d a t t h e i n t e r s e c t i o n o f s e c u r i t y , o b s e r v a b i l i t y , A I , a n d m o r e . D Z o n e s r e s e a r c h w i l l b e i n f o r m i n g t h e s e T r e n d R e p o r t s : M a y – C l o u d N a t i v e : C h a m p i o n i n g C l o u d D e v e l o p m e n t A c r o s s t h e S D L C S e p t e m b e r – K u b e r n e t e s i n t h e E n t e r p r i s e O u r 2 0 2 4 C l o u d N a t i v e S u r v e y c o v e r s : M i c r o s e r v i c e s , c o n t a i n e r o r c h e s t r a t i o n , a n d t o o l s / s o l u t i o n s K u b e r n e t e s u s e c a s e s , p a i n p o i n t s , a n d s e c u r i t y m e a s u r e s C l o u d i n f r a s t r u c t u r e , c o s t s , t e c h d e b t , a n d s e c u r i t y t h r e a t s A I f o r r e l e a s e m a n a g e m e n t + m o n i t o r i n g / o b s e r v a b i l i t y J o i n t h e C l o u d N a t i v e R e s e a r c h D o n t f o r g e t t o e n t e r t h e $ 7 5 0 r a f f l e a t t h e e n d o f t h e s u r v e y ! F i v e r a n d o m p e o p l e w i l l b e s e l e c t e d t o e a c h r e c e i v e $ 1 5 0 ( U S D ) . Y o u r r e s p o n s e s h e l p i n f o r m t h e n a r r a t i v e o f o u r T r e n d R e p o r t s , s o w e t r u l y c a n n o t d o t h i s w i t h o u t y o u . S t a y t u n e d f o r e a c h r e p o r t s l a u n c h a n d s e e h o w y o u r i n s i g h t s a l i g n w i t h t h e l a r g e r D Z o n e C o m m u n i t y . W e t h a n k y o u i n a d v a n c e f o r y o u r h e l p ! — T h e D Z o n e P u b l i c a t i o n s t e a m M o r e A p p l y i n g t h e P a r e t o P r i n c i p l e T o L e a r n a N e w P r o g r a m m i n g L a n g u a g e B y K r i s h n a V i n n a k o t a I n t h i s a r t i c l e , I w i l l d i s c u s s h o w y o u c a n a p p l y t h e P a r e t o p r i n c i p l e t o q u i c k l y l e a r n a n e w p r o g r a m m i n g l a n g u a g e a n d s t a r t s o l v i n g r e a l w o r l d p r o b l e m s w h i l e y o u d e v e l o p a d e e p e r u n d e r s t a n d i n g o f t h e p r o g r a m m i n g l a n g u a g e . W h a t I s t h e P a r e t o P r i n c i p l e ? T h e P a r e t o p r i n c i p l e , a l s o k n o w n a s t h e 8 0 / 2 0 r u l e , s t a t e s t h a t f o r m a n y o u t c o m e s , r o u g h l y 8 0 % o f c o n s e q u e n c e s c o m e f r o m 2 0 % o f c a u s e s . A p p l y i n g t h i s t o a p e r s o n a l l e v e l , 8 0 % o f y o u r w o r k r e l a t e d o u t p u t c o u l d c o m e f r o m o n l y 2 0 % o f y o u r t i m e . I f i r s t c a m e t o k n o w a b o u t t h i s p r i n c i p l e a f t e r r e a d i n g t h e b o o k T h e 8 0 / 2 0 P r i n c i p l e : T h e S e c r e t t o A c h i e v i n g M o r e w i t h L e s s w r i t t e n b y R i c h a r d K o c h . H o w t o A p p l y t h e P a r e t o P r i n c i p l e t o Q u i c k l y L e a r n a N e w P r o g r a m m i n g L a n g u a g e W h e n I i n i t i a l l y s t a r t e d t o l e a r n p r o g r a m m i n g , I u s e d i n e f f i c i e n t m e t h o d s t o l e a r n i t . I w a s w a t c h i n g h o u r s a n d h o u r s o f v i d e o c o u r s e s a n d r e a d i n g b o o k s t r y i n g t o m a s t e r a l l t h e c o n c e p t s t h a t e v e r e x i s t e d i n t h e p r o g r a m m i n g l a n g u a g e b e f o r e a t t e m p t i n g t o s o l v e a n y r e a l w o r l d p r o b l e m s . B y d o i n g t h i s , I w a s l o s i n g m o t i v a t i o n t o c o n t i n u e t o l e a r n . O v e r t i m e , I r e a l i z e d t h a t t h i s i s n o t a n e f f i c i e n t w a y t o l e a r n a n e w s k i l l . L e a r n i n g a b o u t t h e 8 0 / 2 0 r u l e m a d e m e r e a l i z e t h a t b y l e a r n i n g a r o u n d 2 0 % o f t h e c o n c e p t s i n a p r o g r a m m i n g l a n g u a g e I c o u l d s o l v e 8 0 % o f t h e p r o b l e m s . I n e e d e d t o l e a r n a n e w p r o g r a m m i n g l a n g u a g e i n a s h o r t p e r i o d o f t i m e a c o u p l e o f t i m e s . T h e f i r s t t i m e , I w a s u s i n g a p r o g r a m m i n g l a n g u a g e a t w o r k t h a t w a s n o t e a s y t o u s e f o r a t t e n d i n g i n t e r v i e w s , a n d I w a n t e d t o s w i t c h t o a n e w p r o g r a m m i n g l a n g u a g e f o r s o l v i n g p r o b l e m s i n t e c h n i c a l i n t e r v i e w s . T h e s e c o n d t i m e , I w a s i n a n e w t e a m t h a t u s e d a c o m p l e t e l y n e w p r o g r a m m i n g l a n g u a g e t h a t I h a d n e v e r u s e d i n t h e p a s t . I u s e d t h e f o l l o w i n g 4 s t e p a p p r o a c h w h i c h m a d e i t e f f i c i e n t t o l e a r n t h e n e w p r o g r a m m i n g l a n g u a g e w h i l e k e e p i n g m e m o t i v a t e d t o i n c r e a s e m y s k i l l l e v e l w i t h t h e p r o g r a m m i n g l a n g u a g e . S t e p 1 : I d e n t i f y k e y c o n c e p t s o f t h e p r o g r a m m i n g l a n g u a g e . I d e n t i f y k e y c o n c e p t s s u c h a s d a t a s t r u c t u r e s , f l o w c o n t r o l s t a t e m e n t s , f u n c t i o n s , c l a s s e s , e t c . S t e p 2 : S p e n d 2 0 % o f y o u r e f f o r t t o l e a r n t h e s e k e y c o n c e p t s . P i c k u p a b o o k o r a c o u r s e , a n d f o c u s o n l e a r n i n g o n l y t h e k e y c o n c e p t s i d e n t i f i e d i n S t e p 1 . S t e p 3 : S o l v e s o m e r e a l l i f e p r o b l e m s u s i n g t h e s e c o n c e p t s . D e p e n d i n g o n t h e p u r p o s e o f l e a r n i n g , p i c k s o m e r e a l l i f e p r o b l e m s a n d t r y t o s o l v e t h e m u s i n g t h e c o n c e p t s t h a t y o u l e a r n e d i n t h e 2 s t e p s a b o v e . F o r e x a m p l e , i f y o u a r e p l a n n i n g t o d o t e c h n i c a l i n t e r v i e w s , t r y t o s o l v e s o m e p r o b l e m s f r o m w e b s i t e s l i k e L e e t C o d e o r H a c k e r R a n k . S t e p 4 : L e a r n a d d i t i o n a l c o n c e p t s a s y o u e n c o u n t e r t h e m . I f y o u a r e s t u c k s o l v i n g t h e p r o b l e m , s e a r c h f o r h o w t o s o l v e t h i s p r o b l e m a n d l e a r n t h e a d d i t i o n a l a d v a n c e d c o n c e p t s a s y o u e n c o u n t e r t h e m . W h a t A r e S o m e I m p o r t a n t P r o g r a m m i n g C o n c e p t s ? A s a n e x a m p l e , l e t s l o o k a t s o m e o f t h e c o r e c o n c e p t s o f P y t h o n t h a t c a n b e q u i c k l y l e a r n e d b e f o r e a t t e m p t i n g t o s o l v e s o m e p r o b l e m s u s i n g P y t h o n : D a t a s t r u c t u r e s : R e v i e w i m p o r t a n t a v a i l a b l e d a t a s t r u c t u r e s s u c h a s s t r i n g s , l i s t s , t u p l e s , d i c t i o n a r i e s , a n d s e t s . L o o p s : P y t h o n o f f e r s t w o t y p e s o f l o o p s t h e f o r l o o p a n d t h e w h i l e l o o p . A l s o , u n d e r s t a n d h o w t o u s e c o n t i n u e a n d b r e a k s t a t e m e n t s w i t h i n t h e l o o p s . C o n d i t i o n a l s t a t e m e n t s : U n d e r s t a n d h o w t o u s e c o n d i t i o n a l s t a t e m e n t s s u c h a s i f , e l s e , a n d e l i f . L o g i c a l o p e r a t o r s : L e a r n l o g i c a l o p e r a t o r s s u c h a s a n d , o r , n o t , e t c . F u n c t i o n s : L e a r n h o w t o d e f i n e f u n c t i o n s , p a s s a r g u m e n t s t o t h e f u n c t i o n s , a n d r e t u r n v a l u e s f r o m t h e f u n c t i o n s . C l a s s e s : L e a r n h o w t o c r e a t e a n d u s e C l a s s e s . I m p o r t a n t b u i l t i n f u n c t i o n s : T r y t o l e a r n i m p o r t a n t b u i l t i n f u n c t i o n s s u c h a s r a n g e ( ) , f o r m a t ( ) , m a x ( ) , m i n ( ) , l e n ( ) , t y p e ( ) , s o r t e d ( ) , p r i n t ( ) , r o u n d ( ) , e t c . O t h e r c o n c e p t s : L a m b d a s , l i s t c o m p r e h e n s i o n s C o n c l u s i o n L e a r n i n g a n e w p r o g r a m m i n g l a n g u a g e m a y l o o k d a u n t i n g b u t l e v e r a g i n g t h e P a r e t o p r i n c i p l e w i l l m a k e i t e a s i e r t o l e a r n i t q u i c k l y b y s p e n d i n g 2 0 % o f t h e t i m e m a s t e r i n g i m p o r t a n t c o n c e p t s s u c h a s d a t a s t r u c t u r e s , l o o p s , c o n d i t i o n a l s t a t e m e n t s , f u n c t i o n s , a n d c l a s s e s a n d a p p l y i n g t h e k n o w l e d g e t o s o l v e 8 0 % o f r e a l l i f e p r o b l e m s . M o r e T r e n d R e p o r t L o w C o d e D e v e l o p m e n t L o w c o d e , n o c o d e , c i t i z e n d e v e l o p m e n t , A I a u t o m a t i o n , s c a l a b i l i t y — i f y o u w o r k i n t h e t e c h w o r l d , i t s l i k e l y t h a t y o u h a v e b e e n e n c o u r a g e d t o u s e t o o l s i n a t l e a s t o n e o f t h e s e s p a c e s . A n d i t s f o r a g o o d r e a s o n a s G a r t n e r h a s p r o j e c t e d t h a t b y 2 0 2 5 , 7 0 % o f a p p l i c a t i o n s d e v e l o p e d w i t h i n o r g a n i z a t i o n s w i l l h a v e b e e n b u i l t u s i n g l o w a n d / o r n o c o d e t e c h n o l o g i e s . S o d o e s t h e p r a c t i c e l i v e u p t o t h e h y p e ? Y e a r o v e r y e a r , t h e a n s w e r i s a r e s o u n d i n g y e s a s t h e i n d u s t r y c o n t i n u e s t o e v o l v e . O r g a n i z a t i o n s h a v e a n i n c r e a s e d d e m a n d f o r m o r e f r e q u e n t a p p l i c a t i o n r e l e a s e s a n d u p d a t e s , a n d w i t h t h a t c o m e s t h e n e e d f o r i n c r e a s e d e f f i c i e n c i e s . A n d t h i s i s w h e r e l o w c o d e a n d n o c o d e d e v e l o p m e n t p r a c t i c e s s h i n e . S p r i n k l e A I a u t o m a t i o n i n t o l o w a n d n o c o d e d e v e l o p m e n t , a n d t h e s c a l a b i l i t y o p p o r t u n i t i e s a r e e n d l e s s . T h i s T r e n d R e p o r t c o v e r s t h e e v o l v i n g l a n d s c a p e o f l o w a n d n o c o d e d e v e l o p m e n t b y p r o v i d i n g a t e c h n i c a l e x p l o r a t i o n o f i n t e g r a t i o n t e c h n i q u e s i n t o c u r r e n t d e v e l o p m e n t p r o c e s s e s , t h e r o l e A I p l a y s i n r e l a t i o n t o l o w a n d n o c o d e d e v e l o p m e n t , g o v e r n a n c e , i n t e l l i g e n t a u t o m a t e d t e s t i n g , a n d a d o p t i o n c h a l l e n g e s . I n a d d i t i o n t o f i n d i n g s f r o m o u r o r i g i n a l r e s e a r c h , t e c h n i c a l e x p e r t s f r o m t h e D Z o n e C o m m u n i t y c o n t r i b u t e d a r t i c l e s a d d r e s s i n g i m p o r t a n t t o p i c s i n t h e l o w c o d e s p a c e , i n c l u d i n g s c a l a b i l i t y , c i t i z e n d e v e l o p m e n t , p r o c e s s a u t o m a t i o n , a n d m u c h m o r e . T o e n s u r e t h a t y o u , t h e d e v e l o p e r , c a n f o c u s o n h i g h e r p r i o r i t i e s , t h i s T r e n d R e p o r t a i m s t o p r o v i d e a l l t h e t o o l s n e e d e d t o s u c c e s s f u l l y l e v e r a g e l o w c o d e i n y o u r t e c h s t a c k . D o w n l o a d R e f c a r d # 3 7 1 D a t a P i p e l i n e E s s e n t i a l s B y S u d i p S e n g u p t a C O R E D o w n l o a d R e f c a r d # 3 9 5 O p e n S o u r c e M i g r a t i o n P r a c t i c e s a n d P a t t e r n s B y N u w a n D i a s C O R E D o w n l o a d M o r e A r t i c l e s E n h a n c e I a C S e c u r i t y W i t h M e n d S c a n s W h e t h e r o n t h e c l o u d o r s e t t i n g u p y o u r A I O p s p i p e l i n e , a u t o m a t i o n h a s s i m p l i f i e d t h e s e t u p , c o n f i g u r a t i o n , a n d i n s t a l l a t i o n o f y o u r d e p l o y m e n t . I n f r a s t r u c t u r e a s C o d e ( I a C ) e s p e c i a l l y p l a y s a n i m p o r t a n t r o l e i n s e t t i n g u p t h e i n f r a s t r u c t u r e . W i t h I a C t o o l s , y o u w i l l b e a b l e t o d e s c r i b e t h e c o n f i g u r a t i o n a n d s t a t e o f y o u r i n f r a s t r u c t u r e t h a t a r e d e s i r a b l e . T h e p o p u l a r t o o l s f o r I a C i n c l u d e T e r r a f o r m , P u l u m i , A W S C l o u d F o r m a t i o n , a n d A n s i b l e ; e a c h o f t h e m h a s d i f f e r e n t p o s s i b i l i t i e s f o r a u t o m a t i n g t h e d e p l o y m e n t a n d m a n a g e m e n t o f i n f r a s t r u c t u r e b o t h i n t h e c l o u d a n d o n p r e m i s e s . W i t h t h e g r o w i n g c o m p l e x i t y o f a p p l i c a t i o n s a n d h e i g h t e n e d f o c u s o n s e c u r i t y i n s o f t w a r e d e v e l o p m e n t , t h e t o o l s S o n a r Q u b e a n d M e n d a r e m o r e p r e d i s p o s e d . A s e x p l a i n e d i n m y p r e v i o u s a r t i c l e , S o n a r Q u b e i s a c o d e a n a l y s i s t o o l a i m e d a t h e l p i n g d e v e l o p e r s h a v e h i g h q u a l i t y c o d e b y s p o t t i n g b u g s a n d v u l n e r a b i l i t i e s a c r o s s s e v e r a l p r o g r a m m i n g l a n g u a g e s . S o n a r Q u b e i s v e r y w e l l i n t e g r a t e d i n t o p i p e l i n e s o f C o n t i n u o u s I n t e g r a t i o n / C o n t i n u o u s D e p l o y m e n t , p r o d u c i n g c o n t i n u o u s f e e d b a c k w h i l e f o r c i n g e n f o r c e m e n t o f c o d i n g s t a n d a r d s . M e n d d e a l s w i t h s o f t w a r e c o m p o s i t i o n a n a l y s i s ( S C A ) h e l p i n g o r g a n i z a t i o n s m a n a g e a n d s e c u r e t h e i r o p e n s o u r c e O S c o m p o n e n t s . M e n d , f o r m e r l y W h i t e S o u r c e , i s a v e r y w e l l i n t e g r a t e d s e c u r i t y s o l u t i o n w i t h I a C t o o l s f o r i m p r o v i n g t h e s e c u r i t y p o s t u r e o f i n f r a s t r u c t u r e d e p l o y m e n t s . M e n d a u t o m a t e s v u l n e r a b i l i t y s c a n n i n g a n d m a n a g e m e n t f o r I a C c o d e , a l l o w i n g t h e i r c u s t o m e r s t o m a n a g e i n c u b a t e d s e c u r i t y i s s u e s v e r y e a r l y i n t h e d e v e l o p m e n t c y c l e . T e r r a f o r m f o r I n f r a s t r u c t u r e a s C o d e T e r r a f o r m i s a H a s h i C o r p d e v e l o p e d t o o l t h a t e n a b l e s d e v e l o p e r s a n d o p e r a t i o n s t e a m s t o d e f i n e , p r o v i s i o n , a n d m a n a g e i n f r a s t r u c t u r e u s i n g a d e c l a r a t i v e l a n g u a g e k n o w n a s H a s h i C o r p C o n f i g u r a t i o n L a n g u a g e , H C L . H C L 2 i s t h e c u r r e n t v e r s i o n . T e r r a f o r m i s a p r o v i d e r a g n o s t i c t o o l t h a t p r o v i d e s t h e a b i l i t y t o m a n a g e r e s o u r c e s a c r o s s s e v e r a l c l o u d p l a t f o r m s a n d s e r v i c e s b y u s e o f a s i n g l e t o o l . S o m e o f T e r r a f o r m s s t a n d o u t f e a t u r e s i n c l u d e : D e c l a r a t i v e s y n t a x : T h i s i s a w a y o f t e l l i n g t h e u s e r w h a t t h e y w a n t , a n d T e r r a f o r m b a s i c a l l y f i g u r e s o u t h o w t o c r e a t e i t . P l a n a n d a p p l y w o r k f l o w : T e r r a f o r m s p l a n c o m m a n d s h o w s w h a t c h a n g e s w i l l b e m a d e b e f o r e a c t u a l l y a p p l y i n g t h e m . T h i s r e d u c e s t h e r i s k o f u n i n t e n d e d m o d i f i c a t i o n s . S t a t e m a n a g e m e n t : T e r r a f o r m k e e p s t r a c k o f y o u r c u r r e n t s t a t e . T h i s w i l l t u r n o n i n c r e m e n t a l c h a n g e s a n d d e t e c t d r i f t . M o d u l a r i t y : R e u s a b l e m o d u l e s a l l o w t e a m s t o s t a n d a r d i z e a n d s h a r e i n f r a s t r u c t u r e e l e m e n t s a c r o s s p r o j e c t s . I a C T o o l s i n t h e E c o s y s t e m A l o n g s i d e T e r r a f o r m , a n u m b e r o f o t h e r t o o l s o f f e r d i f f e r e n t c a p a b i l i t i e s b a s e d o n w h a t u s e r s n e e d a n d w h e r e t h e y a r e r u n n i n g o u t o f t h e I a C t o o l . A W S C l o u d F o r m a t i o n : S p e c i f i c a l l y d e s i g n e d f o r A W S , i t p r o v i d e s d e e p i n t e g r a t i o n w i t h A W S s e r v i c e s b u t l a c k s m u l t i c l o u d s u p p o r t . A z u r e R e s o u r c e M a n a g e r ( A R M ) t e m p l a t e s : S i m i l a r t o C l o u d F o r m a t i o n , b u t f o r A z u r e r e s o u r c e s G o o g l e C l o u d D e p l o y m e n t M a n a g e r : G o o g l e C l o u d s n a t i v e I a C s o l u t i o n P u l u m i : A l l o w s d e v e l o p e r s t o u s e f a m i l i a r p r o g r a m m i n g l a n g u a g e s l i k e P y t h o n , T y p e S c r i p t , a n d G o t o d e f i n e i n f r a s t r u c t u r e A n s i b l e : W h i l e p r i m a r i l y a c o n f i g u r a t i o n m a n a g e m e n t t o o l , A n s i b l e c a n a l s o b e u s e d f o r i n f r a s t r u c t u r e p r o v i s i o n i n g . C h e f a n d P u p p e t : C o n f i g u r a t i o n m a n a g e m e n t t o o l s t h a t c a n b e e x t e n d e d f o r i n f r a s t r u c t u r e p r o v i s i o n i n g E n h a n c i n g S e c u r i t y W i t h M e n d W i t h t h e g r o w t h o f I a C a d o p t i o n , t h e d e m a n d f o r b e t t e r s e c u r i t y m a n a g e m e n t a l s o g r o w s . T h i s i s w h e r e M e n d c o m e s i n t o p r o v i d e a r o b u s t s c a n n i n g a n d s e c u r i n g s o l u t i o n f o r I a C c o d e . M e n d w i l l e n a b l e s m o o t h i n c o r p o r a t i o n i n t o t h e d e v e l o p m e n t p r o c e s s a s w e l l a s c o n t i n u o u s s e c u r i t y s c a n n i n g o f T e r r a f o r m a n d o t h e r I a C t o o l s . T h e f o l l o w i n g a r e s o m e w a y s t h r o u g h w h i c h M e n d b o o s t s s e c u r i t y m e a s u r e s w i t h o u t c o m p r o m i s i n g o n p r o d u c t i v i t y : A u t o m a t e d s c a n n i n g : M e n d c a n s c a n y o u r I a C c o d e a u t o m a t i c a l l y i n s e a r c h o f v u l n e r a b i l i t i e s , m i s c o n f i g u r a t i o n s , a n d c o m p l i a n c e i s s u e s . E a r l y d e t e c t i o n : I f i n t e g r a t e d w i t h C I / C D p i p e l i n e s , M e n d w i l l s p o t s e c u r i t y v u l n e r a b i l i t i e s a t a n e a r l y s t a g e d u r i n g t h e d e v e l o p m e n t p h a s e t h u s r e d u c i n g c o s t a n d e f f o r t f o r f i x i n g t h e m l a t e r o n . C u s t o m p o l i c i e s : T e a m s c a n d e v e l o p c u s t o m s e c u r i t y p o l i c i e s t o m e e t t h e i r s p e c i f i c n e e d s a n d c o m p l i a n c e r e q u i r e m e n t s . R e m e d i a t i o n g u i d a n c e : U p o n d e t e c t i o n o f a p r o b l e m , M e n d p r o v i d e s c l e a r i n s t r u c t i o n s o n w h a t s t e p s s h o u l d b e t a k e n t o r e c t i f y i t h e l p i n g d e v e l o p e r s a d d r e s s s e c u r i t y c o n c e r n s p r o m p t l y . C o m p l i a n c e m a p p i n g : I s s u e s i d e n t i f i e d a r e m a p p e d b y m e n d a s p e r t h e p a r t i c u l a r r e q u i r e m e n t s o f d i f f e r e n t s t a n d a r d s o r r e g u l a t i o n s s o t h a t o r g a n i z a t i o n s c a n m a i n t a i n c o m p l i a n c e . C o n t i n u o u s m o n i t o r i n g : E v e n a f t e r d e p l o y m e n t , M e n d c o n t i n u e s t o m o n i t o r y o u r i n f r a s t r u c t u r e f o r n e w v u l n e r a b i l i t i e s o r d r i f t f r o m s e c u r e c o n f i g u r a t i o n s . I n t e g r a t i o n w i t h D e v O p s t o o l s : M e n d i n t e g r a t e s w i t h f a m o u s v e r s i o n c o n t r o l s y s t e m s , C I / C D p l a t f o r m s , a n d t i c k e t i n g s y s t e m s , m a k i n g i t p a r t o f e x i s t i n g w o r k f l o w s . T h i s p r o a c t i v e a p p r o a c h t o s e c u r i t y a l l o w s t e a m s t o m o v e f a s t a n d i n n o v a t e w h i l e s i g n i f i c a n t l y m i n i m i z i n g t h e r i s k o f s e c u r i t y b r e a c h e s , m i s c o n f i g u r a t i o n s , a n d c o m p l i a n c e v i o l a t i o n s w h e n t h e y a d o p t M e n d i n t h e i r I a C p r a c t i c e s . A l o n g w i t h T e r r a f o r m , M e n d s u p p o r t s t h e f o l l o w i n g I a C e n v i r o n m e n t s a n d t h e i r c o n f i g u r a t i o n f i l e s : B i c e p C l o u d F o r m a t i o n K u b e r n e t e s A R M T e m p l a t e s S e r v e r l e s s H e l m I n t e g r a t e M e n d W i t h G i t H u b M e n d p r o v i d e s s e v e r a l i n t e g r a t i o n o p t i o n s a n d t o o l s t h a t G i t H u b u s e r s c a n u s e t o f u r t h e r d r i v e s e c u r i t y a n d v u l n e r a b i l i t y m a n a g e m e n t i n t h e i r r e p o s i t o r i e s . O v e r v i e w o f M e n d s P r e s e n c e o n G i t H u b M e n d f o r G i t H u b . c o m A p p T h i s G i t H u b A p p h a s b o t h S C A a n d S A S T c a p a b i l i t i e s . I t c a n b e i n s t a l l e d d i r e c t l y f r o m t h e G i t H u b M a r k e t p l a c e t o a l l o w e a s y i n t e g r a t i o n w i t h y o u r r e p o s i t o r i e s . M e n d B o l t M e n d B o l t p e r f o r m s r e p o s i t o r y s c a n s l o o k i n g f o r v u l n e r a b i l i t i e s i n o p e n s o u r c e c o m p o n e n t s . I t i s a v a i l a b l e f r e e o f c o s t a s a n a p p o n t h e G i t H u b M a r k e t p l a c e , s u p p o r t i n g o v e r 2 0 0 p r o g r a m m i n g l a n g u a g e s w h i l e s u p p o r t i n g t h e f o l l o w i n g f e a t u r e s : S c a n n i n g : T h i s h a p p e n s a u t o m a t i c a l l y a f t e r e v e r y p u s h . I t d e t e c t s v u l n e r a b i l i t i e s i n o p e n s o u r c e l i b r a r i e s a n d h a s a f i v e s c a n p e r d a y l i m i t p e r r e p o s i t o r y . O p e n i n g i s s u e s f o r v u l n e r a b l e , o p e n s o u r c e l i b r a r i e s D e p e n d e n c y t r e e m a n a g e m e n t , a l o n g w i t h t h e v i s u a l i z i n g o f d e p e n d e n c y t r e e s C h e c k s f o r s u g g e s t e d f i x e s f o r v u l n e r a b i l i t i e s I n t e g r a t i o n w i t h G i t H u b C h e c k s s t o p s p u l l r e q u e s t s w i t h n e w v u l n e r a b i l i t i e s f r o m g e t t i n g m e r g e d . M e n d T o o l k i t M e n d m a i n t a i n s a G i t H u b O r g a n i z a t i o n , m e n d t o o l k i t , c o n t a i n i n g v a r i o u s r e p o s i t o r i e s t h a t h o s t i n t e g r a t i o n k n o w l e d g e b a s e s , e x a m p l e s o f i m p l e m e n t a t i o n , a n d t o o l s . T h i s i n c l u d e s : M e n d i m p l e m e n t a t i o n e x a m p l e s M e n d S B O M E x p o r t e r C L I P a r s i n g s c r i p t s f o r Y A M L f i l e s I m p o r t t o o l s f o r S P D X o r C S V S B O M i n t o M e n d M e n d E x a m p l e s R e p o s i t o r y U n d e r t h e m e n d t o o l k i t o r g a n i z a t i o n , t h e r e i s a m e n d e x a m p l e s r e p o s i t o r y w i t h e x a m p l e s o f s e v e r a l s c a n n i n g a n d r e s u l t p u l l i n g t e c h n i q u e s i n M e n d . T h i s i n c l u d e s , a m o n g o t h e r t h i n g s : S C M i n t e g r a t i o n I n t e g r a t i n g s e l f h o s t e d r e p o s e t u p I n t e g r a t i o n o f C I / C D E x a m p l e s o f p o l i c y c h e c k s M e n d p r i o r i t i z e s s c a n s b y l a n g u a g e T e r m s M e n d S A S T a n d M e n d S C A i m p l e m e n t a t i o n s S e t U p M e n d f o r G i t H u b I n t h i s a r t i c l e , y o u w i l l l e a r n h o w t o s e t u p M e n d B o l t . 1 . I n s t a l l t h e M e n d A p p G o t o t h e G i t H u b M a r k e t p l a c e . C l i c k I n s t a l l a n d s e l e c t t h e r e p o s i t o r i e s y o u w a n t t o s c a n . I n s t a l l M e n d B o l t f o r G i t H u b A f t e r s e l e c t i n g t h e r e p o s i t o r i e s , c l i c k o n I n s t a l l a n d c o m p l e t e a u t h o r i z a t i o n . 2 . C o m p l e t e t h e M e n d R e g i s t r a t i o n Y o u l l b e r e d i r e c t e d t o t h e M e n d r e g i s t r a t i o n p a g e . C o m p l e t e t h e r e g i s t r a t i o n i f y o u a r e a n e w M e n d u s e r a n d c l i c k o n S u b m i t . M e n d R e g i s t r a t i o n 3 . M e r g e t h e C o n f i g u r a t i o n P u l l R e q u e s t M e n d w i l l a u t o m a t i c a l l y c r e a t e a p u l l r e q u e s t ( P R ) i n y o u r r e p o s i t o r y . T h i s P R a d d s a . w h i t e s o u r c e c o n f i g u r a t i o n f i l e : M e n d P R R e v i e w t h e P R a n d m e r g e i t t o i n i t i a t e y o u r f i r s t s c a n . R e v i e w a n d m e r g e t h e P R 4 . C u s t o m i z e S c a n S e t t i n g s O p e n t h e . w h i t e s o u r c e f i l e i n y o u r r e p o s i t o r y . M o d i f y s e t t i n g s a s n e e d e d . T h e k e y s e t t i n g t o e n a b l e I a C s c a n s i s e n a b l e I a C : t r u e . J S O N , c h e c k R u n S e t t i n g s : , i s s u e S e t t i n g s : } C h e c k t h e o t h e r c o n f i g u r a t i o n o p t i o n s ( C o n f i g u r e M e n d f o r G i t H u b . c o m f o r I a C ) . N o t e : I a c s c a n s c a n o n l y b e p e r f o r m e d o n b a s e b r a n c h e s . J S O N , c h e c k R u n S e t t i n g s : } C o m m i t c h a n g e s t o u p d a t e y o u r s c a n c o n f i g u r a t i o n . 5 . M o n i t o r a n d R e v i e w R e s u l t s M e n d w i l l n o w s c a n y o u r r e p o s i t o r y o n e a c h p u s h ( l i m i t e d t o 5 s c a n s / d a y p e r r e p o f o r M e n d B o l t ) . M e n d s c a n r e p o r t C h e c k t h e I s s u e s t a b i n y o u r G i t H u b r e p o s i t o r y f o r v u l n e r a b i l i t y r e p o r t s . R e v i e w t h e M e n d d a s h b o a r d f o r a c o m p r e h e n s i v e o v e r v i e w o f y o u r s e c u r i t y s t a t u s . 6 . R e m e d i a t e I s s u e s F o r e a c h v u l n e r a b i l i t y , M e n d p r o v i d e s d e t a i l e d i n f o r m a t i o n a n d s u g g e s t e d f i x e s . C r e a t e p u l l r e q u e s t s t o u p d a t e v u l n e r a b l e d e p e n d e n c i e s b a s e d o n M e n d s r e c o m m e n d a t i o n s . 7 . C o n t i n u o u s M o n i t o r i n g R e g u l a r l y r e v i e w M e n d s c a n r e s u l t s a n d G i t H u b i s s u e s . K e e p y o u r . w h i t e s o u r c e c o n f i g u r a t i o n f i l e u p d a t e d a s y o u r s e c u r i t y n e e d s e v o l v e . Y o u h a v e s u c c e s s f u l l y i n t e g r a t e d M e n d w i t h G i t H u b , e n a b l i n g a u t o m a t e d s e c u r i t y s c a n n i n g a n d v u l n e r a b i l i t y m a n a g e m e n t f o r y o u r r e p o s i t o r i e s . A l o n g w i t h G i t H u b , M e n d s u p p o r t s , G i t E n t e r p r i s e , G i t L a b , B i t B u c k e t , e t c . , y o u c a n f i n d t h e s u p p o r t e d p l a t f o r m s i n t h e M e n d d o c u m e n t a t i o n . C o n c l u s i o n T h e p o w e r o f I a C t o o l s l i k e T e r r a f o r m , c o m b i n e d w i t h r o b u s t s e c u r i t y s o l u t i o n s s u c h a s M e n d , s e t s a n y i n f r a s t r u c t u r e m a n a g e m e n t b a s e o n v e r y s t r o n g g r o u n d . T h e s e t e c h n o l o g i e s a n d b e s t p r a c t i c e s h e l p k e e p o r g a n i z a t i o n s s a f e w h i l e e n s u r i n g a d a p t a b i l i t y a n d s c a l a b i l i t y f o r m o d e r n , f a s t m o v i n g d i g i t a l e n v i r o n m e n t s . I n d e e d , t h e i m p o r t a n c e o f i n t e g r a t i n g s e c u r i t y t h r o u g h o u t t h e w h o l e l i f e c y c l e o f o u r i n f r a s t r u c t u r e c a n n o t b e o v e r e m p h a s i z e d a s w e c o n t i n u e r a i s i n g t h e b a r o n w h a t i s p o s s i b l e w i t h i n f r a s t r u c t u r e a u t o m a t i o n . T h e r e a r e a d d i t i o n a l b e s t p r a c t i c e s l i k e v e r s i o n c o n t r o l , m o d u l a r i z a t i o n , u s e o f r i g h t a c c e s s p e r m i s s i o n s , a u d i t i n g y o u r c o d e f o r c o m p l i a n c e , e t c . , p r o v i d i n g a d d e d s e c u r i t y t o y o u r I a C c o d e . B y V i d y a s a g a r ( S a r a t h C h a n d r a ) M a c h u p a l l i F B C S C O R E N e x t G e n L i e D e t e c t o r : S t a c k S e l e c t i o n T h e f i r s t l i e d e t e c t o r w h i c h r e l i e d o n e y e m o v e m e n t a p p e a r e d i n 2 0 1 4 . T h e C o n v e r u s t e a m t o g e t h e r w i t h D r . J o h n C . K i r c h e r , D r . D a v i d C . R a s k i n , a n d D r . A n n e C o o k l a u n c h e d E y e D e t e c t — a b r a n d n e w s o l u t i o n t o d e t e c t d e c e p t i o n q u i c k l y a n d a c c u r a t e l y . T h i s e v e n t b e c a m e a t u r n i n g p o i n t i n t h e p o l y g r a p h i n d u s t r y . I n 2 0 2 1 , w e f i n i s h e d w o r k i n g o n a c o n t a c t l e s s l i e d e t e c t i o n t e c h n o l o g y b a s e d o n e y e t r a c k i n g a n d p r e s e n t e d i t a t t h e I n t e r n a t i o n a l S c i e n t i f i c a n d P r a c t i c a l C o n f e r e n c e . A s I w a s p a r t o f t h e d e v e l o p e r s ’ t e a m , i n t h i s a r t i c l e , I w o u l d l i k e t o s h a r e s o m e i n s i g h t s i n t o h o w w e w o r k e d o n t h e c r e a t i o n o f t h e n e w s y s t e m , p a r t i c u l a r l y h o w w e c h o s e o u r b a c k e n d s t a c k . W h a t I s a C o n t a c t l e s s L i e D e t e c t o r a n d H o w D o e s I t W o r k ? W e c r e a t e d a m u l t i f u n c t i o n a l h a r d w a r e a n d s o f t w a r e s y s t e m f o r c o n t a c t l e s s l i e d e t e c t i o n . T h i s i s h o w i t w o r k s : t h e s y s t e m t r a c k s a p e r s o n s p s y c h o p h y s i o l o g i c a l r e a c t i o n s b y m o n i t o r i n g e y e m o v e m e n t s a n d p u p i l d y n a m i c s a n d a u t o m a t i c a l l y c a l c u l a t e s t h e f i n a l t e s t r e s u l t s . I t s s o f t w a r e c o n s i s t s o f 3 a p p l i c a t i o n s . A d m i n i s t r a t o r a p p l i c a t i o n : A l l o w s t h e c r e a t i o n o f t e s t s a n d t h e a d m i n i s t r a t i o n o f p r o c e s s e s O p e r a t o r a p p l i c a t i o n : E n a b l e s s c h e d u l i n g t e s t d a t e s a n d t i m e s , a s s i g n i n g t e s t s , a n d m o n i t o r i n g t h e t e s t i n g p r o c e s s R e s p o n d e n t a p p l i c a t i o n : A l l o w s u s e r s t o t a k e t e s t s u s i n g a s p e c i a l c o d e O n t h e c o m p u t e r s c r e e n , a l o n g w i t h s i m u l t a n e o u s a u d i o ( e i t h e r s y n t h e s i z e d o r p r e r e c o r d e d b y a s p e c i a l i s t ) , t h e r e s p o n d e n t i s g i v e n i n s t r u c t i o n s o n h o w t o t a k e t h e t e s t . T h i s i s f o l l o w e d b y w r i t t e n t r u e / f a l s e s t a t e m e n t s b a s e d o n d e v e l o p e d t e s t i n g m e t h o d o l o g i e s . T h e r e s p o n d e n t r e a d s e a c h s t a t e m e n t a n d p r e s s e s t h e t r u e o r f a l s e k e y a c c o r d i n g t o t h e i r a s s e s s m e n t o f t h e s t a t e m e n t s r e l e v a n c e . A f t e r h a l f a s e c o n d , t h e c o m p u t e r d i s p l a y s t h e n e x t s t a t e m e n t . T h e n , t h e l i e d e t e c t o r m e a s u r e s r e s p o n s e t i m e a n d e r r o r f r e q u e n c y , e x t r a c t s c h a r a c t e r i s t i c s f r o m r e c o r d i n g s o f e y e p o s i t i o n a n d p u p i l s i z e , a n d c a l c u l a t e s t h e s i g n i f i c a n c e o f t h e s t a t e m e n t o r t h e p r o b a b i l i t y o f d e c e p t i o n . T o m a k e i t m o r e v i s u a l h e r e i s a c o m p a r i s o n o f t h e t r a d i t i o n a l l y u s e d p o l y g r a p h a n d l i e d e t e c t o r . C r i t e r i a C l a s s i c P o l y g r a p h C o n t a c t l e s s L i e D e t e c t o r W o r k i n g P r i n c i p l e R e g i s t e r s c h a n g e s i n G S R , c a r d i o v a s c u l a r , a n d r e s p i r a t o r y a c t i v i t y t o m e a s u r e e m o t i o n a l a r o u s a l R e g i s t e r s i n v o l u n t a r y c h a n g e s i n e y e m o v e m e n t s a n d p u p i l d i a m e t e r t o m e a s u r e c o g n i t i v e e f f o r t D u r a t i o n T e s t s t a k e f r o m 1 . 5 t o 5 h o u r s , d e p e n d i n g o n t h e t y p e o f e x a m i n a t i o n T e s t s t a k e f r o m 1 5 t o 4 0 m i n u t e s R e p o r t T i m e F r o m 5 m i n u t e s t o s e v e r a l h o u r s ; w r i t t e n r e p o r t s c a n t a k e s e v e r a l d a y s T e s t r e s u l t s a n d r e p o r t s i n l e s s t h a n 5 m i n u t e s a u t o m a t i c a l l y A c c u r a c y S c r e e n i n g t e s t : 8 5 % I n v e s t i g a t i o n : 8 9 % S c r e e n i n g t e s t : 8 6 9 0 % I n v e s t i g a t i o n : 8 9 % S e n s o r c o n t a c t S e n s o r s a r e p l a c e d o n t h e b o d y , s o m e o f w h i c h c a u s e d i s c o m f o r t , p a r t i c u l a r l y t h e t w o p n e u m a t i c t u b e s a r o u n d t h e c h e s t a n d t h e b l o o d p r e s s u r e c u f f N o s e n s o r s a r e a t t a c h e d t o t h e p e r s o n O b j e c t i v i t y S p e c i a l i s t s i n t e r p r e t c h a n g e s i n r e s p o n s e s . T h e s p e c i a l i s t c a n i n f l u e n c e t h e r e s u l t . M a n u a l e v a l u a t i o n o f p o l y g r a p h s r e q u i r e s t r a i n i n g a n d i s a p o t e n t i a l s o u r c e o f e r r o r s . A u t o m a t e d t e s t i n g p r o c e s s e n s u r i n g m a x i m u m r e l i a b i l i t y a n d o b j e c t i v i t y . A I e v a l u a t e s r e s p o n s e s a n d g e n e r a t e s a r e p o r t . T r a i n i n g S p e c i a l i s t s u n d e r g o 2 t o 1 0 w e e k s o f t r a i n i n g . R e g u l a r a d v a n c e d t r a i n i n g c o u r s e s S t a n d a r d o p e r a t o r t r a i n i n g t a k e s l e s s t h a n 4 h o u r s ; a d m i n i s t r a t o r t r a i n i n g f o r c r e a t i n g t e s t s t a k e s 8 h o u r s . R e m o t e t r a i n i n g w i t h a q u a l i f i c a t i o n e x a m . A s y o u c a n s e e , o u r l i e d e t e c t o r m a d e t h e p r o c e s s m o r e c o m f o r t a b l e a n d c o n v e n i e n t c o m p a r e d t o t r a d i t i o n a l l i e d e t e c t o r s . F i r s t o f a l l , t h e t e s t s t a k e l e s s t i m e , f r o m 1 5 t o 4 0 m i n u t e s . B e s i d e s , o n e c a n g e t t h e r e s u l t s a l m o s t i m m e d i a t e l y . T h e y a r e g e n e r a t e d a u t o m a t i c a l l y w i t h i n m i n u t e s . A n o t h e r a d v a n t a g e i s t h a t t h e r e a r e n o p h y s i c a l l y a t t a c h e d s e n s o r s w h i c h c a n b e e v e n m o r e u n c o m f o r t a b l e i n a n a l r e a d y s t r e s s f u l e n v i r o n m e n t . O p e r a t o r t r a i n i n g i s a l s o l e s s t i m e c o n s u m i n g . M o s t i m p o r t a n t l y , t h e r e s u l t s c r e d i b i l i t y i s s t i l l v e r y h i g h . B a c k e n d S t a c k C h o i c e O u r t e a m h a d e x p e r i e n c e w i t h P y t h o n a n d a s y n c i o . P r e v i o u s l y , w e d e v e l o p e d p r o j e c t s u s i n g T o r n a d o . B u t a t t h a t t i m e F a s t A P I w a s g a i n i n g p o p u l a r i t y , s o t h i s t i m e w e d e c i d e d t o u s e P y t h o n w i t h F a s t A P I a n d S Q L A l c h e m y ( w i t h a s y n c h r o n o u s s u p p o r t ) . T o c o m p l e m e n t o u r c h o i c e o f a p o p u l a r b a c k e n d s t a c k , w e d e c i d e d t o h o s t o u r i n f r a s t r u c t u r e o n v i r t u a l m a c h i n e s u s i n g D o c k e r . A v o i d i n g C e l e r y G i v e n t h e n a t u r e o f o u r l i e d e t e c t o r , s e v e r a l m a t h e m a t i c a l o p e r a t i o n s r e q u i r e t i m e t o c o m p l e t e , m a k i n g r e a l t i m e e x e c u t i o n d u r i n g H T T P r e q u e s t s i m p r a c t i c a l . W e d e v e l o p e d m u l t i p l e b a c k g r o u n d t a s k s . A l t h o u g h C e l e r y i s a p o p u l a r f r a m e w o r k f o r s u c h t a s k s , w e o p t e d t o i m p l e m e n t o u r o w n t a s k m a n a g e r . T h i s d e c i s i o n s t e m m e d f r o m o u r u s e o f C I / C D , w h e r e w e r e s t a r t v a r i o u s s e r v i c e s i n d e p e n d e n t l y . S o m e t i m e s , s e r v i c e s c o u l d l o s e c o n n e c t i o n w i t h R e d i s d u r i n g t h e s e r e s t a r t s . O u r c u s t o m t a s k m a n a g e r , e x t e n d i n g t h e b a s e a i o r e d i s l i b r a r y , e n s u r e s r e c o n n e c t i o n i f a c o n n e c t i o n i s l o s t . B a c k g r o u n d T a s k s A r c h i t e c t u r e A t t h e p r o j e c t s o u t s e t , w e h a d a f e w b a c k g r o u n d t a s k s , w h i c h i n c r e a s e d a s f u n c t i o n a l i t y e x p a n d e d . S o m e t a s k s w e r e i n t e r d e p e n d e n t , r e q u i r i n g s e q u e n t i a l e x e c u t i o n . I n i t i a l l y , w e u s e d a q u e u e m a n a g e r w h e r e e a c h t a s k , u p o n c o m p l e t i o n , w o u l d t r i g g e r t h e n e x t t a s k v i a a m e s s a g e q u e u e . H o w e v e r , a s y n c h r o n o u s e x e c u t i o n c o u l d l e a d t o d a t a i s s u e s d u e t o v a r y i n g e x e c u t i o n s p e e d s o f r e l a t e d t a s k s . W e t h e n r e p l a c e d t h i s w i t h a t a s k m a n a g e r t h a t u s e s g R P C t o c a l l r e l a t e d t a s k s , e n s u r i n g e x e c u t i o n o r d e r a n d r e s o l v i n g d a t a d e p e n d e n c y i s s u e s b e t w e e n t a s k s . L o g g i n g W e c o u l d n t u s e p o p u l a r b u g t r a c k i n g s y s t e m s l i k e S e n t r y f o r a f e w r e a s o n s . F i r s t , w e d i d n ’ t w a n t t o u s e a n y t h i r d p a r t y s e r v i c e s m a n a g e d a n d d e p l o y e d o u t s i d e o f o u r i n f r a s t r u c t u r e , s o w e w e r e l i m i t e d t o u s i n g a s e l f h o s t e d S e n t r y . A t t h a t t i m e , w e o n l y h a d o n e d e d i c a t e d s e r v e r d i v i d e d i n t o m u l t i p l e v i r t u a l s e r v e r s , a n d t h e r e w e r e n t e n o u g h r e s o u r c e s f o r S e n t r y . A d d i t i o n a l l y , w e n e e d e d t o s t o r e n o t o n l y b u g s b u t a l s o a l l i n f o r m a t i o n a b o u t r e q u e s t s a n d r e s p o n s e s , w h i c h r e q u i r e d t h e u s e o f E l a s t i c . T h u s , w e c h o s e t o s t o r e l o g s i n E l a s t i c s e a r c h . H o w e v e r , m e m o r y l e a k i s s u e s l e d u s t o s w i t c h t o P r o m e t h e u s a n d T y p e s e n s e . M a i n t a i n i n g b a c k w a r d c o m p a t i b i l i t y b e t w e e n E l a s t i c s e a r c h a n d T y p e s e n s e w a s a p r i o r i t y f o r u s , a s w e w e r e s t i l l d e t e r m i n i n g i f t h e n e w s e t u p w o u l d m e e t o u r n e e d s . T h i s d e c i s i o n w o r k e d q u i t e w e l l , a n d w e s a w i m p r o v e m e n t s i n r e s o u r c e u s a g e . T h e m a i n r e a s o n f o r s w i t c h i n g f r o m E l a s t i c t o T y p e s e n s e w a s r e s o u r c e u s a g e . E l a s t i c o f t e n r e q u i r e s a h u g e a m o u n t o f m e m o r y , w h i c h i s n e v e r s u f f i c i e n t . T h i s i s a c o m m o n p r o b l e m d i s c u s s e d i n v a r i o u s f o r u m s , s u c h a s t h i s o n e . S i n c e T y p e s e n s e i s d e v e l o p e d i n C , i t r e q u i r e s c o n s i d e r a b l y f e w e r r e s o u r c e s . F u l l T e x t S e a r c h ( F T S ) U s i n g P o s t g r e S Q L a s o u r m a i n d a t a b a s e , w e n e e d e d a n e f f i c i e n t F T S m e c h a n i s m . B a s e d o n p r e v i o u s e x p e r i e n c e , P o s t g r e S Q L s b u i l t i n t s _ q u e r y a n d t s _ v e c t o r c o u l d h a v e p e r f o r m e d b e t t e r w i t h C y r i l l i c t e x t . T h u s , w e d e c i d e d t o s y n c h r o n i z e P o s t g r e S Q L w i t h E l a s t i c s e a r c h . W h i l e n o t t h e f a s t e s t s o l u t i o n , i t p r o v i d e d e n o u g h s p e e d a n d f l e x i b i l i t y f o r o u r n e e d s . P D F R e p o r t G e n e r a t i o n A s y o u m a y k n o w , g e n e r a t i n g P D F s i n P y t h o n c a n b e q u i t e c o m p l i c a t e d . T h i s i s s u e i s r a t h e r c o m m o n — t h e m a i n c h a l l e n g e h e r e i s t h a t t o g e n e r a t e a P D F i n P y t h o n y o u n e e d t o c r e a t e a n H T M L f i l e a n d o n l y t h e n c o n v e r t i t t o P D F , s i m i l a r t o h o w i t s d o n e i n o t h e r l a n g u a g e s . T h i s c o n v e r s i o n p r o c e s s c a n s o m e t i m e s p r o d u c e u n p r e d i c t a b l e a r t i f a c t s t h a t a r e d i f f i c u l t t o d e b u g . M e a n w h i l e , g e n e r a t i n g P D F s w i t h J a v a S c r i p t i s m u c h e a s i e r . W e u s e d P u p p e t e e r t o c r e a t e a n H T M L p a g e a n d t h e n s a v e i t a s a P D F j u s t a s w e w o u l d i n a b r o w s e r , a v o i d i n g t h e s e p r o b l e m s a l t o g e t h e r . T o C o n c l u d e I n c o n c l u s i o n , I w o u l d l i k e t o s t r e s s t h a t t h i s p r o j e c t t u r n e d o u t t o b e d e m a n d i n g i n t e r m s o f c h o o s i n g t h e r i g h t s o l u t i o n s b u t a t t h e s a m e t i m e , i t w a s m o r e t h a n r e w a r d i n g . W e r e c e i v e d n u m e r o u s u n c o n v e n t i o n a l c u s t o m e r r e q u e s t s t h a t o f t e n q u e s t i o n e d s t a n d a r d r u l e s a n d b e s t p r a c t i c e s . T h e m o s t e x c i t i n g p a r t o f t h e j o u r n e y w a s i m p l e m e n t i n g m a t h e m a t i c a l m o d e l s d e v e l o p e d b y a n o t h e r t e a m i n t o t h e b a c k e n d a r c h i t e c t u r e a n d d e s i g n i n g a d a t a b a s e a r c h i t e c t u r e t o h a n d l e a v a s t a m o u n t o f u n i q u e d a t a . I t m a d e m e r e a l i z e o n c e a g a i n t h a t p o p u l a r t e c h n o l o g i e s a n d t o o l s a r e n o t a l w a y s t h e b e s t o p t i o n f o r e v e r y c a s e . W e a l w a y s n e e d t o e x p l o r e d i f f e r e n t m e t h o d o l o g i e s a n d r e m a i n o p e n t o u n c o n v e n t i o n a l s o l u t i o n s f o r c o m m o n t a s k s . B y G r i g o r i i N o v i k o v D a t a I n t e g r a t i o n T e c h n o l o g y M a t u r i t y C u r v e 2 0 2 4 2 0 3 0 W h e n i t c o m e s t o d a t a i n t e g r a t i o n , s o m e p e o p l e m a y w o n d e r w h a t t h e r e i s t o d i s c u s s — i s n t i t j u s t E T L ? T h a t i s , e x t r a c t i n g f r o m v a r i o u s d a t a b a s e s , t r a n s f o r m i n g , a n d u l t i m a t e l y l o a d i n g i n t o d i f f e r e n t d a t a w a r e h o u s e s . H o w e v e r , w i t h t h e r i s e o f b i g d a t a , d a t a l a k e s , r e a l t i m e d a t a w a r e h o u s e s , a n d l a r g e s c a l e m o d e l s , t h e a r c h i t e c t u r e o f d a t a i n t e g r a t i o n h a s e v o l v e d f r o m t h e E T L o f t h e d a t a w a r e h o u s e e r a t o t h e E L T o f t h e b i g d a t a e r a a n d n o w t o t h e c u r r e n t s t a g e o f E t L T . I n t h e g l o b a l t e c h l a n d s c a p e , e m e r g i n g E t L T c o m p a n i e s l i k e F i v e T r a n , A i r b y t e , a n d M a t i l l i o n h a v e e m e r g e d , w h i l e g i a n t s l i k e I B M h a v e i n v e s t e d $ 2 . 3 b i l l i o n i n a c q u i r i n g S t r e a m S e t s a n d w e b M e t h o d s t o u p g r a d e t h e i r p r o d u c t l i n e s f r o m E T L t o E t L T ( D a t a O p s ) . W h e t h e r y o u r e a d a t a p r o f e s s i o n a l o r a m a n a g e r , i t s c r u c i a l t o r e e v a l u a t e t h e r e c e n t c h a n g e s a n d f u t u r e t r e n d s i n d a t a i n t e g r a t i o n . C h a p t e r 1 : F r o m E T L t o E L T , t o E t L T W h e n i t c o m e s t o d a t a i n t e g r a t i o n , m a n y i n t h e i n d u s t r y m a y t h i n k i t s j u s t a b o u t E T L . H o w e v e r , w i t h t h e r i s e o f b i g d a t a , d a t a l a k e s , r e a l t i m e d a t a w a r e h o u s e s , a n d l a r g e s c a l e m o d e l s , t h e a r c h i t e c t u r e o f d a t a i n t e g r a t i o n h a s e v o l v e d f r o m t h e E T L o f t h e d a t a w a r e h o u s e e r a t o t h e E L T o f t h e b i g d a t a e r a a n d n o w t o t h e E t L T . G l o b a l l y , n e w e m e r g i n g E t L T c o m p a n i e s l i k e F i v e T r a n , A i r b y t e , a n d M a t l l i o n h a v e b e e n e s t a b l i s h e d , w h i l e e s t a b l i s h e d p l a y e r s l i k e I B M a r e u p g r a d i n g t h e i r p r o d u c t l i n e s f r o m E T L t o E t L T ( D a t a O p s ) w i t h o f f e r i n g s s u c h a s S t r e a m S e t a n d w e b M e t h o d s . W h e t h e r y o u r e a m a n a g e r i n a n e n t e r p r i s e o r a p r o f e s s i o n a l i n t h e d a t a f i e l d , i t s e s s e n t i a l t o r e e x a m i n e t h e c h a n g e s i n d a t a i n t e g r a t i o n i n r e c e n t t i m e s a n d f u t u r e t r e n d s . E T L A r c h i t e c t u r e M o s t e x p e r t s i n t h e d a t a f i e l d a r e f a m i l i a r w i t h t h e t e r m E T L . D u r i n g t h e h e y d a y o f d a t a w a r e h o u s i n g , E T L t o o l s l i k e I B M D a t a S t a g e , I n f o r m a t i c a , T a l e n d , a n d K e t t l e w e r e p o p u l a r . S o m e c o m p a n i e s s t i l l u s e t h e s e t o o l s t o e x t r a c t d a t a f r o m v a r i o u s d a t a b a s e s , t r a n s f o r m i t , a n d l o a d i t i n t o d i f f e r e n t d a t a w a r e h o u s e s f o r r e p o r t i n g a n d a n a l y s i s . T h e p r o s a n d c o n s o f t h e E T L a r c h i t e c t u r e a r e a s f o l l o w s : A d v a n t a g e s o f E T L A r c h i t e c t u r e D a t a c o n s i s t e n c y a n d q u a l i t y I n t e g r a t i o n o f c o m p l e x d a t a s o u r c e s C l e a r t e c h n i c a l a r c h i t e c t u r e I m p l e m e n t a t i o n o f b u s i n e s s r u l e s D i s a d v a n t a g e s o f E T L A r c h i t e c t u r e L a c k o f r e a l t i m e p r o c e s s i n g H i g h h a r d w a r e c o s t s L i m i t e d f l e x i b i l i t y M a i n t e n a n c e c o s t s L i m i t e d h a n d l i n g o f u n s t r u c t u r e d d a t a E L T A r c h i t e c t u r e W i t h t h e a d v e n t o f t h e b i g d a t a e r a , f a c i n g t h e c h a l l e n g e s o f E T L s i n a b i l i t y t o l o a d c o m p l e x d a t a s o u r c e s a n d i t s p o o r r e a l t i m e p e r f o r m a n c e , a v a r i a n t o f E T L a r c h i t e c t u r e , E L T , e m e r g e d . C o m p a n i e s s t a r t e d u s i n g E L T t o o l s p r o v i d e d b y v a r i o u s d a t a w a r e h o u s i n g v e n d o r s , s u c h a s T e r a d a t a s B E T Q / F a s t l o a d / T P T a n d H a d o o p H i v e s A p a c h e S q o o p . T h e c h a r a c t e r i s t i c s o f E L T a r c h i t e c t u r e i n c l u d e d i r e c t l y l o a d i n g d a t a i n t o d a t a w a r e h o u s e s o r b i g d a t a p l a t f o r m s w i t h o u t c o m p l e x t r a n s f o r m a t i o n s a n d t h e n u s i n g S Q L o r H S Q L t o p r o c e s s t h e d a t a . T h e p r o s a n d c o n s o f t h e E L T a r c h i t e c t u r e a r e a s f o l l o w s : A d v a n t a g e s o f E L T A r c h i t e c t u r e H a n d l i n g l a r g e d a t a v o l u m e s I m p r o v e d d e v e l o p m e n t a n d o p e r a t i o n a l e f f i c i e n c y C o s t e f f e c t i v e n e s s F l e x i b i l i t y a n d s c a l a b i l i t y I n t e g r a t i o n w i t h n e w t e c h n o l o g i e s D i s a d v a n t a g e s o f E L T A r c h i t e c t u r e L i m i t e d r e a l t i m e s u p p o r t H i g h d a t a s t o r a g e c o s t s D a t a q u a l i t y i s s u e s D e p e n d e n c e o n t a r g e t s y s t e m c a p a b i l i t i e s E t L T A r c h i t e c t u r e W i t h t h e p o p u l a r i t y o f d a t a l a k e s a n d r e a l t i m e d a t a w a r e h o u s e s , t h e w e a k n e s s e s o f E L T a r c h i t e c t u r e i n r e a l t i m e p r o c e s s i n g a n d h a n d l i n g u n s t r u c t u r e d d a t a h a v e b e e n h i g h l i g h t e d . T h u s , a n e w a r c h i t e c t u r e , E t L T , h a s e m e r g e d . E t L T a r c h i t e c t u r e e n h a n c e s E L T b y a d d i n g r e a l t i m e d a t a e x t r a c t i o n f r o m s o u r c e s l i k e S a a S , B i n l o g , a n d c l o u d c o m p o n e n t s , a s w e l l a s i n c o r p o r a t i n g s m a l l s c a l e t r a n s f o r m a t i o n s b e f o r e l o a d i n g t h e d a t a i n t o t h e t a r g e t s t o r a g e . T h i s t r e n d h a s l e d t o t h e e m e r g e n c e o f s e v e r a l s p e c i a l i z e d c o m p a n i e s w o r l d w i d e , s u c h a s S t r e a m S e t s , A t t u n i t y ( a c q u i r e d b y Q l i k ) , F i v e t r a n , a n d S e a T u n n e l b y t h e A p a c h e F o u n d a t i o n . T h e p r o s a n d c o n s o f t h e E t L T a r c h i t e c t u r e a r e a s f o l l o w s : A d v a n t a g e s o f E t L T A r c h i t e c t u r e R e a l t i m e d a t a p r o c e s s i n g S u p p o r t f o r c o m p l e x d a t a s o u r c e s C o s t r e d u c t i o n F l e x i b i l i t y a n d s c a l a b i l i t y P e r f o r m a n c e o p t i m i z a t i o n S u p p o r t f o r l a r g e m o d e l s D a t a q u a l i t y a n d g o v e r n a n c e D i s a d v a n t a g e s o f E t L T A r c h i t e c t u r e T e c h n i c a l c o m p l e x i t y D e p e n d e n c e o n t a r g e t s y s t e m c a p a b i l i t i e s M a n a g e m e n t a n d m o n i t o r i n g c h a l l e n g e s I n c r e a s e d d a t a c h a n g e m a n a g e m e n t c o m p l e x i t y D e p e n d e n c y o n t o o l s a n d p l a t f o r m s O v e r a l l , i n r e c e n t y e a r s , w i t h t h e r i s e o f d a t a , r e a l t i m e d a t a w a r e h o u s e s , a n d l a r g e m o d e l s , t h e E t L T a r c h i t e c t u r e h a s g r a d u a l l y b e c o m e m a i n s t r e a m w o r l d w i d e i n t h e f i e l d o f d a t a i n t e g r a t i o n . F o r s p e c i f i c h i s t o r i c a l d e t a i l s , y o u c a n r e f e r t o t h e r e l e v a n t c o n t e n t i n t h e a r t i c l e , E L T i s d e a d , a n d E t L T w i l l b e t h e e n d o f m o d e r n d a t a p r o c e s s i n g a r c h i t e c t u r e . U n d e r t h i s o v e r a r c h i n g t r e n d , l e t s i n t e r p r e t t h e m a t u r i t y m o d e l o f t h e e n t i r e d a t a i n t e g r a t i o n t r a c k . O v e r a l l , t h e r e a r e f o u r c l e a r t r e n d s : I n t h e t r e n d o f E T L e v o l v i n g i n t o E t L T , t h e f o c u s o f d a t a i n t e g r a t i o n h a s s h i f t e d f r o m t r a d i t i o n a l b a t c h p r o c e s s i n g t o r e a l t i m e d a t a c o l l e c t i o n a n d b a t c h s t r e a m i n t e g r a t e d d a t a i n t e g r a t i o n . T h e h o t t e s t s c e n a r i o s h a v e a l s o s h i f t e d f r o m p a s t s i n g l e d a t a b a s e b a t c h i n t e g r a t i o n s c e n a r i o s t o h y b r i d c l o u d , S a a S , a n d m u l t i p l e d a t a s o u r c e s i n t e g r a t e d i n a b a t c h s t r e a m m a n n e r . D a t a c o m p l e x i t y t r a n s f o r m a t i o n h a s g r a d u a l l y s h i f t e d f r o m t r a d i t i o n a l E T L t o o l s t o p r o c e s s i n g c o m p l e x t r a n s f o r m a t i o n s i n d a t a w a r e h o u s e s . A t t h e s a m e t i m e , s u p p o r t f o r a u t o m a t i c s c h e m a c h a n g e s ( S c h e m a E v o l u t i o n ) i n t h e c a s e o f D D L ( f i e l d d e f i n i t i o n ) c h a n g e s d u r i n g r e a l t i m e d a t a i n t e g r a t i o n h a s a l s o b e g u n . E v e n a d a p t i n g t o D D L c h a n g e s i n l i g h t w e i g h t t r a n s f o r m a t i o n s h a s b e c o m e a t r e n d . S u p p o r t f o r d a t a s o u r c e t y p e s h a s e x p a n d e d f r o m f i l e s a n d t r a d i t i o n a l d a t a b a s e s t o i n c l u d e e m e r g i n g d a t a s o u r c e s , o p e n s o u r c e b i g d a t a e c o s y s t e m s , u n s t r u c t u r e d d a t a s y s t e m s , c l o u d d a t a b a s e s , a n d s u p p o r t f o r l a r g e m o d e l s . T h e s e a r e a l s o t h e m o s t c o m m o n s c e n a r i o s e n c o u n t e r e d i n e v e r y e n t e r p r i s e , a n d i n t h e f u t u r e , r e a l t i m e d a t a w a r e h o u s e s , l a k e s , c l o u d s , a n d l a r g e m o d e l s w i l l b e u s e d i n d i f f e r e n t s c e n a r i o s w i t h i n e a c h e n t e r p r i s e . I n t e r m s o f c o r e c a p a b i l i t i e s a n d p e r f o r m a n c e , d i v e r s i t y o f d a t a s o u r c e s , h i g h a c c u r a c y , a n d e a s e o f t r o u b l e s h o o t i n g a r e t h e t o p p r i o r i t i e s f o r m o s t e n t e r p r i s e s . C o n v e r s e l y , t h e r e a r e n o t m a n y e x a m i n a t i o n p o i n t s f o r c a p a b i l i t i e s s u c h a s h i g h t h r o u g h p u t a n d h i g h r e a l t i m e p e r f o r m a n c e . R e g a r d i n g d a t a v i r t u a l i z a t i o n , D a t a F a b r i c , a n d Z e r o E T L m e n t i o n e d i n t h e r e p o r t , l e t s d e l v e i n t o t h e i n t e r p r e t a t i o n o f t h e d a t a i n t e g r a t i o n m a t u r i t y m o d e l b e l o w . C h a p t e r 2 : D a t a I n t e g r a t i o n M a t u r i t y M o d e l I n t e r p r e t a t i o n D a t a P r o d u c t i o n T h e d a t a p r o d u c t i o n s e g m e n t r e f e r s t o h o w d a t a i s o b t a i n e d , d i s t r i b u t e d , t r a n s f o r m e d , a n d s t o r e d w i t h i n t h e c o n t e x t o f d a t a i n t e g r a t i o n . T h i s p a r t p o s e s t h e g r e a t e s t w o r k l o a d a n d c h a l l e n g e s i n i n t e g r a t i n g d a t a . W h e n u s e r s i n t h e i n d u s t r y u s e d a t a i n t e g r a t i o n t o o l s , t h e i r p r i m a r y c o n s i d e r a t i o n i s w h e t h e r t h e t o o l s s u p p o r t i n t e g r a t i o n w i t h t h e i r d a t a b a s e s , c l o u d s e r v i c e s , a n d S a a S s y s t e m s . I f t h e s e t o o l s d o n o t s u p p o r t t h e u s e r s p r o p r i e t a r y s y s t e m s , t h e n a d d i t i o n a l c o s t s a r e i n c u r r e d f o r c u s t o m i z i n g i n t e r f a c e s o r e x p o r t i n g d a t a i n t o c o m p a t i b l e f i l e s , w h i c h c a n p o s e c h a l l e n g e s t o t h e t i m e l i n e s s a n d a c c u r a c y o f d a t a . D a t a C o l l e c t i o n M o s t d a t a i n t e g r a t i o n t o o l s n o w s u p p o r t b a t c h c o l l e c t i o n , r a t e l i m i t i n g , a n d H T T P c o l l e c t i o n . H o w e v e r , r e a l t i m e d a t a a c q u i s i t i o n ( C D C ) a n d D D L c h a n g e d e t e c t i o n a r e s t i l l i n t h e i r g r o w t h a n d p o p u l a r i t y s t a g e s . P a r t i c u l a r l y , t h e a b i l i t y t o h a n d l e D D L c h a n g e s i n s o u r c e s y s t e m s i s c r u c i a l . R e a l t i m e d a t a p r o c e s s i n g i s o f t e n i n t e r r u p t e d b y c h a n g e s i n s o u r c e s y s t e m s t r u c t u r e s . E f f e c t i v e l y a d d r e s s i n g t h e t e c h n i c a l c o m p l e x i t y o f D D L c h a n g e s r e m a i n s a c h a l l e n g e , a n d v a r i o u s i n d u s t r y v e n d o r s a r e s t i l l e x p l o r i n g s o l u t i o n s . D a t a T r a n s f o r m a t i o n W i t h t h e g r a d u a l d e c l i n e o f E T L a r c h i t e c t u r e s , c o m p l e x b u s i n e s s p r o c e s s i n g ( e . g . , J o i n , G r o u p B y ) w i t h i n i n t e g r a t i o n t o o l s h a s g r a d u a l l y f a d e d i n t o h i s t o r y . E s p e c i a l l y i n r e a l t i m e s c e n a r i o s , t h e r e i s l i m i t e d m e m o r y a v a i l a b l e f o r o p e r a t i o n s l i k e s t r e a m w i n d o w J o i n a n d a g g r e g a t i o n . T h e r e f o r e , m o s t E T L t o o l s a r e m i g r a t i n g t o w a r d s E L T a n d E t L T a r c h i t e c t u r e s . L i g h t w e i g h t d a t a t r a n s f o r m a t i o n u s i n g S Q L l i k e l a n g u a g e s h a s b e c o m e m a i n s t r e a m , a l l o w i n g d e v e l o p e r s t o p e r f o r m d a t a c l e a n i n g w i t h o u t h a v i n g t o l e a r n v a r i o u s d a t a i n t e g r a t i o n t o o l s . A d d i t i o n a l l y , t h e i n t e g r a t i o n o f d a t a c o n t e n t m o n i t o r i n g a n d D D L c h a n g e t r a n s f o r m a t i o n p r o c e s s i n g , c o m b i n e d w i t h n o t i f i c a t i o n , a l e r t s , a n d a u t o m a t i o n , i s m a k i n g d a t a t r a n s f o r m a t i o n a m o r e i n t e l l i g e n t p r o c e s s . D a t a D i s t r i b u t i o n T r a d i t i o n a l J D B C l o a d i n g , H T T P , a n d b u l k l o a d i n g h a v e b e c o m e e s s e n t i a l f e a t u r e s o f e v e r y m a i n s t r e a m d a t a i n t e g r a t i o n t o o l , w i t h c o m p e t i t i o n f o c u s i n g o n t h e b r e a d t h o f d a t a s o u r c e s u p p o r t . A u t o m a t e d D D L c h a n g e s r e d u c e d e v e l o p e r s w o r k l o a d a n d e n s u r e t h e s m o o t h e x e c u t i o n o f d a t a i n t e g r a t i o n t a s k s . V a r i o u s v e n d o r s e m p l o y t h e i r m e t h o d s t o h a n d l e c o m p l e x s c e n a r i o s w h e r e d a t a t a b l e d e f i n i t i o n s c h a n g e . I n t e g r a t i o n w i t h l a r g e m o d e l s i s e m e r g i n g a s a n e w t r e n d , a l l o w i n g i n t e r n a l e n t e r p r i s e d a t a t o i n t e r f a c e w i t h l a r g e m o d e l s , t h o u g h i t i s c u r r e n t l y t h e d o m a i n o f e n t h u s i a s t s i n s o m e o p e n s o u r c e c o m m u n i t i e s . D a t a S t o r a g e N e x t g e n e r a t i o n d a t a i n t e g r a t i o n t o o l s c o m e w i t h c a c h i n g c a p a b i l i t i e s . P r e v i o u s l y , t h i s c a c h i n g e x i s t e d l o c a l l y , b u t n o w d i s t r i b u t e d s t o r a g e a n d d i s t r i b u t e d c h e c k p o i n t / s n a p s h o t t e c h n o l o g i e s a r e u s e d . E f f e c t i v e u t i l i z a t i o n o f c l o u d s t o r a g e i s a l s o b e c o m i n g a n e w d i r e c t i o n , e s p e c i a l l y i n s c e n a r i o s i n v o l v i n g l a r g e d a t a c a c h e s r e q u i r i n g d a t a r e p l a y a n d r e c o r d i n g . D a t a S t r u c t u r e M i g r a t i o n T h i s p a r t d e a l s w i t h w h e t h e r a u t o m a t i c t a b l e c r e a t i o n a n d i n s p e c t i o n c a n b e p e r f o r m e d d u r i n g t h e d a t a i n t e g r a t i o n p r o c e s s . A u t o m a t i c t a b l e c r e a t i o n i n v o l v e s a u t o m a t i c a l l y c r e a t i n g t a b l e s / d a t a s t r u c t u r e s i n t h e t a r g e t s y s t e m t h a t a r e c o m p a t i b l e w i t h t h o s e i n t h e s o u r c e s y s t e m . T h i s s i g n i f i c a n t l y r e d u c e s t h e w o r k l o a d o f d a t a d e v e l o p m e n t e n g i n e e r s . A u t o m a t i c s c h e m a i n f e r e n c e i s a m o r e c o m p l e x s c e n a r i o . I n t h e E t L T a r c h i t e c t u r e , i n t h e e v e n t o f r e a l t i m e d a t a D D L c h a n g e s o r c h a n g e s i n d a t a f i e l d s , a u t o m a t i c i n f e r e n c e o f t h e i r r a t i o n a l i t y a l l o w s u s e r s t o i d e n t i f y i s s u e s w i t h d a t a i n t e g r a t i o n t a s k s b e f o r e t h e y r u n . T h e i n d u s t r y i s s t i l l i n t h e e x p e r i m e n t a t i o n p h a s e r e g a r d i n g t h i s a s p e c t . C o m p u t a t i o n a l M o d e l T h e c o m p u t a t i o n a l m o d e l e v o l v e s w i t h t h e c h a n g i n g l a n d s c a p e o f E T L , E L T , a n d E t L T . I t h a s t r a n s i t i o n e d f r o m e m p h a s i z i n g c o m p u t a t i o n i n t h e e a r l y s t a g e s t o f o c u s i n g o n t r a n s m i s s i o n i n t h e m i d d l e s t a g e s , a n d n o w e m p h a s i z e s l i g h t w e i g h t c o m p u t a t i o n d u r i n g r e a l t i m e t r a n s m i s s i o n : O f f l i n e D a t a S y n c h r o n i z a t i o n T h i s h a s b e c o m e t h e m o s t b a s i c d a t a i n t e g r a t i o n r e q u i r e m e n t f o r e v e r y e n t e r p r i s e . H o w e v e r , t h e p e r f o r m a n c e v a r i e s u n d e r d i f f e r e n t a r c h i t e c t u r e s . O v e r a l l , E T L a r c h i t e c t u r e t o o l s h a v e m u c h l o w e r p e r f o r m a n c e t h a n E L T a n d E t L T t o o l s u n d e r c o n d i t i o n s o f l a r g e s c a l e d a t a . R e a l T i m e D a t a S y n c h r o n i z a t i o n W i t h t h e p o p u l a r i t y o f r e a l t i m e d a t a w a r e h o u s e s a n d d a t a l a k e s , r e a l t i m e d a t a s y n c h r o n i z a t i o n h a s b e c o m e a n e s s e n t i a l f a c t o r f o r e v e r y e n t e r p r i s e t o c o n s i d e r w h e n i n t e g r a t i n g d a t a . M o r e a n d m o r e c o m p a n i e s a r e b e g i n n i n g t o u s e r e a l t i m e s y n c h r o n i z a t i o n . B a t c h S t r e a m i n g I n t e g r a t i o n N e w g e n e r a t i o n d a t a i n t e g r a t i o n e n g i n e s a r e d e s i g n e d f r o m t h e o u t s e t t o c o n s i d e r b a t c h s t r e a m i n t e g r a t i o n , p r o v i d i n g m o r e e f f e c t i v e s y n c h r o n i z a t i o n m e t h o d s f o r d i f f e r e n t e n t e r p r i s e s c e n a r i o s . I n c o n t r a s t , m o s t t r a d i t i o n a l e n g i n e s w e r e d e s i g n e d t o f o c u s o n e i t h e r r e a l t i m e o r o f f l i n e s c e n a r i o s , r e s u l t i n g i n p o o r p e r f o r m a n c e f o r b a t c h d a t a s y n c h r o n i z a t i o n . U n i f i e d u s e o f b a t c h a n d s t r e a m i n g c a n p e r f o r m b e t t e r i n d a t a i n i t i a l i z a t i o n a n d h y b r i d b a t c h s t r e a m e n v i r o n m e n t s . C l o u d N a t i v e O v e r s e a s d a t a i n t e g r a t i o n t o o l s a r e m o r e a g g r e s s i v e i n t h i s a s p e c t b e c a u s e t h e y a r e b i l l e d o n a p a y a s y o u g o b a s i s . T h e r e f o r e , t h e a b i l i t y t o q u i c k l y o b t a i n / r e l e a s e r e s p o n s i v e c o m p u t i n g r e s o u r c e s f o r e a c h t a s k i s t h e c o r e c o m p e t i t i v e n e s s a n d p r o f i t s o u r c e f o r e v e r y c o m p a n y . I n c o n t r a s t , p r o g r e s s i n b i g d a t a c l o u d n a t i v e i n t e g r a t i o n i n C h i n a i s s t i l l r e l a t i v e l y s l o w , s o i t r e m a i n s a s u b j e c t o f e x p l o r a t i o n f o r o n l y a f e w c o m p a n i e s d o m e s t i c a l l y . D a t a T y p e s a n d T y p i c a l S c e n a r i o s F i l e C o l l e c t i o n T h i s i s a b a s i c f e a t u r e o f e v e r y i n t e g r a t i o n t o o l . H o w e v e r , u n l i k e i n t h e p a s t , a p a r t f r o m s t a n d a r d t e x t f i l e s , t h e c o l l e c t i o n o f d a t a i n f o r m a t s l i k e P a r q u e t a n d O R C h a s b e c o m e s t a n d a r d . B i g D a t a C o l l e c t i o n W i t h t h e p o p u l a r i t y o f e m e r g i n g d a t a s o u r c e s s u c h a s S n o w f l a k e , R e d s h i f t , H u d i , I c e b e r g , C l i c k H o u s e , D o r i s , a n d S t a r R o c k s , t r a d i t i o n a l d a t a i n t e g r a t i o n t o o l s a r e s i g n i f i c a n t l y l a g g i n g i n t h i s r e g a r d . U s e r s i n C h i n a a n d t h e U n i t e d S t a t e s a r e g e n e r a l l y a t t h e s a m e l e v e l i n t e r m s o f b i g d a t a u s a g e , h e n c e r e q u i r i n g v e n d o r s t o a d a p t t o t h e s e e m e r g i n g d a t a s o u r c e s . B i n l o g C o l l e c t i o n T h i s i s a b u r g e o n i n g i n d u s t r y i n C h i n a , a s i t h a s r e p l a c e d t r a d i t i o n a l t o o l s l i k e D a t a S t a g e a n d I n f o r m a t i c a d u r i n g t h e p r o c e s s o f i n f o r m a t i z a t i o n . H o w e v e r , t h e r e p l a c e m e n t o f d a t a b a s e s l i k e O r a c l e a n d D B 2 h a s n o t b e e n a s r a p i d , r e s u l t i n g i n a l a r g e n u m b e r o f s p e c i a l i z e d B i n l o g d a t a c o l l e c t i o n c o m p a n i e s e m e r g i n g t o s o l v e C D C p r o b l e m s o v e r s e a s . I n f o r m a t i z a t i o n D a t a C o l l e c t i o n T h i s i s a s c e n a r i o u n i q u e t o C h i n a . W i t h t h e p r o c e s s o f i n f o r m a t i z a t i o n , n u m e r o u s d o m e s t i c d a t a b a s e s h a v e e m e r g e d . W h e t h e r t h e s e d a t a b a s e s b a t c h a n d r e a l t i m e c o l l e c t i o n c a n b e a d a p t e d , p r e s e n t s a h i g h e r c h a l l e n g e f o r C h i n e s e v e n d o r s . S h a r d i n g I n m o s t l a r g e e n t e r p r i s e s , s h a r d i n g i s c o m m o n l y u s e d t o r e d u c e t h e p r e s s u r e o n d a t a b a s e s . T h e r e f o r e , w h e t h e r d a t a i n t e g r a t i o n t o o l s s u p p o r t s h a r d i n g h a s b e c o m e a s t a n d a r d f e a t u r e o f p r o f e s s i o n a l d a t a i n t e g r a t i o n t o o l s . M e s s a g e Q u e u e s D r i v e n b y d a t a l a k e s a n d r e a l t i m e d a t a w a r e h o u s e s , e v e r y t h i n g r e l a t e d t o r e a l t i m e i s b o o m i n g . M e s s a g e q u e u e s , a s t h e r e p r e s e n t a t i v e s o f e n t e r p r i s e r e a l t i m e d a t a e x c h a n g e c e n t e r s , h a v e b e c o m e i n d i s p e n s a b l e o p t i o n s f o r a d v a n c e d e n t e r p r i s e s . W h e t h e r d a t a i n t e g r a t i o n t o o l s s u p p o r t a s u f f i c i e n t n u m b e r o f m e m o r y / d i s k m e s s a g e q u e u e t y p e s h a s b e c o m e o n e o f t h e h o t t e s t f e a t u r e s . U n s t r u c t u r e d D a t a N o n s t r u c t u r a l d a t a s o u r c e s s u c h a s M o n g o D B a n d E l a s t i c s e a r c h h a v e b e c o m e e s s e n t i a l f o r e n t e r p r i s e s . D a t a i n t e g r a t i o n a l s o s u p p o r t s s u c h d a t a s o u r c e s c o r r e s p o n d i n g l y . B i g M o d e l D a t a N u m e r o u s s t a r t u p s w o r l d w i d e a r e w o r k i n g o n q u i c k l y i n t e r a c t i n g w i t h e n t e r p r i s e d a t a a n d l a r g e d a t a s e t s . S a a S I n t e g r a t i o n T h i s i s a v e r y p o p u l a r f e a t u r e o v e r s e a s b u t h a s y e t t o g e n e r a t e s i g n i f i c a n t d e m a n d i n C h i n a . D a t a U n i f i e d S c h e d u l i n g I n t e g r a t i n g d a t a i n t e g r a t i o n w i t h s c h e d u l i n g s y s t e m s , e s p e c i a l l y c o o r d i n a t i n g r e a l t i m e d a t a t h r o u g h s c h e d u l i n g s y s t e m s a n d s u b s e q u e n t d a t a w a r e h o u s e t a s k s , i s e s s e n t i a l f o r b u i l d i n g r e a l t i m e d a t a w a r e h o u s e s . R e a l T i m e D a t a W a r e h o u s e / D a t a L a k e T h e s e a r e c u r r e n t l y t h e m o s t p o p u l a r s c e n a r i o s f o r e n t e r p r i s e s . R e a l t i m e d a t a e n t r y i n t o w a r e h o u s e s / l a k e s e n a b l e s t h e a d v a n t a g e s o f n e x t g e n e r a t i o n d a t a w a r e h o u s e s / l a k e s t o b e r e a l i z e d . D a t a D i s a s t e r R e c o v e r y B a c k u p W i t h t h e e n h a n c e m e n t o f d a t a i n t e g r a t i o n r e a l t i m e c a p a b i l i t i e s a n d C D C s u p p o r t , i n t e g r a t i o n i n t h e t r a d i t i o n a l d i s a s t e r r e c o v e r y f i e l d h a s e m e r g e d . S o m e d a t a i n t e g r a t i o n a n d d i s a s t e r r e c o v e r y v e n d o r s h a v e b e g u n t o w o r k i n e a c h o t h e r s a r e a s . H o w e v e r , d u e t o s i g n i f i c a n t d i f f e r e n c e s i n d e t a i l b e t w e e n d i s a s t e r r e c o v e r y a n d i n t e g r a t i o n s c e n a r i o s , v e n d o r s p e n e t r a t i n g e a c h o t h e r s d o m a i n s m a y l a c k f u n c t i o n a l i t y a n d r e q u i r e i t e r a t i v e i m p r o v e m e n t s o v e r t i m e . O p e r a t i o n a n d M o n i t o r i n g I n d a t a i n t e g r a t i o n , o p e r a t i o n a n d m o n i t o r i n g a r e e s s e n t i a l f u n c t i o n a l i t i e s . E f f e c t i v e o p e r a t i o n a n d m o n i t o r i n g s i g n i f i c a n t l y r e d u c e t h e w o r k l o a d o f s y s t e m o p e r a t i o n a n d d e v e l o p m e n t p e r s o n n e l i n c a s e o f d a t a i s s u e s . F l o w C o n t r o l M o d e r n d a t a i n t e g r a t i o n t o o l s c o n t r o l t r a f f i c f r o m m u l t i p l e a s p e c t s s u c h a s t a s k p a r a l l e l i s m , s i n g l e t a s k J D B C p a r a l l e l i s m , a n d s i n g l e J D B C r e a d i n g v o l u m e , e n s u r i n g m i n i m a l i m p a c t o n s o u r c e s y s t e m s . T a s k / T a b l e L e v e l S t a t i s t i c s T a s k l e v e l a n d t a b l e l e v e l s y n c h r o n i z a t i o n s t a t i s t i c s a r e c r u c i a l f o r m a n a g i n g o p e r a t i o n s a n d m a i n t e n a n c e p e r s o n n e l d u r i n g d a t a i n t e g r a t i o n p r o c e s s e s . S t e p B y S t e p T r i a l R u n D u e t o s u p p o r t f o r r e a l t i m e d a t a , S a a S , a n d l i g h t w e i g h t t r a n s f o r m a t i o n , r u n n i n g a c o m p l e x d a t a f l o w d i r e c t l y b e c o m e s m o r e c o m p l i c a t e d . T h e r e f o r e , s o m e a d v a n c e d c o m p a n i e s h a v e i n t r o d u c e d s t e p b y s t e p t r i a l r u n f u n c t i o n a l i t y f o r e f f i c i e n t d e v e l o p m e n t a n d o p e r a t i o n . T a b l e C h a n g e E v e n t C a p t u r e T h i s i s a n e m e r g i n g f e a t u r e i n r e a l t i m e d a t a p r o c e s s i n g , a l l o w i n g u s e r s t o m a k e c h a n g e s o r a l e r t s i n a p r e d e f i n e d m a n n e r w h e n t a b l e c h a n g e s o c c u r i n t h e s o u r c e s y s t e m , t h e r e b y m a x i m i z i n g t h e s t a b i l i t y o f r e a l t i m e d a t a . B a t c h S t r e a m I n t e g r a t e d S c h e d u l i n g A f t e r r e a l t i m e C D C a n d s t r e a m p r o c e s s i n g , i n t e g r a t i o n w i t h t r a d i t i o n a l b a t c h d a t a w a r e h o u s e t a s k s i s i n e v i t a b l e . H o w e v e r , e n s u r i n g a c c u r a t e s t a r t u p o f b a t c h d a t a w i t h o u t a f f e c t i n g d a t a s t r e a m o p e r a t i o n r e m a i n s a c h a l l e n g e . T h i s i s w h y i n t e g r a t i o n a n d b a t c h s t r e a m i n t e g r a t e d s c h e d u l i n g a r e r e l a t e d . I n t e l l i g e n t D i a g n o s i s / T u n i n g / R e s o u r c e O p t i m i z a t i o n I n c l u s t e r a n d c l o u d n a t i v e s c e n a r i o s , e f f e c t i v e l y u t i l i z i n g e x i s t i n g r e s o u r c e s a n d r e c o m m e n d i n g c o r r e c t s o l u t i o n s i n c a s e o f p r o b l e m s a r e h o t t o p i c s a m o n g t h e m o s t a d v a n c e d d a t a i n t e g r a t i o n c o m p a n i e s . H o w e v e r , a c h i e v i n g p r o d u c t i o n l e v e l i n t e l l i g e n t a p p l i c a t i o n s m a y t a k e s o m e t i m e . C o r e C a p a b i l i t i e s T h e r e a r e m a n y i m p o r t a n t f u n c t i o n a l i t i e s i n d a t a i n t e g r a t i o n , b u t t h e f o l l o w i n g p o i n t s a r e t h e m o s t c r i t i c a l . T h e l a c k o f t h e s e c a p a b i l i t i e s m a y h a v e a s i g n i f i c a n t i m p a c t d u r i n g e n t e r p r i s e u s a g e . F u l l / I n c r e m e n t a l S y n c h r o n i z a t i o n S e p a r a t e f u l l / i n c r e m e n t a l s y n c h r o n i z a t i o n h a s b e c o m e a n e c e s s a r y f e a t u r e o f e v e r y d a t a i n t e g r a t i o n t o o l . H o w e v e r , t h e a u t o m a t i c s w i t c h f r o m f u l l t o i n c r e m e n t a l m o d e h a s n o t y e t b e c o m e w i d e s p r e a d a m o n g s m a l l a n d m e d i u m s i z e d v e n d o r s , r e q u i r i n g m a n u a l s w i t c h i n g b y u s e r s . C D C C a p t u r e A s e n t e r p r i s e d e m a n d s f o r r e a l t i m e d a t a i n c r e a s e , C D C c a p t u r e h a s b e c o m e a c o r e c o m p e t i t i v e a d v a n t a g e o f d a t a i n t e g r a t i o n . T h e s u p p o r t f o r t h e C D C f r o m m u l t i p l e d a t a s o u r c e s , t h e r e q u i r e m e n t s , a n d t h e i m p a c t o f t h e C D C o n s o u r c e d a t a b a s e s , o f t e n b e c o m e t h e c o r e c o m p e t i t i v e n e s s o f d a t a i n t e g r a t i o n t o o l s . D a t a D i v e r s i t y S u p p o r t i n g m u l t i p l e d a t a s o u r c e s h a s b e c o m e a r e d o c e a n c o m p e t i t i o n i n d a t a i n t e g r a t i o n t o o l s . B e t t e r s u p p o r t f o r u s e r s e x i s t i n g s y s t e m d a t a s o u r c e s o f t e n l e a d s t o a m o r e a d v a n t a g e o u s p o s i t i o n i n b u s i n e s s c o m p e t i t i o n . C h e c k p o i n t R e s u m p t i o n W h e t h e r r e a l t i m e a n d b a t c h d a t a i n t e g r a t i o n s u p p o r t s c h e c k p o i n t r e s u m p t i o n i s h e l p f u l i n q u i c k l y r e c o v e r i n g f r o m e r r o r d a t a s c e n e s i n m a n y s c e n a r i o s o r a s s i s t i n g i n r e c o v e r y i n s o m e e x c e p t i o n a l c a s e s . H o w e v e r , o n l y a f e w t o o l s c u r r e n t l y s u p p o r t t h i s f e a t u r e . C o n c u r r e n c y / L i m i t i n g S p e e d D a t a i n t e g r a t i o n t o o l s n e e d t o b e h i g h l y c o n c u r r e n t w h e n s p e e d i s r e q u i r e d a n d e f f e c t i v e l y r e d u c e t h e i m p a c t o n s o u r c e s y s t e m s w h e n s l o w . T h i s h a s b e c o m e a n e c e s s a r y f e a t u r e o f i n t e g r a t i o n t o o l s . M u l t i T a b l e S y n c h r o n i z a t i o n / W h o l e D a t a b a s e M i g r a t i o n T h i s r e f e r s n o t o n l y t o c o n v e n i e n t s e l e c t i o n i n t h e i n t e r f a c e b u t a l s o t o w h e t h e r J D B C o r e x i s t i n g i n t e g r a t i o n t a s k s c a n b e r e u s e d a t t h e e n g i n e l e v e l , t h e r e b y m a k i n g b e t t e r u s e o f e x i s t i n g r e s o u r c e s a n d c o m p l e t i n g d a t a i n t e g r a t i o n q u i c k l y . P e r f o r m a n c e O p t i m i z a t i o n I n a d d i t i o n t o c o r e c a p a b i l i t i e s , p e r f o r m a n c e o f t e n r e p r e s e n t s w h e t h e r u s e r s n e e d m o r e r e s o u r c e s o r w h e t h e r t h e h a r d w a r e a n d c l o u d c o s t s o f d a t a i n t e g r a t i o n t o o l s a r e l o w e n o u g h . H o w e v e r , e x t r e m e p e r f o r m a n c e i s c u r r e n t l y u n n e c e s s a r y , a n d i t i s o f t e n c o n s i d e r e d t h e t h i r d f a c t o r a f t e r i n t e r f a c e s u p p o r t a n d c o r e c a p a b i l i t i e s . T i m e l i n e s s M i n u t e l e v e l i n t e g r a t i o n h a s g r a d u a l l y e x i t e d t h e s t a g e o f h i s t o r y , a n d s u p p o r t i n g s e c o n d l e v e l d a t a i n t e g r a t i o n h a s b e c o m e a v e r y p o p u l a r f e a t u r e . H o w e v e r , m i l l i s e c o n d l e v e l d a t a i n t e g r a t i o n s c e n a r i o s a r e s t i l l r e l a t i v e l y r a r e , m o s t l y a p p e a r i n g i n d i s a s t e r r e c o v e r y s p e c i a l s c e n a r i o s . D a t a S c a l e M o s t s c e n a r i o s c u r r e n t l y i n v o l v e T b l e v e l d a t a i n t e g r a t i o n , w h i l e P b l e v e l d a t a i n t e g r a t i o n i s i m p l e m e n t e d b y o p e n s o u r c e t o o l s u s e d b y I n t e r n e t g i a n t s . E b l e v e l d a t a i n t e g r a t i o n w i l l n o t a p p e a r i n t h e s h o r t t e r m . H i g h T h r o u g h p u t H i g h t h r o u g h p u t m a i n l y d e p e n d s o n w h e t h e r i n t e g r a t i o n t o o l s c a n e f f e c t i v e l y u t i l i z e n e t w o r k a n d C P U r e s o u r c e s t o a c h i e v e t h e m a x i m u m v a l u e o f t h e o r e t i c a l d a t a i n t e g r a t i o n . I n t h i s r e g a r d , t o o l s b a s e d o n E L T a n d E t L T h a v e o b v i o u s a d v a n t a g e s o v e r E T L t o o l s . D i s t r i b u t e d I n t e g r a t i o n D y n a m i c f a u l t t o l e r a n c e i s m o r e i m p o r t a n t t h a n d y n a m i c s c a l i n g a n d c l o u d n a t i v e . T h e a b i l i t y o f a l a r g e d a t a i n t e g r a t i o n t a s k t o a u t o m a t i c a l l y t o l e r a t e e r r o r s i n h a r d w a r e a n d n e t w o r k f a i l u r e s i t u a t i o n s i s a b a s i c f u n c t i o n w h e n d o i n g l a r g e s c a l e d a t a i n t e g r a t i o n . S c a l a b i l i t y a n d c l o u d n a t i v e a r e d e r i v e d r e q u i r e m e n t s i n t h i s s c e n a r i o . A c c u r a c y H o w d a t a i n t e g r a t i o n e n s u r e s c o n s i s t e n c y i s a c o m p l e x t a s k . I n a d d i t i o n t o u s i n g m u l t i p l e t e c h n o l o g i e s t o e n s u r e E x a c t l y O n c e C R C v e r i f i c a t i o n i s d o n e . T h i r d p a r t y d a t a q u a l i t y i n s p e c t i o n t o o l s a r e a l s o n e e d e d r a t h e r t h a n j u s t s e l f c e r t i f i c a t i o n . T h e r e f o r e , d a t a i n t e g r a t i o n t o o l s o f t e n c o o p e r a t e w i t h d a t a s c h e d u l i n g t o o l s t o v e r i f y d a t a a c c u r a c y . S t a b i l i t y T h i s i s t h e r e s u l t o f m u l t i p l e f u n c t i o n s . E n s u r i n g t h e s t a b i l i t y o f i n d i v i d u a l t a s k s i s i m p o r t a n t i n t e r m s o f a v a i l a b i l i t y , t a s k i s o l a t i o n , d a t a i s o l a t i o n , p e r m i s s i o n s , a n d e n c r y p t i o n c o n t r o l . W h e n p r o b l e m s o c c u r i n a s i n g l e t a s k o r d e p a r t m e n t , t h e y s h o u l d n o t a f f e c t o t h e r t a s k s a n d d e p a r t m e n t s . E c o l o g y E x c e l l e n t d a t a i n t e g r a t i o n t o o l s h a v e a l a r g e e c o s y s t e m t h a t s u p p o r t s s y n c h r o n i z a t i o n w i t h m u l t i p l e d a t a s o u r c e s a n d i n t e g r a t i o n w i t h u p s t r e a m a n d d o w n s t r e a m s c h e d u l i n g a n d m o n i t o r i n g s y s t e m s . M o r e o v e r , t o o l u s a b i l i t y i s a l s o a n i m p o r t a n t i n d i c a t o r i n v o l v i n g e n t e r p r i s e p e r s o n n e l c o s t s . C h a p t e r 3 : T r e n d s I n t h e c o m i n g y e a r s , w i t h t h e p r o l i f e r a t i o n o f t h e E t L T a r c h i t e c t u r e , m a n y n e w s c e n a r i o s w i l l e m e r g e i n d a t a i n t e g r a t i o n , w h i l e d a t a v i r t u a l i z a t i o n a n d D a t a F a b r i c w i l l a l s o h a v e s i g n i f i c a n t i m p a c t s o n f u t u r e d a t a i n t e g r a t i o n : M u l t i C l o u d I n t e g r a t i o n T h i s i s a l r e a d y w i d e s p r e a d g l o b a l l y , w i t h m o s t d a t a i n t e g r a t i o n s h a v i n g c r o s s c l o u d i n t e g r a t i o n c a p a b i l i t i e s . I n C h i n a , d u e t o t h e l i m i t e d p r e v a l e n c e o f c l o u d s , t h i s a s p e c t i s s t i l l i n t h e e a r l y i n c u b a t i o n s t a g e . E T L I n t e g r a t i o n A s t h e E T L c y c l e d e c l i n e s , m o s t e n t e r p r i s e s w i l l g r a d u a l l y m i g r a t e f r o m t o o l s l i k e K e t t l e , I n f o r m a t i c a , T a l e n d , e t c . , t o e m e r g i n g E t L T a r c h i t e c t u r e s , t h e r e b y s u p p o r t i n g b a t c h s t r e a m i n t e g r a t e d d a t a i n t e g r a t i o n a n d m o r e e m e r g i n g d a t a s o u r c e s . E L T C u r r e n t l y , m o s t m a i n s t r e a m b i g d a t a a r c h i t e c t u r e s a r e b a s e d o n E L T . W i t h t h e r i s e o f r e a l t i m e d a t a w a r e h o u s e s a n d d a t a l a k e s , E L T r e l a t e d t o o l s w i l l g r a d u a l l y u p g r a d e t o E t L T t o o l s , o r a d d r e a l t i m e E t L T t o o l s t o c o m p e n s a t e f o r t h e l a c k o f r e a l t i m e d a t a s u p p o r t i n E L T a r c h i t e c t u r e s . E t L T G l o b a l l y , c o m p a n i e s l i k e J P M o r g a n , S h e i n , S h o p p e , e t c . , a r e e m b e d d i n g t h e m s e l v e s i n t h e E t L T a r c h i t e c t u r e . M o r e c o m p a n i e s w i l l i n t e g r a t e t h e i r i n t e r n a l d a t a i n t e g r a t i o n t o o l s i n t o t h e E t L T a r c h i t e c t u r e , c o m b i n e d w i t h b a t c h s t r e a m i n t e g r a t e d s c h e d u l i n g s y s t e m s t o m e e t e n t e r p r i s e D a t a O p s r e l a t e d r e q u i r e m e n t s . A u t o m a t e d G o v e r n a n c e W i t h t h e i n c r e a s e i n d a t a s o u r c e s a n d r e a l t i m e d a t a , t r a d i t i o n a l g o v e r n a n c e p r o c e s s e s c a n n o t m e e t t h e t i m e l i n e s s r e q u i r e m e n t s f o r r e a l t i m e a n a l y s i s . A u t o m a t e d g o v e r n a n c e w i l l g r a d u a l l y r i s e w i t h i n e n t e r p r i s e s i n t h e n e x t f e w y e a r s . B i g M o d e l S u p p o r t A s l a r g e m o d e l s p e n e t r a t e e n t e r p r i s e a p p l i c a t i o n s , p r o v i d i n g d a t a t o l a r g e m o d e l s b e c o m e s a n e c e s s a r y s k i l l f o r d a t a i n t e g r a t i o n . T r a d i t i o n a l E T L a n d E L T a r c h i t e c t u r e s a r e r e l a t i v e l y d i f f i c u l t t o a d a p t t o r e a l t i m e , l a r g e b a t c h d a t a s c e n a r i o s , s o t h e E t L T a r c h i t e c t u r e w i l l d e e p e n i t s p e n e t r a t i o n i n t o m o s t e n t e r p r i s e s a l o n g w i t h t h e p o p u l a r i z a t i o n o f l a r g e m o d e l s . Z e r o E T L T h i s i s a c o n c e p t p r o p o s e d b y A m a z o n , s u g g e s t i n g t h a t d a t a s t o r e d o n S 3 c a n b e a c c e s s e d d i r e c t l y b y v a r i o u s e n g i n e s w i t h o u t t h e n e e d f o r E T L b e t w e e n d i f f e r e n t e n g i n e s . I n a s e n s e , i f t h e d a t a s c e n a r i o i s n o t c o m p l e x , a n d t h e d a t a v o l u m e i s s m a l l , a s m a l l n u m b e r o f e n g i n e s c a n m e e t t h e O L A P a n d O L T P r e q u i r e m e n t s . H o w e v e r , d u e t o l i m i t e d s c e n a r i o s u p p o r t a n d p o o r p e r f o r m a n c e , i t w i l l t a k e s o m e t i m e f o r m o r e c o m p a n i e s t o r e c o g n i z e t h i s a p p r o a c h . D a t a F a b r i c C u r r e n t l y , m a n y c o m p a n i e s p r o p o s e u s i n g D a t a F a b r i c m e t a d a t a t o m a n a g e a l l d a t a , e l i m i n a t i n g t h e n e e d f o r E T L / E L T d u r i n g q u e r i e s a n d d i r e c t l y a c c e s s i n g u n d e r l y i n g d a t a . T h i s t e c h n o l o g y i s s t i l l i n t h e e x p e r i m e n t a l s t a g e , w i t h s i g n i f i c a n t c h a l l e n g e s i n q u e r y r e s p o n s e a n d s c e n a r i o a d a p t a t i o n . I t c a n m e e t t h e n e e d s o f s i m p l e s c e n a r i o s w i t h s m a l l d a t a q u e r i e s , b u t f o r c o m p l e x b i g d a t a s c e n a r i o s , t h e E t L T a r c h i t e c t u r e w i l l s t i l l b e n e c e s s a r y f o r t h e f o r e s e e a b l e f u t u r e . D a t a V i r t u a l i z a t i o n T h e b a s i c i d e a i s s i m i l a r t o t h e e x e c u t i o n l a y e r o f D a t a F a b r i c . D a t a d o e s n o t n e e d t o b e m o v e d ; i n s t e a d , i t i s q u e r i e d d i r e c t l y t h r o u g h a d h o c q u e r y i n t e r f a c e s a n d c o m p u t e e n g i n e s ( e . g . , P r e s t o , T r i n o D B ) t o t r a n s l a t e d a t a s t o r e d i n u n d e r l y i n g d a t a s t o r a g e o r d a t a e n g i n e s . H o w e v e r , i n t h e c a s e o f l a r g e a m o u n t s o f d a t a , e n g i n e q u e r y e f f i c i e n c y a n d m e m o r y c o n s u m p t i o n o f t e n f a i l t o m e e t e x p e c t a t i o n s , s o i t i s o n l y u s e d i n s c e n a r i o s w i t h s m a l l a m o u n t s o f d a t a . C o n c l u s i o n F r o m a n o v e r a l l t r e n d p e r s p e c t i v e , w i t h t h e e x p l o s i v e g r o w t h o f g l o b a l d a t a , t h e e m e r g e n c e o f l a r g e m o d e l s , a n d t h e p r o l i f e r a t i o n o f d a t a e n g i n e s f o r v a r i o u s s c e n a r i o s , t h e r i s e o f r e a l t i m e d a t a h a s b r o u g h t d a t a i n t e g r a t i o n b a c k t o t h e f o r e f r o n t o f t h e d a t a f i e l d . I f d a t a i s c o n s i d e r e d a n e w e n e r g y s o u r c e , t h e n d a t a i n t e g r a t i o n i s l i k e t h e p i p e l i n e o f t h i s n e w e n e r g y . T h e m o r e d a t a e n g i n e s t h e r e a r e , t h e h i g h e r t h e e f f i c i e n c y , d a t a s o u r c e c o m p a t i b i l i t y , a n d u s a b i l i t y r e q u i r e m e n t s o f t h e p i p e l i n e w i l l b e . A l t h o u g h d a t a i n t e g r a t i o n w i l l e v e n t u a l l y f a c e c h a l l e n g e s f r o m Z e r o E T L , d a t a v i r t u a l i z a t i o n , a n d D a t a F a b r i c , i n t h e v i s i b l e f u t u r e , t h e p e r f o r m a n c e , a c c u r a c y , a n d R O I o f t h e s e t e c h n o l o g i e s h a v e a l w a y s f a i l e d t o r e a c h t h e l e v e l o f p o p u l a r i t y o f d a t a i n t e g r a t i o n . O t h e r w i s e , t h e m o s t p o p u l a r d a t a e n g i n e s i n t h e U n i t e d S t a t e s s h o u l d n o t b e S n o w F l a k e o r D e l t a L a k e b u t T r i n o D B . O f c o u r s e , I b e l i e v e t h a t i n t h e n e x t 1 0 y e a r s , u n d e r t h e c i r c u m s t a n c e s o f D a t a F a b r i c x l a r g e m o d e l s , v i r t u a l i z a t i o n + E t L T + d a t a r o u t i n g m a y b e t h e u l t i m a t e s o l u t i o n f o r d a t a i n t e g r a t i o n . I n s h o r t , a s l o n g a s d a t a v o l u m e g r o w s , t h e p i p e l i n e s b e t w e e n d a t a w i l l a l w a y s e x i s t . C h a p t e r 4 : H o w T o U s e t h e D a t a I n t e g r a t i o n M a t u r i t y M o d e l F i r s t l y , t h e m a t u r i t y m o d e l p r o v i d e s a c o m p r e h e n s i v e v i e w o f c u r r e n t a n d p o t e n t i a l f u t u r e t e c h n o l o g i e s t h a t m a y b e u t i l i z e d i n d a t a i n t e g r a t i o n o v e r t h e n e x t 1 0 y e a r s . I t o f f e r s i n d i v i d u a l s i n s i g h t i n t o p e r s o n a l s k i l l d e v e l o p m e n t a n d a s s i s t s e n t e r p r i s e s i n d e s i g n i n g a n d s e l e c t i n g a p p r o p r i a t e t e c h n o l o g i c a l a r c h i t e c t u r e s . A d d i t i o n a l l y , i t g u i d e s k e y d e v e l o p m e n t a r e a s w i t h i n t h e d a t a i n t e g r a t i o n i n d u s t r y . F o r e n t e r p r i s e s , t e c h n o l o g y m a t u r i t y a i d s i n a s s e s s i n g t h e l e v e l o f i n v e s t m e n t i n a p a r t i c u l a r t e c h n o l o g y . F o r a m a t u r e t e c h n o l o g y , i t i s l i k e l y t o h a v e b e e n i n u s e f o r m a n y y e a r s , s u p p o r t i n g b u s i n e s s o p e r a t i o n s e f f e c t i v e l y . H o w e v e r , a s t e c h n o l o g i c a l a d v a n c e m e n t s r e a c h a p l a t e a u , c o n s i d e r a t i o n c a n b e g i v e n t o a d o p t i n g n e w e r , m o r e p r o m i s i n g t e c h n o l o g i e s t o a c h i e v e h i g h e r b u s i n e s s v a l u e . T e c h n o l o g i e s i n d e c l i n e a r e l i k e l y t o f a c e i n c r e a s i n g l i m i t a t i o n s a n d i s s u e s i n s u p p o r t i n g b u s i n e s s o p e r a t i o n s , g r a d u a l l y b e i n g r e p l a c e d b y n e w e r t e c h n o l o g i e s w i t h i n 3 5 y e a r s . W h e n i n t r o d u c i n g s u c h t e c h n o l o g i e s , i t s e s s e n t i a l t o c o n s i d e r t h e i r b u s i n e s s v a l u e a n d t h e c u r r e n t s t a t e o f t h e e n t e r p r i s e . P o p u l a r t e c h n o l o g i e s , o n t h e o t h e r h a n d , a r e p r i o r i t i z e d b y e n t e r p r i s e s d u e t o t h e i r w i d e s p r e a d v a l i d a t i o n a m o n g e a r l y a d o p t e r s , w i t h t h e m a j o r i t y o f b u s i n e s s e s a n d t e c h n o l o g y c o m p a n i e s e n d o r s i n g t h e m . T h e i r b u s i n e s s v a l u e h a s b e e n v e r i f i e d , a n d t h e y a r e e x p e c t e d t o d o m i n a t e t h e m a r k e t i n t h e n e x t 1 2 y e a r s . G r o w i n g t e c h n o l o g i e s r e q u i r e c o n s i d e r a t i o n b a s e d o n t h e i r b u s i n e s s v a l u e , h a v i n g p a s s e d t h e e a r l y a d o p t i o n p h a s e , a n d h a v i n g t h e i r t e c h n o l o g i c a l a n d b u s i n e s s v a l u e s v a l i d a t e d b y e a r l y a d o p t e r s . T h e y h a v e n o t y e t b e e n f u l l y e m b r a c e d i n t h e m a r k e t d u e t o r e a s o n s s u c h a s b r a n d i n g a n d p r o m o t i o n b u t a r e l i k e l y t o b e c o m e p o p u l a r t e c h n o l o g i e s a n d f u t u r e i n d u s t r y s t a n d a r d s . F o r w a r d l o o k i n g t e c h n o l o g i e s a r e g e n e r a l l y c u t t i n g e d g e a n d u s e d b y e a r l y a d o p t e r s , o f f e r i n g s o m e b u s i n e s s v a l u e . H o w e v e r , t h e i r g e n e r a l a p p l i c a b i l i t y a n d R O I h a v e n o t b e e n f u l l y v a l i d a t e d . E n t e r p r i s e s c a n c o n s i d e r l i m i t e d a d o p t i o n i n a r e a s w h e r e t h e y p r o v i d e s i g n i f i c a n t b u s i n e s s v a l u e . F o r i n d i v i d u a l s , m a t u r e a n d d e c l i n i n g t e c h n o l o g i e s o f f e r l i m i t e d l e a r n i n g a n d r e s e a r c h v a l u e , a s t h e y a r e a l r e a d y w i d e l y a d o p t e d . F o c u s i n g o n p o p u l a r t e c h n o l o g i e s c a n b e a d v a n t a g e o u s f o r e m p l o y m e n t p r o s p e c t s , a s t h e y a r e h i g h l y s o u g h t a f t e r i n t h e i n d u s t r y . H o w e v e r , c o m p e t i t i o n i n t h i s a r e a i s f i e r c e , r e q u i r i n g a c e r t a i n d e p t h o f u n d e r s t a n d i n g t o s t a n d o u t . G r o w i n g t e c h n o l o g i e s a r e w o r t h d e l v i n g i n t o a s t h e y a r e l i k e l y t o b e c o m e p o p u l a r i n t h e f u t u r e , a n d e a r l y e x p e r i e n c e c a n l e a d t o e x p e r t i s e w h e n t h e y r e a c h t h e i r p e a k p o p u l a r i t y . F o r w a r d l o o k i n g t e c h n o l o g i e s , w h i l e p o t e n t i a l l y l e a d i n g t o g r o u n d b r e a k i n g i n n o v a t i o n s , m a y a l s o f a i l . I n d i v i d u a l s m a y c h o o s e t o i n v e s t t i m e a n d e f f o r t b a s e d o n p e r s o n a l i n t e r e s t s . W h i l e t h e s e t e c h n o l o g i e s m a y b e f a r f r o m j o b r e q u i r e m e n t s a n d p r a c t i c a l a p p l i c a t i o n , f o r w a r d t h i n k i n g c o m p a n i e s m a y i n q u i r e a b o u t t h e m d u r i n g i n t e r v i e w s t o a s s e s s t h e c a n d i d a t e s f o r e s i g h t . D e f i n i t i o n s o f T e c h n o l o g i c a l M a t u r i t y F o r w a r d l o o k i n g : T e c h n o l o g i e s a r e s t i l l i n t h e r e s e a r c h a n d d e v e l o p m e n t s t a g e , w i t h t h e c o m m u n i t y e x p l o r i n g t h e i r p r a c t i c a l a p p l i c a t i o n s a n d p o t e n t i a l m a r k e t v a l u e . A l t h o u g h t h e i n d u s t r y s u n d e r s t a n d i n g o f t h e s e t e c h n o l o g i e s i s s t i l l s h a l l o w , h i g h v a l u e d e m a n d s h a v e b e e n i d e n t i f i e d . G r o w i n g : T e c h n o l o g i e s b e g i n t o e n t e r t h e p r a c t i c a l a p p l i c a t i o n s t a g e , w i t h i n c r e a s i n g c o m p e t i t i o n i n t h e m a r k e t a n d p a r a l l e l d e v e l o p m e n t o f v a r i o u s t e c h n o l o g i c a l p a t h s . T h e c o m m u n i t y f o c u s e s o n o v e r c o m i n g c h a l l e n g e s i n p r a c t i c a l a p p l i c a t i o n s a n d m a x i m i z i n g t h e i r c o m m e r c i a l v a l u e , a l t h o u g h t h e i r v a l u e i n b u s i n e s s i s n o t f u l l y r e a l i z e d . P o p u l a r : T e c h n o l o g y d e v e l o p m e n t r e a c h e s i t s p e a k , w i t h t h e c o m m u n i t y s t r i v i n g t o m a x i m i z e t e c h n o l o g i c a l p e r f o r m a n c e . I n d u s t r y a t t e n t i o n p e a k s a n d t h e t e c h n o l o g y b e g i n s t o d e m o n s t r a t e s i g n i f i c a n t c o m m e r c i a l v a l u e . D e c l i n i n g : T e c h n o l o g y p a t h s b e g i n t o s h o w c l e a r a d v a n t a g e s a n d d i s a d v a n t a g e s , w i t h t h e m a r k e t d e m a n d i n g h i g h e r o p t i m i z a t i o n a n d i n t e g r a t i o n . T h e i n d u s t r y b e g i n s t o r e c o g n i z e t h e l i m i t a t i o n s a n d b o u n d a r i e s o f t e c h n o l o g y i n e n h a n c i n g b u s i n e s s v a l u e . M a t u r e : T e c h n o l o g y p a t h s t e n d t o u n i f y a n d s t a n d a r d i z e , w i t h t h e c o m m u n i t y f o c u s i n g o n r e d u c i n g c o s t s a n d i m p r o v i n g e f f i c i e n c y . T h e i n d u s t r y a l s o f o c u s e s o n c o s t e f f e c t i v e n e s s a n a l y s i s t o e v a l u a t e t h e p r i o r i t y a n d b r e a d t h o f t e c h n o l o g y a p p l i c a t i o n s . D e f i n i t i o n s o f B u s i n e s s V a l u e 5 s t a r s : T h e c o s t r e d u c t i o n / r e v e n u e c o n t r i b u t i o n o f r e l e v a n t t e c h n o l o g i e s / b u s i n e s s u n i t s a c c o u n t s f o r 5 0 % o r m o r e o f t h e d e p a r t m e n t s t o t a l r e v e n u e , o r i s m a n a g e d b y s e n i o r d i r e c t o r s o r h i g h e r l e v e l e x e c u t i v e s ( e . g . , V P s ) . 4 s t a r s : T h e c o s t r e d u c t i o n / r e v e n u e c o n t r i b u t i o n o f r e l e v a n t t e c h n o l o g i e s / b u s i n e s s u n i t s a c c o u n t s f o r b e t w e e n 4 0 % a n d 5 0 % o f t h e d e p a r t m e n t s t o t a l r e v e n u e , o r i s m a n a g e d b y d i r e c t o r s . 3 s t a r s : T h e c o s t r e d u c t i o n / r e v e n u e c o n t r i b u t i o n o f r e l e v a n t t e c h n o l o g i e s / b u s i n e s s u n i t s a c c o u n t s f o r b e t w e e n 3 0 % a n d 4 0 % o f t h e d e p a r t m e n t s t o t a l r e v e n u e , o r i s m a n a g e d b y s e n i o r m a n a g e r s . 2 s t a r s : T h e c o s t r e d u c t i o n / r e v e n u e c o n t r i b u t i o n o f r e l e v a n t t e c h n o l o g i e s / b u s i n e s s u n i t s a c c o u n t s f o r b e t w e e n 2 0 % a n d 3 0 % o f t h e d e p a r t m e n t s t o t a l r e v e n u e , o r i s m a n a g e d b y m a n a g e r s . 1 s t a r : T h e c o s t r e d u c t i o n / r e v e n u e c o n t r i b u t i o n o f r e l e v a n t t e c h n o l o g i e s / b u s i n e s s u n i t s a c c o u n t s f o r b e t w e e n 5 % a n d 2 0 % o f t h e d e p a r t m e n t s t o t a l r e v e n u e , o r i s m a n a g e d b y s u p e r v i s o r s . D e f i n i t i o n s o f T e c h n o l o g i c a l D i f f i c u l t y 5 s t a r s : I n v e s t e d i n t o p i n d u s t r y e x p e r t t e a m s f o r o v e r 1 2 m o n t h s 4 s t a r s : I n v e s t e d i n i n d u s t r y e x p e r t s o r s e n i o r a r c h i t e c t s f o r o v e r 1 2 m o n t h s 3 s t a r s : I n v e s t e d i n a r c h i t e c t t e a m s f o r a p p r o x i m a t e l y 6 m o n t h s 2 s t a r s : I n v e s t e d i n s e n i o r p r o g r a m m e r t e a m s f o r 1 3 m o n t h s 1 s t a r : I n v e s t e d i n o r d i n a r y p r o g r a m m e r t e a m s f o r 1 3 m o n t h s B y W i l l i a m G u o P e r f o r m a n c e a n d S c a l a b i l i t y A n a l y s i s o f R e d i s a n d M e m c a c h e d S p e e d a n d s c a l a b i l i t y a r e s i g n i f i c a n t i s s u e s t o d a y , a t l e a s t i n t h e a p p l i c a t i o n l a n d s c a p e . A m o n g t h e c r i t i c a l e n a b l e r s f o r f a s t d a t a a c c e s s i m p l e m e n t a t i o n w i t h i n i n m e m o r y d a t a s t o r e s a r e t h e g a m e c h a n g e r s i n r e c e n t t i m e s , w h i c h a r e t e c h n o l o g i e s l i k e R e d i s a n d M e m c a c h e d . H o w e v e r , t h e q u e s t i o n a r i s e s o f c h o o s i n g t h e b e s t o n e . T h i s a r t i c l e t a k e s a p l u n g e i n t o t h e c o m p a r a t i v e a n a l y s i s o f t h e s e t w o c u l t t e c h n o l o g i e s , h i g h l i g h t s t h e c r i t i c a l p e r f o r m a n c e m e t r i c s c o n c e r n i n g s c a l a b i l i t y c o n s i d e r a t i o n s , a n d , t h r o u g h r e a l w o r l d u s e c a s e s , g i v e s y o u t h e c l a r i t y t o c o n f i d e n t l y m a k e a n i n f o r m e d d e c i s i o n . W e h a v e r u n t h e s e b e n c h m a r k s o n t h e A W S E C 2 i n s t a n c e s a n d d e s i g n e d a c u s t o m d a t a s e t t o m a k e i t a s c l o s e a s p o s s i b l e t o r e a l a p p l i c a t i o n u s e c a s e s . W e c o m p a r e t h r o u g h p u t , o p e r a t i o n s p e r s e c o n d , a n d l a t e n c y u n d e r d i f f e r e n t l o a d s , n a m e l y t h e P 9 0 a n d P 9 9 p e r c e n t i l e s . W e i n v e s t i g a t e d e e p e r i n a c l u s t e r e d e n v i r o n m e n t a n d t r y i d e n t i f y i n g t h e s c a l a b i l i t y c h a r a c t e r i s t i c s o f b o t h R e d i s a n d M e m c a c h e d , i n c l u d i n g t h e i m p l e m e n t a t i o n a n d m a n a g e m e n t c o m p l e x i t i e s o f e i t h e r . T h i s l e v e l o f c o m p a r i s o n d e t a i l w i l l a s s i s t d e c i s i o n m a k e r s w i t h t h e i n f o r m a t i o n t h e y w o u l d n e e d t o m a k e a m o r e a p p r o p r i a t e c h o i c e o f a n i n m e m o r y d a t a s t o r e f o r t h e i r n e e d s . O p t i m i z a t i o n o f a p p l i c a t i o n p e r f o r m a n c e a n d s c a l a b i l i t y c a n m e a n a v i t a l c o m p e t i t i v e a d v a n t a g e f o r b u s i n e s s e s . O u r f i n d i n g s c o n t r i b u t e t o t h e e x i s t i n g k n o w l e d g e b a s e a n d o f f e r p r a c t i c a l r e c o m m e n d a t i o n s t o m a k e t h e s e t e c h n o l o g i e s e f f e c t i v e i n r e a l w o r l d s e t t i n g s . I n t r o d u c t i o n I n t h i s w o r l d o f h i g h p e r f o r m a n c e a p p l i c a t i o n s , t h e f o r e m o s t r e q u i r e m e n t s a r e s p e e d a n d s c a l a b i l i t y . B o t h R e d i s a n d M e m c a c h e d a s s i s t i n l e a d i n g t h a t w a y t h r o u g h t h e s t o r a g e o f d a t a i n R A M , w h i c h t h e r e b y m a k e s d a t a a c c e s s a l m o s t i n s t a n t . B u t h o w d o y o u m a k e t h e r i g h t c h o i c e w h e n a l l y o u n e e d t o l o o k f o r i s p e r f o r m a n c e a n d s c a l a b i l i t y ? L e t s l o o k a t t h e s e t w o t h i n g s i n m o r e d e t a i l a s w e f l e s h o u t t h e i r p e r f o r m a n c e a n d s c a l a b i l i t y . M e t h o d o l o g y W e u s e d s e v e r a l A W S i n s t a n c e s , s u c h a s m e m o r y o p t i m i z e d ( m 5 . 2 x l a r g e ) a n d c o m p u t e o p t i m i z e d ( c 5 . 2 x l a r g e ) . A l l t h e i n s t a n c e s h a v e d e f a u l t s e t t i n g s / c o n f i g u r a t i o n s f o r R e d i s a n d M e m c a c h e d . W o r k l o a d s R e a d H e a v y : R e a d a n d w r i t e o p e r a t i o n s a r e r e a d i n a r a t i o o f 8 0 % t o 2 0 % . W r i t e H e a v y : W r i t e a n d r e a d o p e r a t i o n s a r e r e a d i n a r a t i o o f 8 0 % t o 2 0 % . M e t r i c s C o l l e c t e d O p e r a t i o n s p e r s e c o n d ( O p s / s e c ) : T h i s m e a s u r e s t h e n u m b e r o f o p e r a t i o n s t h a t c a n b e e x e c u t e d i n t h e s y s t e m a t a n y o n e s e c o n d . P 9 0 l a t e n c y : T h e l a t e n c y w a s r e c o r d e d a t t h e 9 0 t h p e r c e n t i l e . 9 0 p e r c e n t o f r e q u e s t s a r e s a t i s f i e d a t t h i s l e v e l o r f a s t e r . U n d e r n o r m a l c o n d i t i o n s , i t g i v e s y o u a g o o d i d e a o f s y s t e m p e r f o r m a n c e . P 9 9 l a t e n c y : T h e l a t e n c y o f o n l y 1 % o f r e q u e s t s i s s l o w e r t h a n . I t m e a s u r e s t h e t a i l l a t e n c y b e h a v i o r o f y o u r s y s t e m i n t h e c a s e o f i t s h e a v i e s t l o a d o r w o r s t c a s e s c e n a r i o . T h r o u g h p u t : M e a s u r e d i n g i g a b y t e s p e r s e c o n d ( G B / s ) , t h r o u g h p u t i s t h e r a t e a t w h i c h t h e s y s t e m h a n d l e s t h e q u a n t i t y o f i n f o r m a t i o n . T o s i m u l a t e w o r k l o a d a n d m e a s u r e p e r f o r m a n c e , s t a n d a r d b e n c h m a r k i n g t o o l s w e r e a p p l i e d : m e m t i e r _ b e n c h m a r k f o r R e d i s a n d m e m c a c h e d _ b e n c h m a r k f o r M e m c a c h e d . P r o c e d u r e I n i t i a l i z a t i o n D u r i n g t h e a p p l i c a t i o n s s t a r t u p , a f i x e d d a t a s e t w a s u s e d t o e n s u r e t h e r e s u l t s w e r e s t a n d a r d i z e d , w h i c h i s a c r i t i c a l r e q u i r e m e n t . S i z e s a n d d a t a t y p e s w e r e a l l o w e d t o v a r y t o r e a c h a d a t a s e t r e s e m b l i n g t h e a c t u a l u s a g e o f a p p l i c a t i o n s . M o r e o v e r , t h e d a t a s e t w a s d e s i g n e d t o m o d e l c o m m o n u s a g e i n t e r m s o f r e a d a n d w r i t e r a t i o s a n d t h e d a t a s t r u c t u r e s t h a t a r e m o s t c o m m o n l y u s e d , s u c h a s s t r i n g s , h a s h e s , a n d l i s t s . I m p l e m e n t a t i o n T h e a v e r a g e p e r f o r m a n c e c a n o n l y b e m e a s u r e d o v e r a l o n g p e r i o d a f t e r e n o u g h s a m p l e p o i n t s a r e c o l l e c t e d ; w o r k l o a d s w e r e r u n f o r a c o n s t a n t a m o u n t o f t i m e , w h i c h u s u a l l y r a n g e d f r o m 1 2 h r s . T h e e x e c u t i o n t i m e w a s l o n g e n o u g h f o r t h e a p p l i c a t i o n t o r e a c h a s t e a d y s t a t e a n d g o o d q u a l i t y m e a s u r e m e n t s , h e n c e i m p l y i n g t h a t t h e a v e r a g e p e r f o r m a n c e w a s u n d e r c o n s t a n t l o a d . R e p l i c a t i o n M e a s u r e m e n t s w e r e t a k e n s e v e r a l ( 5 7 ) t i m e s f o r a c c u r a c y t o m i t i g a t e a n o m a l i e s t h a t w o u l d a f f e c t t h e r e s u l t s . T h e b e n c h m a r k w a s r u n a t l e a s t 5 t i m e s , a n d t h e r e s u l t s a r e p u t a s a n a v e r a g e t o c o r r e c t d e v i a t i o n s i n p e r f o r m a n c e . D a t a A g g r e g a t i o n T a k i n g m e t r i c s a n d a v e r a g i n g a c r o s s v a r i o u s r u n s t o c a p t u r e o v e r a l l p e r f o r m a n c e . C r i t i c a l m e t r i c s i n c l u d e n u m b e r o f o p e r a t i o n s p e r s e c o n d ( O p s / s e c ) , P 9 9 / P 9 0 l a t e n c y , a n d t h r o u g h p u t . S o u r c e s o f P o t e n t i a l E r r o r s S i n c e t h e n e t w o r k l a t e n c y , C P U l o a d , a n d m e m o r y a v a i l a b i l i t y o n t h e A W S i n s t a n c e m a y c h a n g e , t h i s i m p a c t s t h e b e n c h m a r k i n g r e s u l t s . T h e o v e r h e a d c o n t r i b u t e d b y t h e b e n c h m a r k i n g t o o l c a n i n f l u e n c e p e r f o r m a n c e m e a s u r e m e n t s . R e s u l t s R e a l W o r l d P e r f o r m a n c e B a s e d o n t h e m e t h o d o l o g y d e s c r i b e d a b o v e , w e g a t h e r e d t h e f o l l o w i n g p e r f o r m a n c e d a t a f o r R e d i s a n d M e m c a c h e d o n A W S i n s t a n c e s . P e r f o r m a n c e M e t r i c s ( A W S E C 2 I n s t a n c e s ) I n s t a n c e T y p e W o r k l o a d T y p e S y s t e m O p s / S e c P 9 0 L a t e n c y ( m s ) P 9 9 L a t e n c y ( m s ) T h r o u g h p u t ( G B / s ) m 5 . 2 x l a r g e ( 8 v C P U s , 3 2 G B R A M ) 8 0 % R e a d 2 0 % W r i t e M e m c a c h e d 1 , 2 0 0 , 0 0 0 0 . 2 5 0 . 3 5 1 . 2 R e d i s 7 1 , 0 0 0 , 0 0 0 0 . 3 0 0 . 4 0 1 . 0 8 0 % W r i t e 2 0 % R e a d M e m c a c h e d 1 , 1 0 0 , 0 0 0 0 . 2 8 0 . 3 8 1 . 1 R e d i s 7 9 0 0 , 0 0 0 0 . 3 3 0 . 4 5 0 . 9 c 5 . 2 x l a r g e ( 8 v C P U s , 1 6 G B R A M ) 8 0 % R e a d 2 0 % W r i t e M e m c a c h e d 1 , 3 0 0 , 0 0 0 0 . 2 3 0 . 3 3 1 . 3 R e d i s 7 1 , 1 0 0 , 0 0 0 0 . 2 8 0 . 3 8 1 . 1 8 0 % W r i t e 2 0 % R e a d M e m c a c h e d 1 , 2 0 0 , 0 0 0 0 . 2 6 0 . 3 6 1 . 2 R e d i s 7 1 , 0 0 0 , 0 0 0 0 . 3 1 0 . 4 1 1 . 0 P e r f o r m a n c e S u m m a r y R e d i s o f f e r s v e r s a t i l i t y w i t h m a n y d a t a s t r u c t u r e s a n d s u s t a i n e d p e r f o r m a n c e o f n e t w o r k b o u n d t a s k s b e c a u s e o f t h r e a d e d I / O , a l t h o u g h s i n g l e t h r e a d e d e x e c u t i o n m a y m a k e t h e C P U b o u n d t a s k s s l o w . H o w e v e r , t h e t a i l l a t e n c y i s h i g h e r , e s p e c i a l l y u n d e r h e a v y w r i t e l o a d s , a c c o r d i n g t o t h e P 9 0 a n d P 9 9 m e t r i c s . R e d i s i s o b s e r v e d t o p e r f o r m w e l l d u r i n g b o t h r e a d i n g a n d w r i t i n g o p e r a t i o n s . M e m c a c h e d w o r k s b e s t u n d e r m u l t i t h r e a d e d e x e c u t i o n m o d e l s a n d i s h i g h l y o p t i m i z e d f o r h i g h s p e e d , h i g h t h r o u g h p u t c a c h i n g , w h i c h m a k e s i t i d e a l f o r s i m p l e k e y v a l u e o p e r a t i o n s w i t h l e s s o v e r h e a d . M e m c a c h e d g e n e r a l l y p e r f o r m s b e t t e r u n d e r h e a v y r e a d a n d w r i t e l o a d s , w i t h l o w e r P 9 0 a n d P 9 9 l a t e n c y a n d h i g h e r t h r o u g h p u t . S c a l a b i l i t y C o m p a r i s o n R e d i s S c a l a b i l i t y R e d i s p r o v i d e s h o r i z o n t a l s c a l i n g t h r o u g h t h e R e d i s C l u s t e r , s l i c i n g d a t a i n t o m a n y n o d e s . T h i s i m p r o v e s R e d i s s f a u l t t o l e r a n c e , w h i c h i s i d e a l f o r a l a r g e s c a l e a p p l i c a t i o n . H o w e v e r , i t m a k e s m a n a g i n g t h e R e d i s c l u s t e r c o m p l e x a n d c o n s u m e s m o r e r e s o u r c e s . T a k e s t h e s h a p e o f h o r i z o n t a l s c a l i n g b y p a r t i t i o n i n g d a t a w i t h i n n o d e s P r o v i d e s h i g h a v a i l a b i l i t y a n d a u t o m a t i c f a i l o v e r O f f e r s d a t a d u r a b i l i t y o p t i o n s s u c h a s R D B s n a p s h o t s a n d A O F l o g g i n g M e m c a c h e d S c a l a b i l i t y M e m c a c h e d u s e s c o n s i s t e n t h a s h i n g t o d i s t r i b u t e l o a d e v e n l y a c r o s s n o d e s . A d d i n g m o r e n o d e s m a k e s s c a l i n g e a s y a n d e n s u r e s s m o o t h p e r f o r m a n c e a s d a t a a n d t r a f f i c g r o w . M e m c a c h e d s s i m p l i c i t y i n s c a l i n g a n d m a n a g e m e n t i s a b i g p l u s . A d d i n g n o d e s i s s t r a i g h t f o r w a r d . E n s u r e s e v e n l o a d d i s t r i b u t i o n a n d h i g h a v a i l a b i l i t y L e s s m a i n t e n a n c e a n d c o n f i g u r a t i o n a r e n e e d e d . S c a l a b i l i t y B e n c h m a r k i n g U s i n g a 1 0 n o d e c l u s t e r c o n f i g u r a t i o n , w e b e n c h m a r k e d t h e s c a l a b i l i t y o f R e d i s 7 a n d M e m c a c h e d o n A W S , i n c l u d i n g P 9 0 a n d P 9 9 l a t e n c y m e t r i c s t o p r o v i d e i n s i g h t s i n t o t a i l l a t e n c y p e r f o r m a n c e . S c a l a b i l i t y M e t r i c s ( A W S E C 2 I n s t a n c e s ) I n s t a n c e T y p e W o r k l o a d T y p e S y s t e m O p s / S e c P 9 0 L a t e n c y ( m s ) P 9 9 L a t e n c y ( m s ) T h r o u g h p u t ( G B / s ) m 5 . 2 x l a r g e ( 8 v C P U s , 3 2 G B R A M ) 8 0 % R e a d 2 0 % W r i t e M e m c a c h e d 1 2 , 0 0 0 , 0 0 0 0 . 3 5 0 . 4 5 1 2 . 0 R e d i s 7 1 0 , 0 0 0 , 0 0 0 0 . 4 0 0 . 5 0 1 0 . 0 8 0 % W r i t e 2 0 % R e a d M e m c a c h e d 1 1 , 0 0 0 , 0 0 0 0 . 3 8 0 . 4 8 1 1 . 0 R e d i s 7 9 , 0 0 0 , 0 0 0 0 . 4 3 0 . 5 3 9 . 0 c 5 . 2 x l a r g e ( 8 v C P U s , 1 6 G B R A M ) 8 0 % R e a d 2 0 % W r i t e M e m c a c h e d 1 , 3 0 0 , 0 0 0 0 . 3 3 0 . 4 3 1 3 . 0 R e d i s 7 1 , 1 0 0 , 0 0 0 0 . 3 8 0 . 4 8 1 1 . 0 8 0 % W r i t e 2 0 % R e a d M e m c a c h e d 1 2 , 0 0 0 , 0 0 0 0 . 3 6 0 . 4 6 1 2 . 0 R e d i s 7 1 0 , 0 0 0 , 0 0 0 0 . 4 1 0 . 5 1 1 0 . 0 S c a l a b i l i t y S u m m a r y R e d i s c a n b e s c a l a b l e t h r o u g h t h e R e d i s C l u s t e r , t h u s r e a l i z i n g i t s d i s t r i b u t e d n a t u r e , h i g h a v a i l a b i l i t y , a n d p e r s i s t e n c e , b u t i t r e q u i r e s m o r e d i f f i c u l t m a n a g e m e n t a n d r e s o u r c e s . T h e P 9 0 a n d P 9 9 l a t e n c y m e t r i c s s h o w m o r e t a i l l a t e n c y u n d e r h e a v y l o a d s . L a r g e s c a l e o p e r a t i o n s h a v e g o o d t h r o u g h p u t i n R e d i s . M e m c a c h e d i s a n o t h e r s i m p l e s o l u t i o n t h a t c a n b e e a s i l y s c a l e d b e c a u s e o f c o n s i s t e n t h a s h i n g . B y u s i n g M e m c a c h e d , i t i s e a s y t o a d d m o r e n o d e s , m a k i n g i t s m a n a g e m e n t l i g h t w e i g h t . G e n e r a l l y , M e m c a c h e d w o r k s b e t t e r u n d e r h e a v y r e a d a n d w r i t e l o a d c o n d i t i o n s , w i t h l o w e r P 9 0 a n d P 9 9 l a t e n c y a n d b e t t e r t h r o u g h p u t . T h e o b s e r v e d d i f f e r e n c e s i n t h r o u g h p u t m e t r i c s b e t w e e n p e r f o r m a n c e a n d s c a l a b i l i t y t e s t s a r e p r i m a r i l y d u e t o t h e v a r y i n g t e s t s e t u p s a n d w o r k l o a d d i s t r i b u t i o n s . I n s i n g l e i n s t a n c e p e r f o r m a n c e t e s t s , t h r o u g h p u t i s l i m i t e d b y t h e r e s o u r c e s o f i n d i v i d u a l i n s t a n c e s . C o n v e r s e l y , i n s c a l a b i l i t y t e s t s , t h e w o r k l o a d i s d i s t r i b u t e d a c r o s s a l a r g e r c l u s t e r , a l l o w i n g f o r h i g h e r a g g r e g a t e t h r o u g h p u t d u e t o p a r a l l e l p r o c e s s i n g a n d m o r e e f f i c i e n t r e s o u r c e u t i l i z a t i o n . A d d i t i o n a l l y , n e t w o r k o v e r h e a d s a n d c a c h i n g e f f i c i e n c i e s p l a y a r o l e i n e n h a n c i n g t h r o u g h p u t i n c l u s t e r e d e n v i r o n m e n t s . A n a l y s i s o f B e n c h m a r k R e s u l t s R e a d H e a v y W o r k l o a d s M e m c a c h e d h a d h i g h e r t h r o u g h p u t a n d l o w e r l a t e n c y i n r e a d h e a v y w o r k l o a d s b e c a u s e o f i t s m u l t i t h r e a d e d a r c h i t e c t u r e , w h i c h c a n s i m u l t a n e o u s l y p r o c e s s m u l t i p l e o p e r a t i o n s f o r r e a d i n g . M u c h f a s t e r r e s p o n s e t i m e s a r e a f f o r d e d , w i t h a h i g h e r i n f o r m a t i o n f l o w r a t e . T h o u g h R e d i s w a s s l i g h t l y l a g g i n g , i t s t i l l d i d w e l l . I t i s s i n g l e t h r e a d e d i n d a t a o p e r a t i o n , w h i c h m a y s o m e t i m e s l e a d t o l i m i t a t i o n s c o n c e r n i n g t h e n u m b e r o f s i m u l t a n e o u s r e a d r e q u e s t s i t s e r v e s . H o w e v e r , R e d i s i s s u i t a b l e f o r m a n a g i n g c o m p l e x s t r u c t u r e s , t h u s a l l o w i n g o n e t o m a n i p u l a t e v e r s a t i l e d a t a , w h i c h i s e s s e n t i a l f o r a p p l i c a t i o n s t h a t r e q u i r e c o m p l e x q u e r i e s . W r i t e H e a v y W o r k l o a d s M e m c a c h e d i s m u c h m o r e b e n e f i c i a l i n w r i t e h e a v y s c e n a r i o s h e r e t h a n R e d i s . I t s m u l t i t h r e a d e d p a t t e r n e n a b l e s i t t o p r o c e s s m a n y w r i t e o p e r a t i o n s s i m u l t a n e o u s l y , r e d u c i n g g e n e r a l l a t e n c y a n d i n c r e a s i n g t h r o u g h p u t . R e d i s h a d s h o w n h i g h e r l a t e n c i e s a n d a l o w e r t h r o u g h p u t r a t e i f t h e w r i t e l o a d b e c a m e h e a v y . I t p o s e s a b o t t l e n e c k t o p r o c e s s i n g h e a v y w r i t e o p e r a t i o n s b e c a u s e o f i t s s i n g l e t h r e a d e d f e a t u r e . H o w e v e r , R e d i s f e a t u r e s l i k e d u r a b i l i t y u s i n g A O F a n d R D B a n d c a p a c i t i e s t o h a n d l e c o m p l e x d a t a s t r u c t u r e s m a k e i t r i g i d a n d f l e x i b l e , a r e a s w h e r e M e m c a c h e d d o e s n o t . R e c o m m e n d a t i o n s f o r O p t i m i z i n g P e r f o r m a n c e O p t i m i z i n g R e d i s L e v e r a g e t h e u s e o f T h r e a d I / O i n t r o d u c e d i n R e d i s 6 . 0 a n d f u r t h e r i m p r o v e d i n R e d i s 7 . 0 t o b r i n g b e t t e r p e r f o r m a n c e o n n e t w o r k b o u n d t a s k s . I m p l e m e n t R e d i s C l u s t e r t o d i s t r i b u t e t h e l o a d o v e r s e v e r a l n o d e s f o r b e t t e r s c a l a b i l i t y a n d f a u l t t o l e r a n c e . C h o o s e t h e p r o p e r u s e c a s e f o r t h e r i g h t d a t a s t r u c t u r e , s u c h a s u s i n g h a s h e s f o r s t o r i n g o b j e c t s a n d s o r t e d s e t s f o r r a n k i n g s y s t e m s , s o y o u d o n o t l e a v e a n y a i r h o l e s i n y o u r m e m o r y a n d p e r f o r m w e l l . C o n f i g u r e A O F a n d R D B s n a p s h o t s b a s e d o n t h e d u r a b i l i t y r e q u i r e m e n t s o f t h e a p p l i c a t i o n i n q u e s t i o n , m a k i n g t h e r i g h t t r a d e o f f b e t w e e n p e r f o r m a n c e a n d d a t a s a f e t y . O p t i m i z i n g M e m c a c h e d L e v e r a g e M e m c a c h e d m u l t i t h r e a d i n g t o e f f e c t i v e l y s e r v i c e h i g h c o n c u r r e n c y w o r k l o a d s . M e m c a c h e d a d o p t s c o n s i s t e n t h a s h i n g , s o t h e l o a d b a l a n c e b e t w e e n n o d e s c a n b e r e a l i z e d . T h a t i s , i t s c a l e s o u t g r a d u a l l y w h i l e e n j o y i n g h i g h a v a i l a b i l i t y . M e m o r y a l l o c a t i o n s e t t i n g s s h o u l d t h e n b e s e t a c c o r d i n g t o w o r k l o a d c h a r a c t e r i s t i c s , w h i c h w i l l r e s u l t i n t h e b e s t s e t t i n g s f o r a t t a i n i n g m a x i m u m c a c h e e f f i c i e n c y . M a k e t h e c a c h e o p e r a t i o n s s i m p l e ; a v o i d c o m p l e x d a t a m a n i p u l a t i o n s , b e f a s t w i t h h i g h t h r o u g h p u t , a n d k e e p l o w l a t e n c y . C o n c l u s i o n R e d i s a n d M e m c a c h e d a r e c o m p e l l i n g t o o l s f o r h i g h p e r f o r m a n c e a p p l i c a t i o n s , t h o u g h t h e i r a p p r o p r i a t e n e s s w i l l v a r y b y u s e c a s e . T h e r i c h v e r s a t i l i t y a n d f e a t u r e s o f R e d i s m a k e i t a n e x c e l l e n t f i t f o r c o m p l e x a p p l i c a t i o n s t h a t n e e d r e a l t i m e a n a l y t i c s a n d d a t a p e r s i s t e n c e , a l o n g w i t h s o p h i s t i c a t e d d a t a m a n i p u l a t i o n s . M e m c a c h e d i s q u i t e s t r e a m l i n e d a n d f a s t , r e a l l y g r e a t w h e r e s i m p l e k e y v a l u e c a c h i n g a n d r a p i d d a t a r e t r i e v a l a r e a m u s t . N o w , a r m e d w i t h k n o w l e d g e f r o m t h e s e t w o a r e a s s t r e n g t h s a n d w e a k n e s s e s a n d a d d i t i o n a l f a c t o r s l i k e e a s e o f s e t u p , m a i n t e n a n c e / m o n i t o r i n g , s e c u r i t y , a n d o t h e r b e n c h m a r k s , i t s h o u l d h e l p y o u c h o o s e t h e b e s t o n e t o m a k e y o u r a p p l i c a t i o n p e r f o r m a n c e a n d s c a l a b i l i t y o p t i m a l a n d p r o v i d e a u s e r e x p e r i e n c e t h a t s e v e n m o r e s m o o t h a n d r e s p o n s i v e . A d d i t i o n a l C o n t r i b u t o r T h i s a r t i c l e w a s c o a u t h o r e d b y S e e m a P h a l k e . R e f e r e n c e s R e d i s D o c u m e n t a t i o n M e m c a c h e d D o c u m e n t a t i o n A n t i r e z , S a l v a t o r e . R e d i s i n A c t i o n . M a n n i n g P u b l i c a t i o n s , 2 0 1 3 . K a r w i n , B a r o n S c h w a r t z , P e t e r Z a i t s e v . H i g h P e r f o r m a n c e M y S Q L . O R e i l l y M e d i a , 2 0 1 2 . B r e w e r , E r i c A . C A P T w e l v e Y e a r s L a t e r : H o w t h e R u l e s H a v e C h a n g e d . C o m p u t e r , v o l . 4 5 , n o . 2 , 2 0 1 2 , p p . 2 3 – 2 9 . B y R A H U L C H A N D E L U s i n g A g i l e T o R e c o v e r F a i l i n g P r o j e c t s D i d y o u k n o w t h a t u p t o 8 4 % o f W a t e r f a l l a n d 4 7 % o f A g i l e p r o j e c t s e i t h e r f a i l o r d o n ’ t m e e t e x p e c t e d r e s u l t s ? T h a t m a y s o u n d l i k e a n a l a r m i n g n u m b e r , b u t t h e p o i n t o f t h i s i s n o t t o b e a d o o m s a y e r o r t o f o c u s o n t h e p e r c e i v e d n e g a t i v e . W h a t t h o s e n u m b e r s r e f l e c t i s a n o p p o r t u n i t y . A n o p p o r t u n i t y t o t u r n a s e e m i n g l y f a i l e d p r o j e c t i n t o a f l o u r i s h i n g o n e , t o l e a r n l e s s o n s , a n d t o l e v e r a g e t h e t h i n g s t h a t m a k e A g i l e p r i n c i p l e s w o r k s o s m o o t h l y w h e n t h e y d o . T h e n a m e f o r A g i l e m e t h o d o l o g i e s w a s c h o s e n w e l l a n d d o n e s o f o r a r e a s o n . T o b e a g i l e i s t o b e q u i c k o n y o u r f e e t , t o b e a b l e t o a d a p t q u i c k l y , a n d t o b e a b l e t o s o l v e u n p r e d i c t a b l e p r o b l e m s w h i l e k e e p i n g m o m e n t u m . J u s t l i k e i n a f a s t p a c e d r a c e , w h e n t h i n g s s t a r t t o g o w r o n g , t h e y t e n d t o d o s o q u i c k l y . A g i l e p r o b l e m s r e q u i r e a g i l e s o l u t i o n s — t o b e s o l v e d a s s p e e d i l y a s t h e y a p p e a r o r c h a n g e o r r i p p l e o u t w a r d s . S o , w h y d o s o m e p r o j e c t s f a i l a n d o t h e r s d o n ’ t , a n d w h a t c a n b e d o n e a b o u t i t ? T h e r e a s o n s f o r f a i l u r e o r u n d e r p e r f o r m a n c e c a n b e a s v a r i e d a s t h e p e o p l e i n v o l v e d o r p r o j e c t m i l e s t o n e s . W e ’ v e a l l h e a r d o f , o r e n c o u n t e r e d v e r s i o n s o f t h e m b e f o r e ; m i s s e d d e a d l i n e s , b u d g e t o v e r r u n s , l o w m o r a l e , p e r s o n n e l c h a n g e s , s c o p e c r e e p — t h e l i s t c a n g o o n . B u t t h e r e i s a c o m m o n d e n o m i n a t o r h e r e — a l m o s t a l l t h e s e i s s u e s a r e i n e v i t a b l e . I n e v i t a b l e i n t h e s e n s e t h a t p r o j e c t m a n a g e m e n t i s b u i l t a r o u n d p r o j e c t f a i l u r e — s o m e t h i n g w i l l s t r a y f r o m t h e p l a n , s o t h e g o a l i s n o t t o t r y a n d e l i m i n a t e t h i s a s p e c t , b u t t o m a n a g e i t w i t h a g i l i t y . T h e s u c c e s s f u l r e c o v e r y o f a p r o j e c t , o r h a v i n g t o r e c o v e r i n t h e f i r s t p l a c e , i s t h e n n o t a f a i l u r e o f t h e s y s t e m b u t m a n y t i m e s a f a i l u r e o f i m a g i n a t i o n . H o w c a n w e t h e n u s e t h e m e t h o d o l o g i e s o f A g i l e , t o r e c o v e r a f a i l i n g p r o j e c t ? U n d e r s t a n d i n g A g i l e P r i n c i p l e s F i r s t , l e t ’ s q u i c k l y r e c a p t h e c o r e t e n e t s o f A g i l e . A g i l e i s a m e t h o d o l o g y , y e s , b u t i t ’ s n o t j u s t a m e t h o d — i t ’ s a m i n d s e t t h a t c o m b i n e s t h e b e s t a s p e c t s o f h u m a n s w o r k i n g t o g e t h e r . I t v a l u e s f l e x i b i l i t y , c o l l a b o r a t i o n , a n d c o n t i n u o u s i m p r o v e m e n t . B r o a d l y , A g i l e i s a n u m b r e l l a t e r m t h a t e n c o m p a s s e s v a r i o u s i t e r a t i v e s o f t w a r e d e v e l o p m e n t m e t h o d o l o g i e s b u t h a s b r a n c h e d o u t i n t o a l l s e c t o r s w h e r e t h a t w o r k f l o w m a k e s s e n s e . I t f o c u s e s o n w o r k i n g i n s h o r t c y c l e s c a l l e d s p r i n t s , a n d d o i n g s o w e l c o m e s r e s p o n d i n g t o c h a n g e , c o l l a b o r a t i o n , a n d d e l i v e r i n g o n c u s t o m e r ’ s e v o l v i n g n e e d s . F e a t u r e A g i l e W a t e r f a l l A p p r o a c h I t e r a t i v e , i n c r e m e n t a l , f l e x i b l e L i n e a r , s e q u e n t i a l , r i g i d C h a n g e E m b r a c e s c h a n g e t h r o u g h o u t t h e p r o j e c t R e s i s t a n t t o c h a n g e a f t e r p l a n n i n g i s c o m p l e t e P l a n n i n g C o n t i n u o u s , a d a p t a b l e p l a n n i n g D e t a i l e d u p f r o n t p l a n n i n g T e a m S t r u c t u r e S e l f o r g a n i z i n g , c r o s s f u n c t i o n a l t e a m s S p e c i a l i z e d t e a m s w o r k i n g i n s i l o s C o m m u n i c a t i o n F r e q u e n t , i n f o r m a l c o m m u n i c a t i o n F o r m a l c o m m u n i c a t i o n w i t h r e g u l a r r e p o r t s D o c u m e n t a t i o n P r i o r i t i s e s w o r k i n g s o f t w a r e o v e r c o m p r e h e n s i v e d o c u m e n t a t i o n E m p h a s i s e s c o m p r e h e n s i v e d o c u m e n t a t i o n a t e a c h p h a s e D i a g n o s i n g T h e F a i l i n g P r o j e c t B e f o r e w e c a n f i x t h e p r o b l e m , w e n e e d t o i d e n t i f y t h e p r o b l e m s o u n d s o b v i o u s r i g h t ? I t n e e d s t o b e d i a g n o s e d c o n s t r u c t i v e l y t h o u g h , b e y o n d s i m p l y l a b e l i n g a c a u s e a n d e f f e c t . I t ’ s t h e f i r s t s t e p i n g e t t i n g t o t h e r o o t o f t h e p r o b l e m , n o t j u s t t r y i n g t o e l i m i n a t e t h e s y m p t o m s . 1 . C o n d u c t a R e t r o s p e c t i v e A s t r u c t u r e d m e e t i n g w h e r e t h e t e a m r e f l e c t s o n t h e p a s t s p r i n t o r i t e r a t i o n t o i d e n t i f y w h a t w e n t w e l l , w h a t d i d n t , a n d w h a t c a n b e i m p r o v e d . E n c o u r a g e o p e n a n d h o n e s t d i s c u s s i o n s a n d c o l l a b o r a t i o n b y c r e a t i n g a b l a m e f r e e e n v i r o n m e n t — e m p h a s i z e l e a r n i n g f r o m m i s t a k e s a n d t h e n t a k e a c t i o n b a s e d o n f i n d i n g s . 2 . A n a l y s e S p r i n t B u r n d o w n C h a r t B u r n d o w n c h a r t s v i s u a l l y t r a c k t h e r e m a i n i n g w o r k i n a s p r i n t a g a i n s t t h e t i m e r e m a i n i n g , h e l p i n g w i t h s c o p e c r e e p , u n d e r e s t i m a t i o n , a n d b l o c k e r s . 3 . R e v i e w V e l o c i t y T r e n d s A d e c l i n i n g o r i n c o n s i s t e n t v e l o c i t y c a n s i g n a l p r o b l e m s l i k e t e a m b u r n o u t , s k i l l g a p s , a n d p o o r e s t i m a t i o n . 4 . G a t h e r F e e d b a c k F r o m S t a k e h o l d e r s C l i e n t s o r e n d u s e r s c a n g i v e v a l u a b l e f e e d b a c k a n d r e v e a l i s s u e s s u c h a s m i s a l i g n e d g o a l s , c o m m u n i c a t i o n g a p s , o r d i s s a t i s f a c t i o n . 5 . C o n d u c t a R o o t C a u s e A n a l y s i s ( R C A ) B y u s i n g t o o l s l i k e t h e 5 W h y s t e c h n i q u e ( a s k i n g w h y ? f i v e t i m e s ) , y o u c a n d r i l l d o w n f r o m s u r f a c e l e v e l s y m p t o m s t o t h e r o o t c a u s e s o f p r o j e c t i s s u e s . T h i s h e l p s y o u a d d r e s s t h e f u n d a m e n t a l p r o b l e m s , n o t j u s t t h e s y m p t o m s . U s i n g A g i l e M e t h o d o l o g i e s T o G e t B a c k o n T r a c k L e t ’ s n o w c o v e r s o m e o f t h e a s p e c t s i n t r i n s i c t o A g i l e a n d h o w t h e y a r e b e n e f i c i a l t o r e s c u i n g a n y p r o j e c t . I n d i v i d u a l s a n d I n t e r a c t i o n s O v e r P r o c e s s e s a n d T o o l s W h y i t m a t t e r s f o r r e c o v e r y : R e l y i n g s o l e l y o n r i g i d p r o c e s s e s w o n ’ t s o l v e a f a i l i n g p r o j e c t . M o t i v a t e d , k n o w l e d g e a b l e , a n d e m p o w e r e d i n d i v i d u a l s n e e d t o c o m m u n i c a t e a n d c o l l a b o r a t e e f f e c t i v e l y . H o w t o a p p l y i t : Y o u n e e d t o e n c o u r a g e o p e n c o m m u n i c a t i o n , w h i l e t r u s t i n g y o u r t e a m ’ s e x p e r t i s e a n d e m p o w e r t h e m b y k n o w i n g t h a t t h e y c a n c o m e u p w i t h s o l u t i o n s a n d d e c i s i o n s . W o r k i n g S o l u t i o n s O v e r C o m p r e h e n s i v e D o c u m e n t a t i o n W h y i t m a t t e r s f o r r e c o v e r y : W h e t h e r y o u c r e a t e s o f t w a r e o r o f f e r b u s i n e s s s o l u t i o n s t o c l i e n t s , a f a i l i n g p r o j e c t n e e d s t a n g i b l e r e s u l t s , n o t j u s t m o r e p a p e r w o r k . H o w t o a p p l y i t : U s i n g s p r i n t s , p r o v i d e v a l u e b y c u t t i n g t h e f a t — i n o t h e r w o r d s , p r i o r i t i z e f e a t u r e s t h a t m e a n s o m e t h i n g t o c l i e n t s , b y g e t t i n g i t i n f r o n t o f t h e m a n d t h e n g e t t i n g f e e d b a c k . C u s t o m e r C o l l a b o r a t i o n O v e r C o n t r a c t N e g o t i a t i o n W h y i t m a t t e r s f o r r e c o v e r y : S i m i l a r t o t h e p r e v i o u s p o i n t , b u t m o r e f o c u s e d o n i n v o l v i n g t h e c u s t o m e r o r c l i e n t a n d v e e r i n g b a c k t o w h a t t h e y a c t u a l l y w a n t . H o w t o a p p l y i t : R e g u l a r l y g a t h e r f e e d b a c k f r o m t h e c u s t o m e r , i n v o l v e t h e m i n s p r i n t r e v i e w s , a n d b e t r a n s p a r e n t a b o u t p r o g r e s s a n d c h a l l e n g e s . T h e y w i l l a p p r e c i a t e t h e t r a n s p a r e n c y a n d i n v o l v e m e n t . R e s p o n d i n g t o C h a n g e O v e r F o l l o w i n g a P l a n W h y i t m a t t e r s f o r r e c o v e r y : A s m e n t i o n e d e a r l i e r , t h e h a l l m a r k o f a n A g i l e p r o j e c t a n d a q u i c k r e c o v e r y i s a d a p t i n g t o c h a n g e . T h e m o r e r i g i d a p l a n , t h e m o r e l i k e l y i t i s t o c r u m b l e u n d e r p r e s s u r e . H o w t o a p p l y i t : A g a i n , t h e p r a c t i c a l w a y t o a p p r o a c h t h i s i s b y u s i n g s h o r t s p r i n t s , w i t h t a n g i b l e r e s u l t s . T h e n , b a s e d o n t h o s e r e s u l t s , a d a p t t h e p l a n a s n e e d e d w h i l e b e i n g o p e n t o f e e d b a c k . T o p u t i t a n o t h e r w a y , w e c a n u s e 6 A ’ s t o d e f i n e p r o j e c t r e c o v e r y ; A l i g n e d t o s t r a t e g y : M a k i n g s u r e e v e r y o n e i s o n t h e s a m e p a g e , f r o m t h o s e w h o a r e d o i n g t h e w o r k , t o t h o s e w i t h t h e e x p e r t i s e , t o t h e c l i e n t s a n d e n d u s e r s . A c t i v e s p o n s o r s h i p : W i t h o u t o v e r s i g h t , l e a d e r s h i p , a n d a d h e r e n c e t o b u d g e t , a n y p r o j e c t c a n s o o n d e r a i l . T h e s p o n s o r s h i p n e e d s t o b e a c t i v e , n o t p a s s i v e a n d d i s t a n t . A g i l e t e a m o f t e a m s : E a c h m e m b e r o f t h e t e a m n e e d s t o h a v e a s t a k e a n d b e e m p o w e r e d , w h e t h e r i t ’ s m a n a g e r i a l o r d e l i v e r y , a l l t e a m s w o r k t o g e t h e r t o b e n i m b l e y e t f o c u s e d . A l l t e a m p l a n n i n g : I n f o r m e d , c a p a b l e , a n d e x p e r i e n c e d l e a d e r s k n o w t h a t p l a n n i n g n e e d s t o h a p p e n t o g e t h e r . A p l a n c a n b e m e t i c u l o u s a n d e x t e n s i v e , b u t i f d i f f e r e n t t e a m s o r s i l o s h a v e d i f f e r e n t p l a n s , a l i g n m e n t w i l l a l w a y s b e o u t o f r e a c h . A d a p t i v e c u l t u r e : T h e c o r e o f a n A g i l e e n v i r o n m e n t . T h e t r u e r e f l e c t i o n o f a p r o j e c t , p l a n o r o r g a n i z a t i o n i n i t s p r o b l e m s o l v i n g i s n o t j u s t t h e i d e o l o g y o n p a p e r , b u t i n p r a c t i c e . T h e c u l t u r e n e e d s t o b e e n c o u r a g e d f r o m b o t h t h e g r o u n d u p a n d t h e t o p d o w n . I f s o m e o n e n o t i c e s a n i s s u e , t h e y d o w h a t t h e y c a n t o h e l p , n o t s i m p l y w h a t i s m a n d a t e d . A g i l e e x p e r t i s e : K n o w l e d g e i s p o w e r . W i t h r a p i d f e e d b a c k , y o u a l s o n e e d t o b e a b l e t o a p p l y t h a t f e e d b a c k t i m e l y a n d e f f e c t i v e l y . T h i s i s w h e r e e x p e r i e n c e a n d k n o w l e d g e o f A g i l e s y s t e m s a n d p r i n c i p l e s i n p r a c t i c e c o m e i n . W i t h o u t b e s p o k e s o l u t i o n s , r e a l w o r l d a p p l i c a t i o n , a n d h a n d s o n e x p e r i e n c e , A g i l e m e t h o d o l o g i e s a r e i n j u s t a s m u c h d a n g e r o f f a i l i n g a s o t h e r s . Y o u n e e d p e o p l e o n y o u r t e a m w h o k n o w n o t o n l y t h e m a p b u t a l s o t h e t e r r i t o r y . W h e n i t c o m e s t o r e a l i g n i n g a p r o j e c t , s a v i n g i t f r o m f a i l u r e , o r f u t u r e p r o o f i n g n e w p r o j e c t s , a l l t h e s e p r i n c i p l e s w i l l s t a n d y o u i n g o o d s t e a d . T h e y a r e t r i e d a n d t e s t e d , n o t j u s t b y u s b u t b y c o u n t l e s s o r g a n i z a t i o n s a n d p r o j e c t s a r o u n d t h e w o r l d . T h i s e x p e r i e n c e , i t e r a t i o n , a n d a d a p t a t i o n g o e s b e y o n d g o o d b u s i n e s s p r a c t i c e s a n d f i l t e r s t h r o u g h a n y o r g a n i z a t i o n t o f o r m a s o l i d , d e p e n d a b l e f o u n d a t i o n . B y J a y R a h m a n I n t e g r a t i o n T e s t i n g W i t h K e y c l o a k , S p r i n g S e c u r i t y , S p r i n g B o o t , a n d S p o c k F r a m e w o r k I n t o d a y s s e c u r i t y l a n d s c a p e , O A u t h 2 h a s b e c o m e a s t a n d a r d f o r s e c u r i n g A P I s , p r o v i d i n g a m o r e r o b u s t a n d f l e x i b l e a p p r o a c h t h a n b a s i c a u t h e n t i c a t i o n . M y j o u r n e y i n t o t h i s d o m a i n b e g a n w i t h a c r i t i c a l s o l u t i o n a r c h i t e c t u r e d e c i s i o n : m i g r a t i n g f r o m b a s i c a u t h e n t i c a t i o n t o O A u t h 2 c l i e n t c r e d e n t i a l s f o r o b t a i n i n g a c c e s s t o k e n s . W h i l e S p r i n g S e c u r i t y o f f e r s s t r o n g s u p p o r t f o r b o t h a u t h e n t i c a t i o n m e t h o d s , I e n c o u n t e r e d a s i g n i f i c a n t c h a l l e n g e . I c o u l d n o t f i n d a d e c l a r a t i v e a p p r o a c h t h a t s e a m l e s s l y i n t e g r a t e d b a s i c a u t h e n t i c a t i o n a n d J W T a u t h e n t i c a t i o n w i t h i n t h e s a m e a p p l i c a t i o n . T h i s g a p i n f u n c t i o n a l i t y m o t i v a t e d m e t o e x p l o r e a n d d e v e l o p a s o l u t i o n t h a t n o t o n l y m e e t s t h e a u t h e n t i c a t i o n r e q u i r e m e n t s b u t a l s o s u p p o r t s c o m p r e h e n s i v e i n t e g r a t i o n t e s t i n g . T h i s a r t i c l e s h a r e s m y f i n d i n g s a n d p r o v i d e s a d e t a i l e d g u i d e o n s e t t i n g u p K e y c l o a k , i n t e g r a t i n g i t w i t h S p r i n g S e c u r i t y a n d S p r i n g B o o t , a n d u t i l i z i n g t h e S p o c k F r a m e w o r k f o r r e p e a t a b l e i n t e g r a t i o n t e s t s . B y t h e e n d o f t h i s a r t i c l e , y o u w i l l c l e a r l y u n d e r s t a n d h o w t o c o n f i g u r e a n d t e s t y o u r a u t h e n t i c a t i o n m e c h a n i s m s e f f e c t i v e l y w i t h K e y c l o a k a s a n i d e n t i t y p r o v i d e r , e n s u r i n g a s m o o t h t r a n s i t i o n t o O A u t h 2 w h i l e m a i n t a i n i n g t h e f l e x i b i l i t y t o s u p p o r t b a s i c a u t h e n t i c a t i o n w h e r e n e c e s s a r y . P r e r e q u i s i t e s B e f o r e y o u b e g i n , e n s u r e y o u h a v e m e t t h e f o l l o w i n g r e q u i r e m e n t s : Y o u h a v e i n s t a l l e d J a v a 2 1 . Y o u h a v e a b a s i c u n d e r s t a n d i n g o f M a v e n a n d J a v a . T h i s i s t h e p a r e n t p r o j e c t f o r t h e t a p t e c h c o d e a c c e l e r a t o r m o d u l e s . I t m a n a g e s c o m m o n d e p e n d e n c i e s a n d c o n f i g u r a t i o n s f o r a l l t h e c h i l d m o d u l e s . Y o u c a n g e t i t f r o m h e r e t a p t e c h c o d e a c c e l e r a t o r . B u i l d i n g t a p t e c h c o d e a c c e l e r a t o r T o b u i l d t h e t a p t e c h c o d e a c c e l e r a t o r p r o j e c t , f o l l o w t h e s e s t e p s : g i t c l o n e t h e p r o j e c t f r o m t h e r e p o s i t o r y : g i t c l o n e h t t p s : / / g i t h u b . c o m / g l a w s o n 6 / t a p t e c h c o d e a c c e l e r a t o r . g i t O p e n a t e r m i n a l a n d c h a n g e t h e c u r r e n t d i r e c t o r y t o t h e r o o t d i r e c t o r y o f t h e t a p t e c h c o d e a c c e l e r a t o r p r o j e c t . c d p a t h / t o / t a p t e c h c o d e a c c e l e r a t o r R u n t h e f o l l o w i n g c o m m a n d t o b u i l d t h e p r o j e c t : . / b u i l d . s h T h i s c o m m a n d c l e a n s t h e p r o j e c t , c o m p i l e s t h e s o u r c e c o d e , r u n s a n y t e s t s , p a c k a g e s t h e c o m p i l e d c o d e i n t o a J A R o r W A R f i l e , a n d i n s t a l l s t h e p a c k a g e d c o d e i n y o u r l o c a l M a v e n r e p o s i t o r y . I t a l s o b u i l d s t h e l o c a l D o c k e r i m a g e t h a t w i l l b e u s e d t o r u n l a t e r . P l e a s e e n s u r e y o u h a v e t h e n e c e s s a r y p e r m i s s i o n s t o e x e c u t e t h e s e c o m m a n d s . K e y c l o a k I n i t i a l S e t u p S e t t i n g u p K e y c l o a k f o r i n t e g r a t i o n t e s t i n g i n v o l v e s s e v e r a l s t e p s . T h i s g u i d e w i l l w a l k y o u t h r o u g h c r e a t i n g a l o c a l e n v i r o n m e n t c o n f i g u r a t i o n , s t a r t i n g K e y c l o a k w i t h D o c k e r , c o n f i g u r i n g r e a l m s a n d c l i e n t s , v e r i f y i n g t h e s e t u p , a n d p r e p a r i n g a P o s t g r e S Q L d u m p f o r y o u r i n t e g r a t i o n t e s t s . S t e p 1 : C r e a t e a l o c a l . e n v F i l e F i r s t , n a v i g a t e t o t h e t a p t e c h c o m m o n / s r c / t e s t / r e s o u r c e s / d o c k e r d i r e c t o r y . C r e a t e a l o c a l . e n v f i l e t o s t o r e e n v i r o n m e n t v a r i a b l e s n e e d e d f o r t h e K e y c l o a k s e r v i c e . H e r e s a n e x a m p l e o f w h a t t h e l o c a l . e n v f i l e m i g h t l o o k l i k e : P O S T G R E S _ D B = k e y c l o a k P O S T G R E S _ U S E R = k e y c l o a k P O S T G R E S _ P A S S W O R D = a d m i n K E Y C L O A K _ A D M I N = a d m i n K E Y C L O A K _ A D M I N _ P A S S W O R D = a d m i n K C _ D B _ U S E R N A M E = k e y c l o a k K C _ D B _ P A S S W O R D = k e y c l o a k S P R I N G _ P R O F I L E S _ A C T I V E = s e c u r e j w k K E Y C L O A K _ A D M I N _ C L I E N T _ S E C R E T = D C R k k q p U v 3 X l Q n o s j t f 8 j H l e P 7 t u d u T a I D P _ P R O V I D E R _ J W K S E T _ U R I = h t t p : / / 1 7 2 . 2 8 . 1 . 9 0 : 8 0 8 0 / r e a l m s / o f f i c e s / p r o t o c o l / o p e n i d c o n n e c t / c e r t s S t e p 2 : S t a r t t h e K e y c l o a k S e r v i c e N e x t , s t a r t t h e K e y c l o a k s e r v i c e u s i n g t h e p r o v i d e d d o c k e r c o m p o s e . y m l f i l e a n d t h e . / s t a r t s e r v i c e s . s h s c r i p t . T h e d o c k e r c o m p o s e . y m l f i l e s h o u l d d e f i n e t h e K e y c l o a k a n d P o s t g r e S Q L s e r v i c e s . v e r s i o n : 3 . 8 s e r v i c e s : p o s t g r e s : i m a g e : p o s t g r e s v o l u m e s : p o s t g r e s _ d a t a : / v a r / l i b / p o s t g r e s q l / d a t a # . / d u m p : / d o c k e r e n t r y p o i n t i n i t d b . d e n v i r o n m e n t : P O S T G R E S _ D B : k e y c l o a k P O S T G R E S _ U S E R : $ P O S T G R E S _ P A S S W O R D : $ n e t w o r k s : n o d e _ n e t : i p v 4 _ a d d r e s s : 1 7 2 . 2 8 . 1 . 3 1 k e y c l o a k : i m a g e : q u a y . i o / k e y c l o a k / k e y c l o a k : 2 3 . 0 . 6 c o m m a n d : s t a r t # i m p o r t r e a l m e n v i r o n m e n t : K C _ H O S T N A M E : l o c a l h o s t K C _ H O S T N A M E _ P O R T : 8 0 8 0 K C _ H O S T N A M E _ S T R I C T _ B A C K C H A N N E L : f a l s e K C _ H T T P _ E N A B L E D : t r u e K C _ H O S T N A M E _ S T R I C T _ H T T P S : f a l s e K C _ H E A L T H _ E N A B L E D : t r u e K E Y C L O A K _ A D M I N : $ K E Y C L O A K _ A D M I N _ P A S S W O R D : $ K C _ D B : p o s t g r e s K C _ D B _ U R L : j d b c : p o s t g r e s q l : / / 1 7 2 . 2 8 . 1 . 3 1 / k e y c l o a k K C _ D B _ U S E R N A M E : $ K C _ D B _ P A S S W O R D : $ p o r t s : 8 0 8 0 : 8 0 8 0 v o l u m e s : . / r e a l m s : / o p t / k e y c l o a k / d a t a / i m p o r t r e s t a r t : a l w a y s d e p e n d s _ o n : p o s t g r e s n e t w o r k s : n o d e _ n e t : i p v 4 _ a d d r e s s : 1 7 2 . 2 8 . 1 . 9 0 v o l u m e s : p o s t g r e s _ d a t a : d r i v e r : l o c a l n e t w o r k s : n o d e _ n e t : i p a m : d r i v e r : d e f a u l t c o n f i g : s u b n e t : 1 7 2 . 2 8 . 0 . 0 / 1 6 T h e n , u s e t h e . / s t a r t s e r v i c e s . s h s c r i p t t o s t a r t t h e s e r v i c e s : S t e p 3 : A c c e s s K e y c l o a k A d m i n C o n s o l e O n c e K e y c l o a k h a s s t a r t e d , l o g i n t o t h e a d m i n c o n s o l e a t h t t p : / / l o c a l h o s t : 8 0 8 0 u s i n g t h e c o n f i g u r e d a d m i n u s e r n a m e a n d p a s s w o r d ( d e f a u l t i s a d m i n / a d m i n ) . S t e p 4 : C r e a t e a R e a l m a n d C l i e n t C r e a t e a R e a l m : L o g i n t o t h e K e y c l o a k a d m i n c o n s o l e . I n t h e l e f t h a n d m e n u , c l i c k o n A d d R e a l m . E n t e r t h e n a m e o f t h e r e a l m ( e . g . , o f f i c e s ) a n d c l i c k C r e a t e . C r e a t e a C l i e n t : S e l e c t y o u r n e w l y c r e a t e d r e a l m f r o m t h e l e f t h a n d m e n u . C l i c k o n C l i e n t s i n t h e l e f t h a n d m e n u . C l i c k o n C r e a t e i n t h e r i g h t h a n d c o r n e r . E n t e r t h e c l i e n t I D ( e . g . , o f f i c e s ) , c h o o s e o p e n i d c o n n e c t a s t h e c l i e n t p r o t o c o l , a n d c l i c k S a v e . C l i c k S a v e . E x t r a c t t h e a d m i n c l i C l i e n t S e c r e t : F o l l o w d i r e c t i o n s i n t h e d o c E X T R A C T I N G A D M I N C L I C L I E N T S E C R E T . m d t o e x t r a c t t h e a d m i n c l i c l i e n t s e c r e t . S a v e t h e c l i e n t s e c r e t f o r l a t e r u s e . S t e p 5 : V e r i f y t h e S e t u p W i t h H T T P R e q u e s t s T o v e r i f y t h e s e t u p , y o u c a n u s e H T T P r e q u e s t s t o o b t a i n t o k e n s . G e t a c c e s s t o k e n : h t t p a a d m i n c l i : [ c l i e n t s e c r e t ] f o r m P O S T h t t p : / / l o c a l h o s t : 8 0 8 0 / r e a l m s / m a s t e r / p r o t o c o l / o p e n i d c o n n e c t / t o k e n g r a n t _ t y p e = p a s s w o r d u s e r n a m e = a d m i n p a s s w o r d = P a 5 5 w 0 r d S t e p 6 : C r e a t e a P o s t g r e S Q L D u m p A f t e r v e r i f y i n g t h e s e t u p , c r e a t e a P o s t g r e S Q L d u m p o f t h e K e y c l o a k d a t a b a s e t o u s e f o r s e e d i n g t h e d a t a b a s e d u r i n g i n t e g r a t i o n t e s t s . C r e a t e t h e d u m p : d o c k e r e x e c i d o c k e r p o s t g r e s 1 / b i n / b a s h c P G P A S S W O R D = k e y c l o a k p g _ d u m p u s e r n a m e k e y c l o a k k e y c l o a k > d u m p / k e y c l o a k d u m p . s q l S a v e t h e f i l e : S a v e t h e k e y c l o a k d u m p . s q l f i l e l o c a l l y . T h i s f i l e w i l l b e u s e d t o s e e d t h e d a t a b a s e f o r i n t e g r a t i o n t e s t s . F o l l o w i n g t h e s e s t e p s , y o u w i l l h a v e a K e y c l o a k i n s t a n c e c o n f i g u r e d a n d r e a d y f o r i n t e g r a t i o n t e s t i n g w i t h S p r i n g S e c u r i t y a n d t h e S p o c k F r a m e w o r k . S p r i n g S e c u r i t y a n d K e y c l o a k I n t e g r a t i o n T e s t s T h i s s e c t i o n w i l l s e t u p i n t e g r a t i o n t e s t s f o r S p r i n g S e c u r i t y a n d K e y c l o a k u s i n g S p o c k a n d T e s t c o n t a i n e r s . T h i s i n v o l v e s c o n f i g u r i n g d e p e n d e n c i e s , s e t t i n g u p T e s t c o n t a i n e r s f o r K e y c l o a k a n d P o s t g r e S Q L , a n d c r e a t i n g a b a s e c l a s s t o h o l d t h e n e c e s s a r y c o n f i g u r a t i o n s . S t e p 1 : A d d D e p e n d e n c i e s F i r s t , a d d t h e n e c e s s a r y d e p e n d e n c i e s t o y o u r p o m . x m l f i l e . E n s u r e t h a t S p o c k , T e s t c o n t a i n e r s f o r K e y c l o a k a n d P o s t g r e S Q L , a n d o t h e r r e q u i r e d l i b r a r i e s a r e i n c l u d e d ( c h e c k h e r e ) . S t e p 2 : C r e a t e t h e B a s e T e s t C l a s s C r e a t e a b a s e c l a s s t o h o l d t h e c o n f i g u r a t i o n f o r y o u r i n t e g r a t i o n t e s t s . p a c k a g e c o m . t a p t e c h . c o m m o n . s e c u r i t y . k e y c l o a k i m p o r t c o m . t a p t e c h . c o m m o n . s e c u r i t y . u s e r . I n M e m o r y U s e r C o n t e x t P e r m i s s i o n s S e r v i c e i m p o r t c o m . f a s t e r x m l . j a c k s o n . d a t a b i n d . O b j e c t M a p p e r i m p o r t d a s n i k o . t e s t c o n t a i n e r s . k e y c l o a k . K e y c l o a k C o n t a i n e r i m p o r t o r g . k e y c l o a k . a d m i n . c l i e n t . K e y c l o a k i m p o r t o r g . s l f 4 j . L o g g e r i m p o r t o r g . s l f 4 j . L o g g e r F a c t o r y i m p o r t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d i m p o r t o r g . s p r i n g f r a m e w o r k . c o n t e x t . a n n o t a t i o n . B e a n i m p o r t o r g . s p r i n g f r a m e w o r k . c o n t e x t . a n n o t a t i o n . C o n f i g u r a t i o n i m p o r t o r g . t e s t c o n t a i n e r s . c o n t a i n e r s . N e t w o r k i m p o r t o r g . t e s t c o n t a i n e r s . c o n t a i n e r s . P o s t g r e S Q L C o n t a i n e r i m p o r t o r g . t e s t c o n t a i n e r s . c o n t a i n e r s . o u t p u t . S l f 4 j L o g C o n s u m e r i m p o r t o r g . t e s t c o n t a i n e r s . c o n t a i n e r s . w a i t . s t r a t e g y . S h e l l S t r a t e g y i m p o r t o r g . t e s t c o n t a i n e r s . u t i l i t y . D o c k e r I m a g e N a m e i m p o r t o r g . t e s t c o n t a i n e r s . u t i l i t y . M o u n t a b l e F i l e i m p o r t s p o c k . l a n g . S h a r e d i m p o r t s p o c k . l a n g . S p e c i f i c a t i o n i m p o r t s p o c k . m o c k . D e t a c h e d M o c k F a c t o r y i m p o r t j a v a . t i m e . D u r a t i o n i m p o r t j a v a . t i m e . t e m p o r a l . C h r o n o U n i t c l a s s B a s e K e y C l o a k I n f r a S t r u c t u r e e x t e n d s S p e c i f i c a t i o n p u b l i c s t a t i c f i n a l D o c k e r I m a g e N a m e K E Y C L O A K _ I M A G E = D o c k e r I m a g e N a m e . p a r s e ( b i t n a m i / k e y c l o a k : 2 3 . 0 . 5 ) ; @ S h a r e d p u b l i c s t a t i c K e y c l o a k C o n t a i n e r k e y c l o a k C o n t a i n e r ; @ S h a r e d s t a t i c S t r i n g a d m i n C C = a d m i n @ c c . c o m d e f s e t u p ( ) / / r u n b e f o r e e v e r y f e a t u r e m e t h o d d e f c l e a n u p ( ) / / r u n a f t e r e v e r y f e a t u r e m e t h o d d e f s e t u p S p e c ( ) , k e y c l o a k C o n t a i n e r . g e t E x p o s e d P o r t s ( ) ) S t r i n g k e y c l o a k B a s e U r l = S t r i n g . f o r m a t ( k e y c l o a k B a s e U r l F o r m a t , k e y c l o a k C o n t a i n e r . g e t H o s t ( ) , k e y c l o a k C o n t a i n e r . g e t M a p p e d P o r t ( 8 0 8 0 ) ) ; / / S t r i n g k e y c l o a k B a s e U r l = h t t p : / / l o c a l h o s t : 8 0 8 0 l o g g e r . i n f o ( K e y c l o a k a u t h S e r v e r U r l : , a u t h S e r v e r U r l ) l o g g e r . i n f o ( K e y c l o a k U R L : , k e y c l o a k B a s e U r l ) l o g g e r . i n f o ( K e y c l o a k a d m i n U s e r n a m e : , a d m i n U s e r n a m e ) l o g g e r . i n f o ( K e y c l o a k a d m i n P a s s w o r d : , a d m i n P a s s w o r d ) l o g g e r . i n f o ( J D B C U R L : , j d b c U r l ) S y s t e m . s e t P r o p e r t y ( s p r i n g . d a t a s o u r c e . u r l , j d b c U r l ) S y s t e m . s e t P r o p e r t y ( s p r i n g . d a t a s o u r c e . u s e r n a m e , p o s t g r e s . g e t U s e r n a m e ( ) ) S y s t e m . s e t P r o p e r t y ( s p r i n g . d a t a s o u r c e . p a s s w o r d , p o s t g r e s . g e t P a s s w o r d ( ) ) S y s t e m . s e t P r o p e r t y ( s p r i n g . d a t a s o u r c e . d r i v e r C l a s s N a m e , o r g . p o s t g r e s q l . D r i v e r ) ; S y s t e m . s e t P r o p e r t y ( P O S T G R E S _ U R L , j d b c U r l ) S y s t e m . s e t P r o p e r t y ( P O S R G R E S _ U S E R , p o s t g r e s . g e t U s e r n a m e ( ) ) S y s t e m . s e t P r o p e r t y ( P O S R G R E S _ P A S S W O R D , p o s t g r e s . g e t P a s s w o r d ( ) ) ; S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . b a s e u r l , a u t h S e r v e r U r l ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . a d m i n c l i e n t s e c r e t , D C R k k q p U v 3 X l Q n o s j t f 8 j H l e P 7 t u d u T a ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . a d m i n c l i e n t i d , K e y C l o a k C o n s t a n t s . A D M I N _ C L I ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . a d m i n u s e r n a m e , a d m i n U s e r n a m e ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . a d m i n p a s s w o r d , a d m i n P a s s w o r d ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . d e f a u l t c o n t e x t i d , O F F I C E S ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . c l i e n t s e c r e t , x 9 R I G y c 7 r h 8 A 4 w 4 s M l 8 U 5 r F 3 H u N m 2 w O C 3 W O D ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . c l i e n t i d , O F F I C E S ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . t o k e n u r i , / r e a l m s / o f f i c e s / p r o t o c o l / o p e n i d c o n n e c t / t o k e n ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . j w k s e t u r i , a u t h S e r v e r U r l + / r e a l m s / o f f i c e s / p r o t o c o l / o p e n i d c o n n e c t / c e r t s ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . i s s u e r u r l , a u t h S e r v e r U r l + / r e a l m s / o f f i c e s ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . a d m i n t o k e n u r i , / r e a l m s / m a s t e r / p r o t o c o l / o p e n i d c o n n e c t / t o k e n ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . u s e r u r i , / a d m i n / r e a l m s / / u s e r s ) S y s t e m . s e t P r o p e r t y ( i d p . p r o v i d e r . k e y c l o a k . u s e s t r i c t j w t v a l i d a t o r s , f a l s e ) } / / r u n b e f o r e t h e f i r s t f e a t u r e m e t h o d d e f c l e a n u p S p e c ( ) / / r u n a f t e r @ A u t o w i r e d K e y c l o a k k e y c l o a k @ A u t o w i r e d K e y C l o a k A u t h e n t i c a t i o n M a n a g e r k e y C l o a k A u t h e n t i c a t i o n M a n a g e r @ A u t o w i r e d I n M e m o r y U s e r C o n t e x t P e r m i s s i o n s S e r v i c e u s e r C o n t e x t P e r m i s s i o n s S e r v i c e @ A u t o w i r e d K e y C l o a k M a n a g e m e n t S e r v i c e k e y C l o a k S e r v i c e @ A u t o w i r e d K e y C l o a k I d p P r o p e r t i e s k e y C l o a k I d p P r o p e r t i e s @ A u t o w i r e d K e y C l o a k J w t D e c o d e r F a c t o r y k e y C l o a k J w t D e c o d e r F a c t o r y d e f t e s t _ c o n f i g ( ) s t a t i c S t r i n g b a s i c A u t h C r e d s F r o m ( S t r i n g s 1 , S t r i n g s 2 ) s t a t i c t o B a s i c A u t h C r e d s ( S t r i n g s 1 , S t r i n g s 2 ) @ C o n f i g u r a t i o n @ E n a b l e K e y C l o a k p u b l i c s t a t i c c l a s s T e s t C o n f i g D e t a c h e d M o c k F a c t o r y m o c k F a c t o r y = n e w D e t a c h e d M o c k F a c t o r y ( ) } } I n t h e B a s e K e y C l o a k I n f r a S t r u c t u r e c l a s s , a m e t h o d n a m e d c r e a t e P o s t g r e s q l C o n t a i n e r ( ) i s u s e d t o s e t u p a P o s t g r e S Q L t e s t c o n t a i n e r . T h i s m e t h o d c o n f i g u r e s t h e c o n t a i n e r w i t h v a r i o u s s e t t i n g s , i n c l u d i n g n e t w o r k s e t t i n g s , u s e r n a m e , p a s s w o r d , a n d d a t a b a s e n a m e . T h i s c l a s s s e t s u p t h e e n t i r e P o s t g r e s q l a n d K e y c l o a k e n v . O n e o f t h e k e y s t e p s i n t h i s m e t h o d i s t h e u s e o f a P o s t g r e S Q L d u m p f i l e t o p o p u l a t e t h e d a t a b a s e w i t h i n i t i a l d a t a . T h i s i s d o n e u s i n g t h e w i t h C o p y F i l e T o C o n t a i n e r ( ) m e t h o d , w h i c h c o p i e s a f i l e f r o m t h e c l a s s p a t h t o a s p e c i f i e d l o c a t i o n w i t h i n t h e c o n t a i n e r . I f y o u h a v e p r o b l e m s s t a r t i n g , y o u m i g h t n e e d t o r e s t a r t t h e D o c k e r C o m p o s e f i l e a n d e x t r a c t t h e c l i e n t s e c r e t . T h i s i s e x p l a i n e d i n E X T R A C T I N G A D M I N C L I C L I E N T S E C R E T . T h e c o d e s n i p p e t f o r t h i s i s : . w i t h C o p y F i l e T o C o n t a i n e r ( M o u n t a b l e F i l e . f o r C l a s s p a t h R e s o u r c e ( p o s t g r e s / k e y c l o a k d u m p . s q l ) , / d o c k e r e n t r y p o i n t i n i t d b . d / k e y c l o a k d u m p . s q l ) S t e p 3 : E x t e n d t h e B a s e C l a s s E n d R u n Y o u r T e s t s p a c k a g e c o m . t a p t e c h . c o m m o n . s e c u r i t y . t o k e n i m p o r t c o m . t a p t e c h . c o m m o n . E n a b l e C o m m o n C o n f i g i m p o r t c o m . t a p t e c h . c o m m o n . s e c u r i t y . k e y c l o a k . B a s e K e y C l o a k I n f r a S t r u c t u r e i m p o r t c o m . t a p t e c h . c o m m o n . s e c u r i t y . k e y c l o a k . E n a b l e K e y C l o a k i m p o r t c o m . t a p t e c h . c o m m o n . s e c u r i t y . k e y c l o a k . K e y C l o a k A u t h e n t i c a t i o n M a n a g e r i m p o r t c o m . t a p t e c h . c o m m o n . s e c u r i t y . u s e r . U s e r C o n t e x t P e r m i s s i o n s i m p o r t c o m . t a p t e c h . c o m m o n . s e c u r i t y . u t i l s . S e c u r i t y U t i l s i m p o r t c o m . f a s t e r x m l . j a c k s o n . d a t a b i n d . O b j e c t M a p p e r i m p o r t o r g . s l f 4 j . L o g g e r i m p o r t o r g . s l f 4 j . L o g g e r F a c t o r y i m p o r t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d i m p o r t o r g . s p r i n g f r a m e w o r k . b o o t . t e s t . a u t o c o n f i g u r e . w e b . r e a c t i v e . W e b F l u x T e s t i m p o r t o r g . s p r i n g f r a m e w o r k . c o n t e x t . a n n o t a t i o n . B e a n i m p o r t o r g . s p r i n g f r a m e w o r k . c o n t e x t . a n n o t a t i o n . C o n f i g u r a t i o n i m p o r t o r g . s p r i n g f r a m e w o r k . s e c u r i t y . o a u t h 2 . c l i e n t . r e g i s t r a t i o n . I n M e m o r y R e a c t i v e C l i e n t R e g i s t r a t i o n R e p o s i t o r y i m p o r t o r g . s p r i n g f r a m e w o r k . t e s t . c o n t e x t . C o n t e x t C o n f i g u r a t i o n i m p o r t o r g . s p r i n g f r a m e w o r k . t e s t . w e b . r e a c t i v e . s e r v e r . E n t i t y E x c h a n g e R e s u l t i m p o r t o r g . s p r i n g f r a m e w o r k . t e s t . w e b . r e a c t i v e . s e r v e r . W e b T e s t C l i e n t i m p o r t s p o c k . m o c k . D e t a c h e d M o c k F a c t o r y i m p o r t o r g . s p r i n g f r a m e w o r k . b o o t . a u t o c o n f i g u r e . s e c u r i t y . r e a c t i v e . R e a c t i v e S e c u r i t y A u t o C o n f i g u r a t i o n @ C o n t e x t C o n f i g u r a t i o n ( c l a s s e s = [ T e s t A p i C o n t r o l l e r C o n f i g . c l a s s ] ) @ W e b F l u x T e s t ( / * c o n t r o l l e r s = [ T o k e n A p i C o n t r o l l e r . c l a s s ] , * / p r o p e r t i e s = [ s p r i n g . m a i n . a l l o w b e a n d e f i n i t i o n o v e r r i d i n g = t r u e , o p e n a p i . t o k e n . b a s e p a t h = / , i d p . p r o v i d e r . k e y c l o a k . i n i t i a l i z e o n s t a r t u p = t r u e , i d p . p r o v i d e r . k e y c l o a k . i n i t i a l i z e r e a l m s o n s t a r t u p = f a l s e , i d p . p r o v i d e r . k e y c l o a k . i n i t i a l i z e u s e r s o n s t a r t u p = t r u e , s p r i n g . t e s t . w e b t e s t c l i e n t . b a s e u r l = h t t p : / / l o c a l h o s t : 8 8 8 8 ] , e x c l u d e A u t o C o n f i g u r a t i o n = R e a c t i v e S e c u r i t y A u t o C o n f i g u r a t i o n . c l a s s ) c l a s s T o k e n A p i C o n t r o l l e r T e s t e x t e n d s B a s e K e y C l o a k I n f r a S t r u c t u r e d e f t e s t _ p u b l i c _ j w k k e y s ( ) d e f t e s t _ p u b l i c _ l o g i n ( ) ) . e x c h a n g e ( ) . e x p e c t S t a t u s ( ) . i s O k ( ) . e x p e c t B o d y ( ) . j s o n P a t h ( . a c c e s s _ t o k e n ) . i s N o t E m p t y ( ) . j s o n P a t h ( . r e f r e s h _ t o k e n ) . i s N o t E m p t y ( ) } d e f t e s t _ p u b l i c _ l o g i n _ 4 0 1 ( ) ) . e x c h a n g e ( ) . e x p e c t S t a t u s ( ) . i s U n a u t h o r i z e d ( ) } d e f t e s t _ p u b l i c _ r e f r e s h _ t o k e n ( ) ) . e x c h a n g e ( ) . e x p e c t S t a t u s ( ) . i s O k ( ) . e x p e c t B o d y ( ) . j s o n P a t h ( . a c c e s s _ t o k e n ) . i s N o t E m p t y ( ) . j s o n P a t h ( . r e f r e s h _ t o k e n ) . i s N o t E m p t y ( ) } d e f t e s t _ p u b l i c _ v a l i d a t e ( ) ) . e x c h a n g e ( ) . e x p e c t S t a t u s ( ) . i s O k ( ) . e x p e c t B o d y ( U s e r C o n t e x t P e r m i s s i o n s . c l a s s ) . r e t u r n R e s u l t ( ) l o g g e r . i n f o ( e n t i t y E x c h a n g e R e s u l t : , e n t i t y E x c h a n g e R e s u l t . g e t R e s p o n s e B o d y ( ) ) } @ C o n f i g u r a t i o n @ E n a b l e C o m m o n C o n f i g @ E n a b l e K e y C l o a k @ E n a b l e T o k e n A p i p u b l i c s t a t i c c l a s s T e s t A p i C o n t r o l l e r C o n f i g D e t a c h e d M o c k F a c t o r y m o c k F a c t o r y = n e w D e t a c h e d M o c k F a c t o r y ( ) } } C o n c l u s i o n W i t h t h i s s e t u p , y o u h a v e c o n f i g u r e d T e s t c o n t a i n e r s t o r u n K e y c l o a k a n d P o s t g r e S Q L w i t h i n a D o c k e r n e t w o r k , s e e d e d t h e P o s t g r e S Q L d a t a b a s e w i t h a d u m p f i l e , a n d c r e a t e d a b a s e t e s t c l a s s t o m a n a g e t h e l i f e c y c l e o f t h e s e c o n t a i n e r s . Y o u c a n n o w w r i t e y o u r i n t e g r a t i o n t e s t s e x t e n d i n g t h i s b a s e c l a s s t o e n s u r e y o u r S p r i n g S e c u r i t y c o n f i g u r a t i o n w o r k s c o r r e c t l y w i t h K e y c l o a k . B y G r e g L a w s o n B u i l d Y o u r B u s i n e s s A p p W i t h B P M N 2 . 0 I n t h i s s h o r t t u t o r i a l , I w i l l s h o w h o w t o b u i l d a b u s i n e s s a p p l i c a t i o n w i t h t h e B u s i n e s s P r o c e s s M o d e l l i n g N o t a t i o n – B P M N . T h i s a p p r o a c h d i f f e r s f r o m t h e u s u a l d a t a c e n t r i c a p p r o a c h a s w e f o c u s o n p r o c e s s m a n a g e m e n t i n s t e a d o f d a t a p r o c e s s i n g . D a t a P r o c e s s i n g v s . P r o c e s s M a n a g e m e n t W h e n w e f o l l o w t h e c l a s s i c a p p r o a c h o f b u i l d i n g a D a t a C e n t r i c B u s i n e s s A p p l i c a t i o n , w e u s u a l l y f i r s t d e s i g n a d a t a s c h e m a . T h e d a t a s c h e m a d e f i n e s w h a t k i n d o f d a t a c a n b e m a n a g e d . T h e a p p l i c a t i o n a l l o w s u s t o c r e a t e n e w d a t a s e t s , e d i t e x i s t i n g d a t a , a n d , o f c o u r s e , s e a r c h f o r d a t a . I n a P r o c e s s C e n t r i c B u s i n e s s A p p l i c a t i o n , w e i n s t e a d f i r s t t r y t o a n s w e r t h e q u e s t i o n o f h o w d a t a s h o u l d b e p r o c e s s e d t o g i v e e a c h a c t o r t h e b e s t a c c e s s t o i n f o r m a t i o n t o r e a c h a s p e c i f i c b u s i n e s s g o a l . T h i s k i n d o f q u e s t i o n b e c o m e s m o r e a n d m o r e i m p o r t a n t i n t o d a y ’ s r a p i d l y e v o l v i n g b u s i n e s s l a n d s c a p e . B P M N o f f e r s t h e p e r f e c t a p p r o a c h t o m o d e l a w o r k f l o w w i t h i t s b u s i n e s s g o a l s f r o m t h e b e g i n n i n g t o t h e e n d . B P M N m o d e l s c a n b e c r e a t e d w i t h v a r i o u s t o o l s l i k e t h e O p e n S o u r c e B P M N d e s i g n e r O p e n B P M N , f o r e x a m p l e . T h e b i g a d v a n t a g e o f B P M N i s t h a t i t d o e s n o t o n l y g i v e a l l s t a k e h o l d e r s a c l e a r u n d e r s t a n d i n g a b o u t t h e p r o c e s s , b u t a B P M N 2 . 0 M o d e l c a n a l s o b e e x e c u t e d b y a s u i t a b l e p r o c e s s e n g i n e . T h i s “ l o w c o d e ” o r “ m o d e l d r i v e n ” a p p r o a c h l e a d s t o a m u c h m o r e f l e x i b l e w a y t o i m p l e m e n t b u s i n e s s a p p l i c a t i o n s . O f c o u r s e , d a t a s t i l l p l a y s a n i m p o r t a n t r o l e , a n d w o r k f l o w e n g i n e s a l l o w u s t o m a n a g e b u s i n e s s d a t a i n v a r i o u s w a y s . S o l e t ’ s s e e h o w t h i s w o r k s . S t a r t W i t h a B u s i n e s s P r o c e s s F i r s t o f a l l , w e h a v e t o t h i n k a b o u t t h e b u s i n e s s p r o c e s s b e h i n d o u r b u s i n e s s a p p . B e f o r e w e t h i n k a b o u t d a t a , w e s h o u l d f o c u s o n q u e s t i o n s l i k e : W h y d o w e n e e d t h i s k i n d o f i n f o r m a t i o n ? W h o i s r e s p o n s i b l e t o c r e a t e o r u p d a t e d a t a ? W h i c h s t e p s a r e n e c e s s a r y t o p r o c e s s d a t a c o r r e c t l y ? W h a t d o w e e x p e c t t o h a p p e n n e x t ? A s m e n t i o n e d b e f o r e , a b u s i n e s s p r o c e s s d e f i n e s t h e w a y t o a c h i e v e a c o n c r e t e b u s i n e s s g o a l . I n a B P M N m o d e l , w e c a n d e s c r i b e t h i s w a y f r o m i t s b e g i n n i n g t o t h e e n d . S e e t h e f o l l o w i n g e x a m p l e o f a s i m p l e P r o p o s a l C r e a t i o n P r o c e s s : T h e B P M N m o d e l d e f i n e s a S t a r t ( g r e e n ) a n d E n d ( r e d ) e v e n t t o m a r k t h e b e g i n n i n g a n d e n d o f t h e p r o c e s s . A n A c t i v i t y E l e m e n t ( b l u e b o x e s i n t h i s d i a g r a m ) d e f i n e s a s i n g l e t a s k i n t h e b u s i n e s s p r o c e s s . T h i s c a n a l s o b e a m i l e s t o n e t o b e r e a c h e d . A n e v e n t ( b l u e c i r c l e ) d e f i n e s t h e t r a n s i t i o n i n t o a n e w t a s k o r s t a t u s . A n e v e n t c a n b e t r i g g e r e d e x t e r n a l l y ( e . g . , O r d e r r e c e i v e d f r o m c u s t o m e r ) o r b y a n a c t o r ( e . g . , P r o p o s a l c r e a t e d a n d s u b m i t t e d f o r r e v i e w ) . I n t h i s w a y , w e g e t a s e q u e n c e f l o w – t h e w o r k f l o w . B u s i n e s s R u l e s I n a d d i t i o n t o t h e s e q u e n c e f l o w , w e c a n d e f i n e b u s i n e s s r u l e s t o i m p l e m e n t a d d i t i o n a l b u s i n e s s l o g i c . F o r e x a m p l e , w e c a n d e f i n e t h a t a R e v i e w i n t h i s e x a m p l e p r o c e s s i s o n l y n e e d e d f o r P r o p o s a l s w i t h a b i d a m o u n t o v e r 1 , 0 0 0 , 0 0 E U R . F o r t h i s , w e c a n a d d a n E x c l u s i v e G a t e w a y w i t h c o n d i t i o n a l f l o w s t o t h e d i a g r a m : I n t h i s e x a m p l e , t h e t r a n s i t i o n ( S e q u e n c e F l o w ) b e t w e e n G a t e w a y 1 a n d t h e R e v i e w T a s k n o w c o n t a i n s a c o n d i t i o n ; e . g . : w o r k i t e m . g e t I t e m V a l u e D o u b l e ( a m o u n t ) > = 1 0 0 0 . 0 A B P M N e n g i n e c a n e v a l u a t e t h e s e k i n d s o f c o n d i t i o n s b y d i f f e r e n t s c r i p t l a n g u a g e s b a s e d o n t h e d a t a p r o v i d e d i n t h e w o r k f l o w . T h e d a t a c a n e i t h e r b e s t o r e d d i r e c t l y i n t h e p r o c e s s i n s t a n c e , o r d e f i n e d b y a r e f e r e n c e t o a n e x t e r n a l d a t a s o u r c e . T h e r e a r e a n u m b e r o f m o r e e l e m e n t s d e f i n e d i n t h e B P M N 2 . 0 s t a n d a r d t h a t a l l o w t h e m o d e l i n g e v e n o f m u c h m o r e c o m p l e x b u s i n e s s p r o c e s s e s . R u n Y o u r B u s i n e s s P r o c e s s N o w l e t ’ s s e e h o w w e c a n s t a r t a n d c o n t r o l s u c h a B P M N p r o c e s s i n a n a p p l i c a t i o n b y u s i n g a B P M N e n g i n e . T h e r e a r e v a r i o u s B P M N e n g i n e s a v a i l a b l e a n d a l o t o f t h e m a r e o p e n s o u r c e . S e e t h e l i s t o f a w e s o m e w o r k f l o w e n g i n e s m a i n t a i n e d b y @ m e i r w a h o n G i t H u b . I n t h e f o l l o w i n g , I u s e t h e I m i x s W o r k f l o w e n g i n e , w h i c h s u p p o r t s B P M N 2 . 0 a n d p r o v i d e s a D o c k e r c o n t a i n e r t h a t a l l o w s u s t o s t a r t o u t o f t h e b o x w i t h o u t t h e n e e d t o w r i t e a n y c o d e . W i t h t h e I m i x s M i c r o s e r v i c e w e c a n s t a r t t h e B P M N W o r k f l o w e n g i n e i n a c o n t a i n e r . J u s t c r e a t e a l o c a l d o c k e r c o m p o s e . y a m l f i l e w i t h t h e f o l l o w i n g c o n t e n t : s e r v i c e s : i m i x s d b : i m a g e : p o s t g r e s : 1 3 . 1 1 e n v i r o n m e n t : P O S T G R E S _ P A S S W O R D : a d m i n a d m i n P O S T G R E S _ D B : w o r k f l o w d b i m i x s a p p : i m a g e : i m i x s / i m i x s m i c r o s e r v i c e : l a t e s t e n v i r o n m e n t : T Z : C E T L A N G : e n _ U S . U T F 8 P O S T G R E S _ U S E R : p o s t g r e s P O S T G R E S _ P A S S W O R D : a d m i n a d m i n P O S T G R E S _ C O N N E C T I O N : j d b c : p o s t g r e s q l : / / i m i x s d b / w o r k f l o w d b p o r t s : 8 0 8 0 : 8 0 8 0 S t a r t t h e s e r v i c e w i t h : $ d o c k e r c o m p o s e u p T h e s e r v i c e s t a r t s w i t h a s h o r t w e l c o m e p a g e a t h t t p : / / l o c a l h o s t : 8 0 8 0 a n d p r o v i d e s a R E S T i n t e r f a c e a t h t t p : / / l o c a l h o s t : 8 0 8 0 / a p i / o p e n a p i u i / i n d e x . h t m l . T h i s R E S T A P I u s e r i n t e r f a c e a l l o w s u s t o t e s t v a r i o u s m e t h o d s t o s t a r t a w o r k f l o w o r t o p r o c e s s e x i s t i n g o n e s . U p l o a d Y o u r M o d e l F i r s t , w e n e e d t o u p l o a d o u r m o d e l . F o r t h i s , w e c a n u s e t h e c u r l c o m m a n d a n d p o s t o u r B P M N f i l e t o t h e R E S T S e r v i c e e n d p o i n t : $ c u r l u s e r a d m i n : a d m i n a d m i n r e q u e s t P O S T \ \ T m y m o d e l . b p m n h t t p : / / l o c a l h o s t : 8 0 8 0 / a p i / m o d e l / b p m n O r w e c a n u s e t h e R E S T A P I U I t o p o s t t h e m o d e l a t t h e r e s o u r c e / a p i / m o d e l / b p m n / . Y o u c a n d o w n l o a d t h e t e s t m o d e l f r o m G i t H u b o r y o u c r e a t e a n e w f i l e m y m o d e l . b p m n w i t h t h e f o l l o w i n g c o n t e n t : t r u e T a s k _ 2 I n t e r m e d i a t e C a t c h E v e n t _ 1 S t a r t E v e n t _ 1 T a s k _ 1 I n t e r m e d i a t e C a t c h E v e n t _ 7 T a s k _ 4 E n d E v e n t _ 1 I n t e r m e d i a t e C a t c h E v e n t _ 8 T e x t A n n o t a t i o n _ 2 g a t e w a y _ R 0 B 0 0 Q g a t e w a y _ 7 z m 0 s w s u b j e c t ] ] > t r u e s e q u e n c e F l o w _ f C u q C w s e q u e n c e F l o w _ 7 j b D F Q S e q u e n c e F l o w _ 1 2 $ E d i t o r ] ] > 2 0 ] ] > f a l s e b S u b m i t / b a n e w t i c k e t S e q u e n c e F l o w _ 1 1 S e q u e n c e F l o w _ 3 s u b j e c t ] ] > t r u e S e q u e n c e F l o w _ 1 2 s e q u e n c e F l o w _ B Y x 0 E g s e q u e n c e F l o w _ O 0 0 H W A S e q u e n c e F l o w _ 1 s u b j e c t ] ] > C r e a t e a n e w t i c k e t S e q u e n c e F l o w _ 1 S e q u e n c e F l o w _ 1 1 s e q u e n c e F l o w _ j s p J i g f a l s e s e q u e n c e F l o w _ W n 3 N G w s e q u e n c e F l o w _ B Y x 0 E g n a m c u r r e n t E d i t o r ] ] > f a l s e s e q u e n c e F l o w _ G N x Y 5 A s e q u e n c e F l o w _ j s p J i g s e q u e n c e F l o w _ f C u q C w s e q u e n c e F l o w _ G N x Y 5 A s e q u e n c e F l o w _ W n 3 N G w S e q u e n c e F l o w _ 3 s e q u e n c e F l o w _ 7 j b D F Q s e q u e n c e F l o w _ O 0 0 H W A = 1 0 0 0 . 0 ] ] > T h e s t a t u s o f a l l a v a i l a b l e m o d e l s c a n b e v e r i f i e d a t t h e R E S T A P I e n d p o i n t , h t t p : / / l o c a l h o s t : 8 0 8 0 / a p i / m o d e l . N o t e : I u s e t h e u s e r I D a d m i n w i t h t h e p a s s w o r d a d m i n a d m i n h e r e . M o r e u s e r s w i t h d i f f e r e n t r o l e s a r e d e f i n e d b y t h i s s e r v i c e . F i n d t h e d e t a i l s o n t h e G i t H u b r e p o l i n k e d e a r l i e r . S t a r t a N e w P r o c e s s I n s t a n c e N o w t h a t t h e s e r v i c e i s u p a n d r u n n i n g , w e c a n s t a r t o u r f i r s t p r o c e s s i n s t a n c e . F o r t h i s , w e j u s t n e e d t o p o s t a n X M L d o c u m e n t c o n t a i n i n g t h e m o d e l i n f o r m a t i o n a n d o u r b u s i n e s s d a t a . W e c a n u s e t h e f o l l o w i n g R E S T A P I E n d p o i n t t o p o s t a n e w p r o c e s s i n s t a n c e : P O S T : / a p i / w o r k f l o w / w o r k i t e m . p r o p o s a l e n 1 . 0 1 0 0 0 1 0 M y f i r s t p r o p s a l . . . 5 0 0 . 0 A g a i n , y o u c a n p o s t t h e d a t a d i r e c t l y w i t h t h e R E S T A P I U I . I n t h i s e x a m p l e , I d e f i n e t h e m o d e l v e r s i o n , t h e i n i t i a l t a s k a n d t h e e v e n t t o b e p r o c e s s e d , a s w e l l a s s o m e c u s t o m b u s i n e s s d a t a ( s u b j e c t a n d a m o u n t ) . T h e w o r k f l o w e n g i n e a u t o m a t i c a l l y e x e c u t e s t h e d a t a a c c o r d i n g t o o u r u p l o a d e d B P M N m o d e l a n d r e t u r n s a r e s u l t o b j e c t . T o v e r i f y t h e r e s u l t w e c a n c h e c k t h e t a s k l i s t w i t h a l l p r o c e s s i n s t a n c e s c r e a t e d b y t h e u s e r a d m i n a t h t t p : / / l o c a l h o s t : 8 0 8 0 / a p i / w o r k f l o w / t a s k l i s t / c r e a t o r / a d m i n . A s y o u c a n s e e , t h e w o r k f l o w e n g i n e h a s p r o c e s s e d o u r d a t a a n d a p p l i e d t h e s t a t u s C o m p l e t e d t o o u r n e w w o r k f l o w i n s t a n c e . T h i s w a s b e c a u s e t h e a m o u n t w a s b e l o w 1 . 0 0 0 , 0 0 . T o t e s t o u r b u s i n e s s l o g i c w e c a n n o w c h a n g e t h e a m o u n t t o a v a l u e g r e a t e r t h a n 1 . 0 0 0 , 0 0 w h i c h w i l l s t a r t a n o t h e r n e w p r o c e s s i n s t a n c e i n t h e s t a t u s R e v i e w a c c o r d i n g t o o u r b u s i n e s s r u l e s . W e c a n n o w e a s i l y c h a n g e t h e p r o c e s s l o g i c a n d a d d n e w t a s k s o r b u s i n e s s r u l e s . A l l w e h a v e t o d o i s t o u p l o a d t h e n e w v e r s i o n o f t h e B P M N m o d e l . N o r e d e p l o y m e n t o f t h e a p p l i c a t i o n i s n e e d e d . T o u p d a t e t h e d a t a o f a n e x i s t i n g p r o c e s s i n s t a n c e w e c a n p o s t t h e d a t a t o g e t h e r w i t h t h e $ u n i q u e i d a n d t h e c o r r e s p o n d i n g e v e n t f r o m o u r m o d e l : 8 3 3 3 c 6 1 c b 9 7 3 4 5 9 1 a a b f e c 9 2 b d 5 9 d 7 4 b 1 0 B a k e r S t r e e t 2 2 1 b . T h e f i e l d $ u n i q u e i d i s r e t u r n e d b y t h e f i r s t c r e a t i o n o f a n e w w o r k f l o w i n s t a n c e a n d i s a r e f e r e n c e f o r f u r t h e r p r o c e s s i n g s t e p s . I n t h i s e x a m p l e , I o n l y p r o v i d e t h e r e f e r e n c e I D , a n E v e n t I D , a n d s o m e n e w d a t a . T h e W o r k f l o w e n g i n e w i l l v e r i f y t h e r e q u e s t a n d t h e e v e n t a c c o r d i n g t o t h e a s s i g n e d m o d e l . T h i s e n s u r e s t h a t t h e d a t a i s a l w a y s p r o c e s s e d a c c o r d i n g t o o u r b u s i n e s s p r o c e s s ! W e c a n a l s o u s e t h e $ u n i q u e I D t o f e t c h t h e d a t a f r o m t h e w o r k f l o w e n g i n e – e . g . , t o d i s p l a y t h e d a t a i n a w e b i n t e r f a c e . H o w T o I n t e g r a t e B P M N I n t o Y o u r A p p I n t h i s t u t o r i a l , I h a v e d e l i b e r a t e l y o m i t t e d t h e d e s i g n o f a w e b i n t e r f a c e b e c a u s e I w a n t e d t o f o c u s o n t h e b u s i n e s s l o g i c . W h e n u s i n g a R E S T A P I – a s i n t h i s e x a m p l e – t h e w o r k f l o w e n g i n e c a n b e i n t e g r a t e d i n t o a n a p p l i c a t i o n e a s i l y b y u s i n g d i f f e r e n t f r o n t e n d t e c h n o l o g i e s . I n a d d i t i o n , t h e r e a r e o f t e n o t h e r w a y s t o c o n n e c t a B P M N e n g i n e t o y o u r o w n a p p l i c a t i o n d e p e n d i n g o n t h e f r a m e w o r k u s e d b y t h e e n g i n e . F o r e x a m p l e , a l o t o f o p e n s o u r c e e n g i n e s a r e b a s e d o n J a v a a n d c a n b e i n t e g r a t e d b y c o m m o n b u i l d t o o l s l i k e M a v e n o r G r a d l e . F o r e x a m p l e , y o u c a n i n t e g r a t e t h e I m i x s W o r k f l o w e n g i n e i n t o a J a k a r t a E E a p p w i t h t h e f o l l o w i n g d e p e n d e n c i e s : . . . o r g . i m i x s . w o r k f l o w i m i x s w o r k f l o w e n g i n e $ o r g . i m i x s . w o r k f l o w i m i x s w o r k f l o w i n d e x l u c e n e $ . . . C a l l t h e e n g i n e w i t h i n y o u r c o d e u s i n g t h e C D I F r a m e w o r k l i k e t h i s : @ I n j e c t p r i v a t e o r g . i m i x s . w o r k f l o w . e n g i n e . W o r k f l o w S e r v i c e w o r k f l o w S e r v i c e ; I t e m C o l l e c t i o n w o r k i t e m = n e w I t e m C o l l e c t i o n ( ) . m o d e l ( p r o p o s a l e n 1 . 0 ) . t a s k ( 1 0 0 0 ) . e v e n t ( 1 0 ) ; / / a s s i g n s o m e b u s i n e s s d a t a . . . w o r k i t e m . s e t I t e m V a l u e ( a m o u n t , 5 0 0 . 0 ) ; / / p r o c e s s t h e w o r k i t e m w o r k i t e m = w o r k f l o w S e r v i c e . p r o c e s s W o r k I t e m ( w o r k i t e m ) ; T h i s c o d e e x a m p l e i s e q u a l t o t h e R E S T A P I c a l l i n t h e e x a m p l e a b o v e . D a t a I n t e g r a t i o n A s m e n t i o n e d b e f o r e , a n o t h e r a s p e c t i s t h e w a y y o u h a n d l e y o u r b u s i n e s s d a t a . I n m y e x a m p l e c o d e , I e m b e d d e d t h e b u s i n e s s d a t a d i r e c t l y i n t o t h e w o r k f l o w i n s t a n c e , s o n o e x t e r n a l d a t a b a s e w a s n e e d e d . B u t o f c o u r s e , i n s o m e s c e n a r i o s , i t m a y b e u s e f u l t o j u s t s t o r e a r e f e r e n c e t o a n e x t e r n a l d a t a s e t a n d h o l d t h e b u s i n e s s d a t a i n a s e p a r a t e d a t a b a s e . O r y o u m a y r e f e r e n c e t h e w o r k f l o w i n s t a n c e f r o m y o u r d a t a p r o c e s s i n g a p p l i c a t i o n b y e x t e n d i n g t h e d a t a s c h e m a . I n t h e l a s t t w o s c e n a r i o s , w e a l s o n e e d t o p r o v i d e a d a t a s e r v i c e t o b e a b l e t o p r o c e s s t h e p r e v i o u s l y m e n t i o n e d b u s i n e s s l o g i c i n t h e p r o c e s s e n g i n e . A l l m o d e r n B P M N e n g i n e s p r o v i d e i n t e r f a c e s t o c o n n e c t a d a t a s o u r c e w i t h t h e p r o c e s s l o g i c . C o n c l u s i o n I n s u m m a r y , i n c o r p o r a t i n g B P M N 2 . 0 i n t o y o u r b u s i n e s s a p p l i c a t i o n o f f e r s a s t r u c t u r e d a n d e f f i c i e n t w a y t o h a n d l e y o u r b u s i n e s s p r o c e s s e s . T h e a b i l i t y t o v i s u a l l y p r o c e s s m o d e l s n o t o n l y s i m p l i f i e s t h e d e s i g n a n d m a n a g e m e n t o f c o m p l e x w o r k f l o w s b u t a l s o e n h a n c e s c o l l a b o r a t i o n a c r o s s t e c h n i c a l a n d n o n t e c h n i c a l t e a m s . B y u s i n g t o o l s l i k e O p e n B P M N o r I m i x s W o r k f l o w , y o u c a n e a s i l y i m p l e m e n t B P M N 2 . 0 s t a n d a r d s , e n s u r i n g t h a t y o u r b u s i n e s s a p p l i c a t i o n s a r e b o t h s c a l a b l e a n d a d a p t a b l e . E m b r a c i n g B P M N 2 . 0 c a n l e a d t o m o r e o r g a n i z e d , t r a n s p a r e n t , a n d e f f e c t i v e b u s i n e s s o p e r a t i o n s , s e t t i n g t h e s t a g e f o r g r e a t e r s u c c e s s a n d g r o w t h . B y R a l p h S o i k a J a v a c a n d J a v a K a t a s , P a r t 2 : M o d u l e P a t h T h i s i s P a r t 2 , a c o n t i n u a t i o n o f J a v a c a n d J a v a K a t a s , P a r t 1 : C l a s s P a t h , w h e r e w e w i l l r u n t h r o u g h t h e s a m e e x e r c i s e s ( k a t a s ) b u t t h i s t i m e t h e m a i n f o c u s w i l l b e t h e u s a g e o f t h e J a v a P l a t f o r m M o d u l e S y s t e m . G e t t i n g S t a r t e d A s i n P a r t 1 , a l l c o m m a n d s i n t h i s a r t i c l e a r e e x e c u t e d i n s i d e a D o c k e r c o n t a i n e r t o m a k e s u r e t h a t t h e y w o r k a n d t o m i t i g a t e a n y e n v i r o n m e n t s p e c i f i c s e t u p . S o , l e t s c l o n e t h e G i t H u b r e p o s i t o r y a n d r u n t h e c o m m a n d b e l o w f r o m i t s j a v a j a v a c k a t a f o l d e r : S h e l l d o c k e r r u n r m i t n a m e j a v a _ k a t a v . : / j a v a j a v a c k a t a e n t r y p o i n t / b i n / b a s h m a v e n : 3 . 9 . 6 a m a z o n c o r r e t t o 1 7 d e b i a n K a t a 1 : H e l l o , W o r l d ! W a r m U p W e w i l l s t a r t w i t h a p r i m i t i v e J a v a a p p l i c a t i o n , / m o d u l e p a t h p a r t / k a t a o n e h e l l o w o r l d w a r m u p , w h i c h d o e s n o t h a v e a n y t h i r d p a r t y d e p e n d e n c i e s . T h e d i r e c t o r y s t r u c t u r e i s a s f o l l o w s : I n t h e p i c t u r e a b o v e , w e c a n s e e t h e J a v a p r o j e c t p a c k a g e h i e r a r c h y w i t h t w o c l a s s e s i n t h e c o m . e x a m p l e . k a t a . o n e p a c k a g e a n d t h e m o d u l e i n f o . j a v a f i l e w h i c h i s a m o d u l e d e c l a r a t i o n . C o m p i l a t i o n T o c o m p i l e o u r c o d e , w e a r e g o i n g t o u s e j a v a c i n t h e s i n g l e m o d u l e m o d e , w h i c h i m p l i e s t h a t t h e m o d u l e s o u r c e p a t h o p t i o n i s n o t u s e d : S h e l l j a v a c d . / t a r g e t / c l a s s e s $ ( f i n d n a m e * . j a v a ) A s a r e s u l t , t h e c o m p i l e d J a v a c l a s s e s s h o u l d a p p e a r i n t h e t a r g e t / c l a s s e s f o l d e r . T h e v e r b o s e o p t i o n c a n p r o v i d e m o r e d e t a i l s o n t h e c o m p i l a t i o n p r o c e s s : S h e l l j a v a c v e r b o s e d . / t a r g e t / c l a s s e s $ ( f i n d n a m e * . j a v a ) W e c a n a l s o o b t a i n t h e c o m p i l e d m o d u l e d e s c r i p t i o n a s f o l l o w s : S h e l l j a v a d e s c r i b e m o d u l e c o m . e x a m p l e . k a t a . o n e m o d u l e p a t h t a r g e t / c l a s s e s E x e c u t i o n S h e l l j a v a m o d u l e p a t h t a r g e t / c l a s s e s m o d u l e c o m . e x a m p l e . k a t a . o n e / c o m . e x a m p l e . k a t a . o n e . M a i n W h a t s h o u l d r e s u l t i n H e l l o W o r l d ! i n y o u r c o n s o l e . V a r i o u s v e r b o s e : [ c l a s s | m o d u l e | g c | j n i ] o p t i o n s c a n p r o v i d e m o r e d e t a i l s o n t h e e x e c u t i o n p r o c e s s : S h e l l j a v a v e r b o s e : m o d u l e m o d u l e p a t h t a r g e t / c l a s s e s m o d u l e c o m . e x a m p l e . k a t a . o n e / c o m . e x a m p l e . k a t a . o n e . M a i n A l s o , e x p e r i m e n t i n g a b i t d u r i n g b o t h t h e c o m p i l a t i o n a n d e x e c u t i o n s t a g e s , b y r e m o v i n g o r c h a n g i n g c l a s s e s a n d p a c k a g e s , s h o u l d g i v e y o u a g o o d u n d e r s t a n d i n g o f w h i c h i s s u e s l e a d t o p a r t i c u l a r e r r o r s . P a c k a g i n g B u i l d i n g M o d u l a r J A R A c c o r d i n g t o J E P 2 6 1 : M o d u l e S y s t e m , A m o d u l a r J A R f i l e i s l i k e a n o r d i n a r y J A R f i l e i n a l l p o s s i b l e w a y s , e x c e p t t h a t i t a l s o i n c l u d e s a m o d u l e i n f o . c l a s s f i l e i n i t s r o o t d i r e c t o r y . W i t h t h a t i n m i n d , l e t s b u i l d o n e : S h e l l j a r c r e a t e f i l e . / t a r g e t / h e l l o w o r l d w a r m u p . j a r C t a r g e t / c l a s s e s / . T h e j a r f i l e i s p l a c e d i n t h e t a r g e t f o l d e r . A l s o , u s i n g t h e v e r b o s e o p t i o n c a n g i v e u s m o r e d e t a i l s : S h e l l j a r v e r b o s e c r e a t e f i l e . / t a r g e t / h e l l o w o r l d w a r m u p . j a r C t a r g e t / c l a s s e s / . Y o u c a n v i e w t h e s t r u c t u r e o f t h e b u i l t j a r b y u s i n g t h e f o l l o w i n g c o m m a n d : S h e l l j a r t f . / t a r g e t / h e l l o w o r l d w a r m u p . j a r A n d g e t a m o d u l e d e s c r i p t i o n o f t h e m o d u l a r j a r : S h e l l j a r d e s c r i b e m o d u l e f i l e . / t a r g e t / h e l l o w o r l d w a r m u p . j a r A d d i t i o n a l l y , w e c a n l a u n c h t h e J a v a c l a s s d e p e n d e n c y a n a l y z e r , j d e p s , t o g a i n e v e n m o r e i n s i g h t : S h e l l j d e p s . / t a r g e t / h e l l o w o r l d w a r m u p . j a r A s u s u a l , t h e r e i s t h e v e r b o s e o p t i o n , t o o : S h e l l j d e p s v e r b o s e . / t a r g e t / h e l l o w o r l d w a r m u p . j a r W i t h t h a t , l e t s p r o c e e d t o r u n o u r m o d u l a r j a r : S h e l l j a v a m o d u l e p a t h t a r g e t / h e l l o w o r l d w a r m u p . j a r m o d u l e c o m . e x a m p l e . k a t a . o n e / c o m . e x a m p l e . k a t a . o n e . M a i n B u i l d i n g M o d u l a r J a r W i t h t h e M a i n C l a s s S h e l l j a r c r e a t e f i l e . / t a r g e t / h e l l o w o r l d w a r m u p . j a r m a i n c l a s s = c o m . e x a m p l e . k a t a . o n e . M a i n C t a r g e t / c l a s s e s / . H a v i n g s p e c i f i e d t h e m a i n c l a s s , w e c a n r u n o u r a p p b y o m i t t i n g t h e p a r t i n t h e m o d u l e o p t i o n : S h e l l j a v a m o d u l e p a t h t a r g e t / h e l l o w o r l d w a r m u p . j a r m o d u l e c o m . e x a m p l e . k a t a . o n e K a t a 2 : T h i r d P a r t y D e p e n d e n c y L e t s n a v i g a t e t o t h e / m o d u l e p a t h p a r t / k a t a t w o t h i r d p a r t y d e p e n d e n c y p r o j e c t a n d e x a m i n e i t s s t r u c t u r e . T h i s k a t a i s a l s o a H e l l o W o r l d ! a p p l i c a t i o n , b u t w i t h a t h i r d p a r t y d e p e n d e n c y , g u a v a 3 0 . 1 j r e . j a r , w h i c h h a s a n a u t o m a t i c m o d u l e n a m e , c o m . g o o g l e . c o m m o n . Y o u c a n c h e c k i t s n a m e b y u s i n g t h e d e s c r i b e m o d u l e o p t i o n : S h e l l j a r d e s c r i b e m o d u l e f i l e l i b / g u a v a 3 0 . 1 j r e . j a r C o m p i l a t i o n S h e l l j a v a c m o d u l e p a t h l i b d . / t a r g e t / c l a s s e s $ ( f i n d n a m e * . j a v a ) T h e m o d u l e p a t h o p t i o n p o i n t s t o t h e l i b f o l d e r t h a t c o n t a i n s o u r d e p e n d e n c y . E x e c u t i o n S h e l l j a v a m o d u l e p a t h t a r g e t / c l a s s e s : l i b m o d u l e c o m . e x a m p l e . k a t a . t w o / c o m . e x a m p l e . k a t a . t w o . M a i n B u i l d i n g M o d u l a r J a r S h e l l j a r c r e a t e f i l e . / t a r g e t / t h i r d p a r t y d e p e n d e n c y . j a r m a i n c l a s s = c o m . e x a m p l e . k a t a . t w o . M a i n C t a r g e t / c l a s s e s / . N o w , w e c a n r u n o u r a p p l i c a t i o n a s f o l l o w s : S h e l l j a v a m o d u l e p a t h l i b : t a r g e t / t h i r d p a r t y d e p e n d e n c y . j a r m o d u l e c o m . e x a m p l e . k a t a . t w o K a t a 3 : S p r i n g B o o t A p p l i c a t i o n C o n q u e s t I n t h e / m o d u l e p a t h p a r t / k a t a t h r e e s p r i n g b o o t a p p c o n q u e s t f o l d e r , y o u w i l l f i n d a M a v e n p r o j e c t f o r a p r i m i t i v e S p r i n g B o o t a p p l i c a t i o n . T o g e t s t a r t e d w i t h t h i s e x e r c i s e , w e n e e d t o e x e c u t e t h e s c r i p t b e l o w . S h e l l . / k a t a t h r e e s e t u p . s h T h e m a i n p u r p o s e o f t h i s s c r i p t i s t o d o w n l o a d a l l n e c e s s a r y d e p e n d e n c i e s i n t o t h e . / t a r g e t / l i b f o l d e r a n d r e m o v e a l l o t h e r f i l e s i n t h e . / t a r g e t d i r e c t o r y . A s s e e n i n t h e p i c t u r e a b o v e , t h e . / t a r g e t / l i b h a s t h r e e s u b d i r e c t o r i e s . T h e t e s t d i r e c t o r y c o n t a i n s a l l t e s t d e p e n d e n c i e s . T h e a u t o m a t i c m o d u l e s t o r e s d e p e n d e n c i e s u s e d b y t h e m o d u l e d e c l a r a t i o n . T h e r e m a i n i n g d e p e n d e n c i e s u s e d b y t h e a p p l i c a t i o n a r e p u t i n t o t h e u n n a m e d m o d u l e d i r e c t o r y . T h e i n t e n t i o n o f t h i s s e p a r a t i o n w i l l b e c o m e c l e a r e r a s w e p r o c e e d . C o m p i l a t i o n S h e l l j a v a c m o d u l e p a t h t a r g e t / l i b / a u t o m a t i c m o d u l e d . / t a r g e t / c l a s s e s / $ ( f i n d P . / s r c / m a i n / n a m e * . j a v a ) T a k e n o t i c e t h a t f o r c o m p l i c a t i o n s , w e o n l y n e e d t h e m o d u l e s s p e c i f i e d i n t h e m o d u l e i n f o . j a v a , w h i c h a r e s t o r e d i n t h e a u t o m a t i c m o d u l e d i r e c t o r y . E x e c u t i o n S h e l l j a v a m o d u l e p a t h t a r g e t / c l a s s e s : t a r g e t / l i b / a u t o m a t i c m o d u l e \ \ c l a s s p a t h t a r g e t / l i b / u n n a m e d m o d u l e / * \ \ a d d m o d u l e s j a v a . i n s t r u m e n t \ \ m o d u l e c o m . e x a m p l e . k a t a . t h r e e / c o m . e x a m p l e . k a t a . t h r e e . M a i n A s a r e s u l t , y o u s h o u l d s e e t h e a p p l i c a t i o n r u n n i n g . F o r a b e t t e r u n d e r s t a n d i n g o f h o w t h e c l a s s p a t h o p t i o n w o r k s h e r e t o g e t h e r w i t h t h e m o d u l e p a t h , I r e c o m m e n d r e a d i n g t h e 3 . 1 : T h e u n n a m e d m o d u l e p a r t o f T h e S t a t e o f t h e M o d u l e S y s t e m . B u i l d i n g M o d u l a r J a r L e t s p a c k a g e o u r c o m p i l e d c o d e a s a m o d u l a r j a r , w i t h t h e m a i n c l a s s s p e c i f i e d : S h e l l j a r c r e a t e f i l e . / t a r g e t / s p r i n g b o o t a p p c o n q u e s t . j a r m a i n c l a s s = c o m . e x a m p l e . k a t a . t h r e e . M a i n C t a r g e t / c l a s s e s / . N o w , w e c a n r u n i t : S h e l l j a v a m o d u l e p a t h t a r g e t / s p r i n g b o o t a p p c o n q u e s t . j a r : t a r g e t / l i b / a u t o m a t i c m o d u l e \ \ c l a s s p a t h t a r g e t / l i b / u n n a m e d m o d u l e / * \ \ a d d m o d u l e s j a v a . i n s t r u m e n t \ \ m o d u l e c o m . e x a m p l e . k a t a . t h r e e T e s t C o m p i l a t i o n F o r s i m p l i c i t y s s a k e , w e w i l l u s e t h e c l a s s p a t h a p p r o a c h t o r u n t e s t s h e r e . T h e r e s l i t t l e b e n e f i t i n s t r u g g l i n g w i t h t w e a k s t o t h e m o d u l e s y s t e m a n d a d d i n g a d d i t i o n a l o p t i o n s t o m a k e t h e t e s t s w o r k . W i t h t h a t , l e t s c o m p i l e o u r t e s t c o d e : S h e l l j a v a c c l a s s p a t h . / t a r g e t / c l a s s e s : . / t a r g e t / l i b / a u t o m a t i c m o d u l e / * : . / t a r g e t / l i b / t e s t / * d . / t a r g e t / t e s t c l a s s e s / $ ( f i n d P . / s r c / t e s t / n a m e * . j a v a ) T e s t E x e c u t i o n S h e l l j a v a c l a s s p a t h . / t a r g e t / c l a s s e s : . / t a r g e t / t e s t c l a s s e s : . / t a r g e t / l i b / a u t o m a t i c m o d u l e / * : . / t a r g e t / l i b / u n n a m e d m o d u l e / * : . / t a r g e t / l i b / t e s t / * \ \ o r g . j u n i t . p l a t f o r m . c o n s o l e . C o n s o l e L a u n c h e r e x e c u t e s c a n c l a s s p a t h d i s a b l e a n s i c o l o r s F o r m o r e d e t a i l s , y o u c a n h a v e a l o o k a t P a r t 1 o f t h i s s e r i e s ( l i n k e d i n t h e i n t r o d u c t i o n ) , w h i c h e l a b o r a t e s o n t h e t h e o r e t i c a l a s p e c t o f t h i s c o m m a n d . W r a p p i n g U p T h a t s i t . I h o p e y o u f o u n d t h i s u s e f u l , a n d t h a t t h e s e e x e r c i s e s h a v e p r o v i d e d y o u w i t h s o m e p r a c t i c a l e x p e r i e n c e r e g a r d i n g t h e n u a n c e s o f t h e J a v a P l a t f o r m M o d u l e S y s t e m . B y M a k s i m K r e n D a t a G o v e r n a n c e : D a t a I n t e g r a t i o n ( P a r t 4 ) W h a t I s D a t a G o v e r n a n c e ? D a t a g o v e r n a n c e i s a f r a m e w o r k t h a t i s d e v e l o p e d t h r o u g h t h e c o l l a b o r a t i o n o f i n d i v i d u a l s w i t h v a r i o u s r o l e s a n d r e s p o n s i b i l i t i e s . T h i s f r a m e w o r k a i m s t o e s t a b l i s h p r o c e s s e s , p o l i c i e s , p r o c e d u r e s , s t a n d a r d s , a n d m e t r i c s t h a t h e l p o r g a n i z a t i o n s a c h i e v e t h e i r g o a l s . T h e s e g o a l s i n c l u d e p r o v i d i n g r e l i a b l e d a t a f o r b u s i n e s s o p e r a t i o n s , s e t t i n g a c c o u n t a b i l i t y , a n d a u t h o r i t a t i v e n e s s , d e v e l o p i n g a c c u r a t e a n a l y t i c s t o a s s e s s p e r f o r m a n c e , c o m p l y i n g w i t h r e g u l a t o r y r e q u i r e m e n t s , s a f e g u a r d i n g d a t a , e n s u r i n g d a t a p r i v a c y , a n d s u p p o r t i n g t h e d a t a m a n a g e m e n t l i f e c y c l e . C r e a t i n g a D a t a G o v e r n a n c e B o a r d o r S t e e r i n g C o m m i t t e e i s a g o o d f i r s t s t e p w h e n i n t e g r a t i n g a D a t a G o v e r n a n c e p r o g r a m a n d f r a m e w o r k . A n o r g a n i z a t i o n ’ s g o v e r n a n c e f r a m e w o r k s h o u l d b e c i r c u l a t e d t o a l l s t a f f a n d m a n a g e m e n t , s o e v e r y o n e u n d e r s t a n d s t h e c h a n g e s t a k i n g p l a c e . T h e b a s i c c o n c e p t s n e e d e d t o s u c c e s s f u l l y g o v e r n d a t a a n d a n a l y t i c s a p p l i c a t i o n s . T h e y a r e : A f o c u s o n b u s i n e s s v a l u e s a n d t h e o r g a n i z a t i o n ’ s g o a l s A n a g r e e m e n t o n w h o i s r e s p o n s i b l e f o r d a t a a n d w h o m a k e s d e c i s i o n s A m o d e l e m p h a s i z i n g d a t a c u r a t i o n a n d d a t a l i n e a g e f o r D a t a G o v e r n a n c e D e c i s i o n m a k i n g t h a t i s t r a n s p a r e n t a n d i n c l u d e s e t h i c a l p r i n c i p l e s C o r e g o v e r n a n c e c o m p o n e n t s i n c l u d e d a t a s e c u r i t y a n d r i s k m a n a g e m e n t P r o v i d e o n g o i n g t r a i n i n g , w i t h m o n i t o r i n g a n d f e e d b a c k o n i t s e f f e c t i v e n e s s T r a n s f o r m i n g t h e w o r k p l a c e i n t o c o l l a b o r a t i v e c u l t u r e , u s i n g D a t a G o v e r n a n c e t o e n c o u r a g e b r o a d p a r t i c i p a t i o n W h a t I s D a t a I n t e g r a t i o n ? D a t a i n t e g r a t i o n i s t h e p r o c e s s o f c o m b i n i n g a n d h a r m o n i z i n g d a t a f r o m m u l t i p l e s o u r c e s i n t o a u n i f i e d , c o h e r e n t f o r m a t t h a t v a r i o u s u s e r s c a n c o n s u m e , f o r e x a m p l e : o p e r a t i o n a l , a n a l y t i c a l , a n d d e c i s i o n m a k i n g p u r p o s e s . T h e d a t a i n t e g r a t i o n p r o c e s s c o n s i s t s o f f o u r p r i m a r y c r i t i c a l c o m p o n e n t s : 1 . S o u r c e S y s t e m s S o u r c e s y s t e m s , s u c h a s d a t a b a s e s , f i l e s y s t e m s , I n t e r n e t o f T h i n g s ( I o T ) d e v i c e s , m e d i a c o n t i n e n t s , a n d c l o u d d a t a s t o r a g e , p r o v i d e t h e r a w i n f o r m a t i o n t h a t m u s t b e i n t e g r a t e d . T h e h e t e r o g e n e i t y o f t h e s e s o u r c e s y s t e m s r e s u l t s i n d a t a t h a t c a n b e s t r u c t u r e d , s e m i s t r u c t u r e d , o r u n s t r u c t u r e d . D a t a b a s e s : C e n t r a l i z e d o r d i s t r i b u t e d r e p o s i t o r i e s a r e d e s i g n e d t o s t o r e , o r g a n i z e , a n d m a n a g e s t r u c t u r e d d a t a . E x a m p l e s i n c l u d e r e l a t i o n a l d a t a b a s e m a n a g e m e n t s y s t e m s ( R D B M S ) l i k e M y S Q L , P o s t g r e S Q L , a n d O r a c l e . D a t a i s t y p i c a l l y s t o r e d i n t a b l e s w i t h p r e d e f i n e d s c h e m a s , e n s u r i n g c o n s i s t e n c y a n d e a s e o f q u e r y i n g . F i l e s y s t e m s : H i e r a r c h i c a l s t r u c t u r e s t h a t o r g a n i z e a n d s t o r e f i l e s a n d d i r e c t o r i e s o n d i s k d r i v e s o r o t h e r s t o r a g e m e d i a . C o m m o n f i l e s y s t e m s i n c l u d e N T F S ( W i n d o w s ) , A P F S ( m a c O S ) , a n d E X T 4 ( L i n u x ) . D a t a c a n b e o f a n y t y p e , i n c l u d i n g s t r u c t u r e d , s e m i s t r u c t u r e d , o r u n s t r u c t u r e d . I n t e r n e t o f T h i n g s ( I o T ) d e v i c e s : P h y s i c a l d e v i c e s ( s e n s o r s , a c t u a t o r s , e t c . ) t h a t a r e e m b e d d e d w i t h e l e c t r o n i c s , s o f t w a r e , a n d n e t w o r k c o n n e c t i v i t y . I o T d e v i c e s c o l l e c t , p r o c e s s , a n d t r a n s m i t d a t a , e n a b l i n g r e a l t i m e m o n i t o r i n g a n d c o n t r o l . D a t a g e n e r a t e d b y I o T d e v i c e s c a n b e s t r u c t u r e d ( e . g . , s e n s o r r e a d i n g s ) , s e m i s t r u c t u r e d ( e . g . , d e v i c e c o n f i g u r a t i o n ) , o r u n s t r u c t u r e d ( e . g . , v i d e o f o o t a g e ) . M e d i a r e p o s i t o r i e s : P l a t f o r m s o r s y s t e m s d e s i g n e d t o m a n a g e a n d s t o r e v a r i o u s t y p e s o f m e d i a f i l e s . E x a m p l e s i n c l u d e c o n t e n t m a n a g e m e n t s y s t e m s ( C M S ) a n d d i g i t a l a s s e t m a n a g e m e n t ( D A M ) s y s t e m s . D a t a i n m e d i a r e p o s i t o r i e s c a n i n c l u d e i m a g e s , v i d e o s , a u d i o f i l e s , a n d d o c u m e n t s . C l o u d d a t a s t o r a g e : S e r v i c e s t h a t p r o v i d e o n d e m a n d s t o r a g e a n d m a n a g e m e n t o f d a t a o n l i n e . P o p u l a r c l o u d d a t a s t o r a g e p l a t f o r m s i n c l u d e A m a z o n S 3 , M i c r o s o f t A z u r e B l o b S t o r a g e , a n d G o o g l e C l o u d S t o r a g e . D a t a i n c l o u d s t o r a g e c a n b e a c c e s s e d a n d p r o c e s s e d f r o m a n y w h e r e w i t h a n i n t e r n e t c o n n e c t i o n . 2 . D a t a A c q u i s i t i o n D a t a a c q u i s i t i o n i n v o l v e s e x t r a c t i n g a n d c o l l e c t i n g i n f o r m a t i o n f r o m s o u r c e s y s t e m s . D i f f e r e n t m e t h o d s c a n b e e m p l o y e d b a s e d o n t h e s o u r c e s y s t e m s n a t u r e a n d s p e c i f i c r e q u i r e m e n t s . T h e s e m e t h o d s i n c l u d e b a t c h p r o c e s s e s , s t r e a m i n g m e t h o d s u t i l i z i n g t e c h n o l o g i e s l i k e E T L ( E x t r a c t , T r a n s f o r m , L o a d ) , E L T ( E x t r a c t , L o a d , T r a n s f o r m ) , A P I ( A p p l i c a t i o n P r o g r a m m i n g I n t e r f a c e ) , s t r e a m i n g , v i r t u a l i z a t i o n , d a t a r e p l i c a t i o n , a n d d a t a s h a r i n g . B a t c h p r o c e s s e s : B a t c h p r o c e s s e s a r e c o m m o n l y u s e d f o r s t r u c t u r e d d a t a . I n t h i s m e t h o d , d a t a i s a c c u m u l a t e d o v e r a p e r i o d o f t i m e a n d p r o c e s s e d i n b u l k . T h i s a p p r o a c h i s a d v a n t a g e o u s f o r l a r g e d a t a s e t s a n d e n s u r e s d a t a c o n s i s t e n c y a n d i n t e g r i t y . A p p l i c a t i o n P r o g r a m m i n g I n t e r f a c e ( A P I ) : A P I s s e r v e a s a c o m m u n i c a t i o n c h a n n e l b e t w e e n a p p l i c a t i o n s a n d d a t a s o u r c e s . T h e y a l l o w f o r c o n t r o l l e d a n d s e c u r e a c c e s s t o d a t a . A P I s a r e c o m m o n l y u s e d t o i n t e g r a t e w i t h t h i r d p a r t y s y s t e m s a n d e n a b l e d a t a e x c h a n g e . S t r e a m i n g : S t r e a m i n g i n v o l v e s c o n t i n u o u s d a t a i n g e s t i o n a n d p r o c e s s i n g . I t i s c o m m o n l y u s e d f o r r e a l t i m e d a t a s o u r c e s s u c h a s s e n s o r n e t w o r k s , s o c i a l m e d i a f e e d s , a n d f i n a n c i a l m a r k e t s . S t r e a m i n g t e c h n o l o g i e s e n a b l e i m m e d i a t e a n a l y s i s a n d d e c i s i o n m a k i n g b a s e d o n t h e l a t e s t d a t a . V i r t u a l i z a t i o n : D a t a v i r t u a l i z a t i o n p r o v i d e s a l o g i c a l v i e w o f d a t a w i t h o u t p h y s i c a l l y m o v i n g o r c o p y i n g i t . I t e n a b l e s s e a m l e s s a c c e s s t o d a t a f r o m m u l t i p l e s o u r c e s , i r r e s p e c t i v e o f t h e i r l o c a t i o n o r f o r m a t . V i r t u a l i z a t i o n i s o f t e n u s e d f o r d a t a i n t e g r a t i o n a n d r e d u c i n g d a t a s i l o s . D a t a r e p l i c a t i o n : D a t a r e p l i c a t i o n i n v o l v e s c o p y i n g d a t a f r o m o n e s y s t e m t o a n o t h e r . I t e n h a n c e s d a t a a v a i l a b i l i t y a n d r e d u n d a n c y . R e p l i c a t i o n c a n b e s y n c h r o n o u s , w h e r e d a t a i s c o p i e d i n r e a l t i m e , o r a s y n c h r o n o u s , w h e r e d a t a i s c o p i e d a t r e g u l a r i n t e r v a l s . D a t a s h a r i n g : D a t a s h a r i n g i n v o l v e s g r a n t i n g a u t h o r i z e d u s e r s o r s y s t e m s a c c e s s t o d a t a . I t f a c i l i t a t e s c o l l a b o r a t i o n , e n a b l e s i n s i g h t s f r o m m u l t i p l e p e r s p e c t i v e s , a n d s u p p o r t s i n f o r m e d d e c i s i o n m a k i n g . D a t a s h a r i n g c a n b e i m p l e m e n t e d t h r o u g h v a r i o u s m e c h a n i s m s s u c h a s d a t a p o r t a l s , d a t a l a k e s , a n d f e d e r a t e d d a t a b a s e s . 3 . D a t a S t o r a g e U p o n d a t a a c q u i s i t i o n , s t o r i n g d a t a i n a r e p o s i t o r y i s c r u c i a l f o r e f f i c i e n t a c c e s s a n d m a n a g e m e n t . V a r i o u s d a t a s t o r a g e o p t i o n s a r e a v a i l a b l e , e a c h t a i l o r e d t o s p e c i f i c n e e d s . T h e s e o p t i o n s i n c l u d e : D a t a b a s e M a n a g e m e n t S y s t e m s ( D B M S ) : R e l a t i o n a l D a t a b a s e M a n a g e m e n t S y s t e m s ( R D B M S ) a r e s o f t w a r e s y s t e m s d e s i g n e d t o o r g a n i z e , s t o r e , a n d r e t r i e v e d a t a i n a s t r u c t u r e d f o r m a t . T h e s e s y s t e m s o f f e r a d v a n c e d f e a t u r e s s u c h a s d a t a s e c u r i t y , d a t a i n t e g r i t y , a n d t r a n s a c t i o n m a n a g e m e n t . E x a m p l e s o f p o p u l a r R D B M S i n c l u d e M y S Q L , O r a c l e , a n d P o s t g r e S Q L . N o S Q L d a t a b a s e s , s u c h a s M o n g o D B a n d C a s s a n d r a , a r e d e s i g n e d t o s t o r e a n d m a n a g e s e m i s t r u c t u r e d d a t a . T h e y o f f e r f l e x i b i l i t y a n d s c a l a b i l i t y , m a k i n g t h e m s u i t a b l e f o r h a n d l i n g l a r g e a m o u n t s o f d a t a t h a t m a y n e e d t o f i t b e t t e r i n t o a r e l a t i o n a l m o d e l . C l o u d s t o r a g e s e r v i c e s : C l o u d s t o r a g e s e r v i c e s o f f e r s c a l a b l e a n d c o s t e f f e c t i v e s t o r a g e s o l u t i o n s i n t h e c l o u d . T h e y p r o v i d e o n d e m a n d a c c e s s t o d a t a f r o m a n y w h e r e w i t h a n i n t e r n e t c o n n e c t i o n . P o p u l a r c l o u d s t o r a g e s e r v i c e s i n c l u d e A m a z o n S 3 , M i c r o s o f t A z u r e S t o r a g e , a n d G o o g l e C l o u d S t o r a g e . D a t a l a k e s : D a t a l a k e s a r e l a r g e r e p o s i t o r i e s o f r a w a n d u n s t r u c t u r e d d a t a i n t h e i r n a t i v e f o r m a t . T h e y a r e o f t e n u s e d f o r b i g d a t a a n a l y t i c s a n d m a c h i n e l e a r n i n g . D a t a l a k e s c a n b e i m p l e m e n t e d u s i n g H a d o o p D i s t r i b u t e d F i l e S y s t e m ( H D F S ) o r c l o u d b a s e d s t o r a g e s e r v i c e s . D e l t a l a k e s : D e l t a l a k e s a r e a t y p e o f d a t a l a k e t h a t s u p p o r t s A C I D t r a n s a c t i o n s a n d s c h e m a e v o l u t i o n . T h e y p r o v i d e a r e l i a b l e a n d s c a l a b l e d a t a s t o r a g e s o l u t i o n f o r d a t a e n g i n e e r i n g a n d a n a l y t i c s w o r k l o a d s . C l o u d d a t a w a r e h o u s e : C l o u d d a t a w a r e h o u s e s a r e c l o u d b a s e d d a t a s t o r a g e s o l u t i o n s d e s i g n e d f o r b u s i n e s s i n t e l l i g e n c e a n d a n a l y t i c s . T h e y p r o v i d e f a s t q u e r y p e r f o r m a n c e a n d s c a l a b i l i t y f o r l a r g e v o l u m e s o f s t r u c t u r e d d a t a . E x a m p l e s i n c l u d e A m a z o n R e d s h i f t , G o o g l e B i g Q u e r y , a n d S n o w f l a k e . B i g d a t a f i l e s : B i g d a t a f i l e s a r e l a r g e c o l l e c t i o n s o f d a t a s t o r e d i n a s i n g l e f i l e . T h e y a r e o f t e n u s e d f o r d a t a a n a l y s i s a n d p r o c e s s i n g t a s k s . C o m m o n b i g d a t a f i l e f o r m a t s i n c l u d e P a r q u e t , A p a c h e A v r o , a n d A p a c h e O R C . O n p r e m i s e s S t o r a g e A r e a N e t w o r k s ( S A N ) : S A N s a r e d e d i c a t e d h i g h s p e e d n e t w o r k s d e s i g n e d f o r d a t a s t o r a g e . T h e y o f f e r f a s t d a t a t r a n s f e r s p e e d s a n d p r o v i d e c e n t r a l i z e d s t o r a g e f o r m u l t i p l e s e r v e r s . S A N s a r e t y p i c a l l y u s e d i n e n t e r p r i s e e n v i r o n m e n t s w i t h l a r g e s t o r a g e r e q u i r e m e n t s . N e t w o r k A t t a c h e d S t o r a g e ( N A S ) : N A S d e v i c e s a r e f i l e l e v e l s t o r a g e s y s t e m s t h a t c o n n e c t t o a n e t w o r k a n d p r o v i d e s h a r e d s t o r a g e s p a c e f o r m u l t i p l e c l i e n t s . T h e y a r e o f t e n u s e d i n s m a l l a n d m e d i u m s i z e d b u s i n e s s e s a n d o f f e r e a s y a c c e s s t o d a t a f r o m v a r i o u s d e v i c e s . C h o o s i n g t h e r i g h t d a t a s t o r a g e o p t i o n d e p e n d s o n f a c t o r s s u c h a s d a t a s i z e , d a t a t y p e , p e r f o r m a n c e r e q u i r e m e n t s , s e c u r i t y n e e d s , a n d c o s t c o n s i d e r a t i o n s . O r g a n i z a t i o n s m a y u s e a c o m b i n a t i o n o f t h e s e s t o r a g e o p t i o n s t o m e e t t h e i r s p e c i f i c d a t a m a n a g e m e n t n e e d s . 4 . C o n s u m p t i o n T h i s i s t h e f i n a l s t a g e o f t h e d a t a i n t e g r a t i o n l i f e c y c l e , w h e r e t h e i n t e g r a t e d d a t a i s c o n s u m e d b y v a r i o u s a p p l i c a t i o n s , d a t a a n a l y s t s , b u s i n e s s a n a l y s t s , d a t a s c i e n t i s t s , A I / M L m o d e l s , a n d b u s i n e s s p r o c e s s e s . T h e d a t a c a n b e c o n s u m e d i n v a r i o u s f o r m s a n d t h r o u g h v a r i o u s c h a n n e l s , i n c l u d i n g : O p e r a t i o n a l s y s t e m s : T h e i n t e g r a t e d d a t a c a n b e c o n s u m e d b y o p e r a t i o n a l s y s t e m s u s i n g A P I s ( A p p l i c a t i o n P r o g r a m m i n g I n t e r f a c e s ) t o s u p p o r t d a y t o d a y o p e r a t i o n s a n d d e c i s i o n m a k i n g . F o r e x a m p l e , a c u s t o m e r r e l a t i o n s h i p m a n a g e m e n t ( C R M ) s y s t e m m a y c o n s u m e d a t a a b o u t c u s t o m e r i n t e r a c t i o n s , p u r c h a s e s , a n d p r e f e r e n c e s t o p r o v i d e p e r s o n a l i z e d e x p e r i e n c e s a n d t a r g e t e d m a r k e t i n g c a m p a i g n s . A n a l y t i c s : T h e i n t e g r a t e d d a t a c a n b e c o n s u m e d b y a n a l y t i c s a p p l i c a t i o n s a n d t o o l s f o r d a t a e x p l o r a t i o n , a n a l y s i s , a n d r e p o r t i n g . D a t a a n a l y s t s a n d b u s i n e s s a n a l y s t s u s e t h e s e t o o l s t o i d e n t i f y t r e n d s , p a t t e r n s , a n d i n s i g h t s f r o m t h e d a t a , w h i c h c a n h e l p i n f o r m b u s i n e s s d e c i s i o n s a n d s t r a t e g i e s . D a t a s h a r i n g : T h e i n t e g r a t e d d a t a c a n b e s h a r e d w i t h e x t e r n a l s t a k e h o l d e r s , s u c h a s p a r t n e r s , s u p p l i e r s , a n d r e g u l a t o r s , t h r o u g h d a t a s h a r i n g p l a t f o r m s a n d m e c h a n i s m s . D a t a s h a r i n g e n a b l e s o r g a n i z a t i o n s t o c o l l a b o r a t e a n d e x c h a n g e i n f o r m a t i o n , w h i c h c a n l e a d t o i m p r o v e d d e c i s i o n m a k i n g a n d i n n o v a t i o n . K a f k a : K a f k a i s a d i s t r i b u t e d s t r e a m i n g p l a t f o r m t h a t c a n b e u s e d t o c o n s u m e a n d p r o c e s s r e a l t i m e d a t a . I n t e g r a t e d d a t a c a n b e s t r e a m e d i n t o K a f k a , w h e r e i t c a n b e c o n s u m e d b y a p p l i c a t i o n s a n d s e r v i c e s t h a t r e q u i r e r e a l t i m e d a t a p r o c e s s i n g c a p a b i l i t i e s . A I / M L : T h e i n t e g r a t e d d a t a c a n b e c o n s u m e d b y A I ( A r t i f i c i a l I n t e l l i g e n c e ) a n d M L ( M a c h i n e L e a r n i n g ) m o d e l s f o r t r a i n i n g a n d i n f e r e n c e . A I / M L m o d e l s u s e t h e d a t a t o l e a r n p a t t e r n s a n d m a k e p r e d i c t i o n s , w h i c h c a n b e u s e d f o r t a s k s s u c h a s i m a g e r e c o g n i t i o n , n a t u r a l l a n g u a g e p r o c e s s i n g , a n d f r a u d d e t e c t i o n . T h e c o n s u m p t i o n o f i n t e g r a t e d d a t a e m p o w e r s b u s i n e s s e s t o m a k e i n f o r m e d d e c i s i o n s , o p t i m i z e o p e r a t i o n s , i m p r o v e c u s t o m e r e x p e r i e n c e s , a n d d r i v e i n n o v a t i o n . B y p r o v i d i n g a u n i f i e d a n d c o n s i s t e n t v i e w o f d a t a , o r g a n i z a t i o n s c a n u n l o c k t h e f u l l p o t e n t i a l o f t h e i r d a t a a s s e t s a n d g a i n a c o m p e t i t i v e a d v a n t a g e . W h a t A r e D a t a I n t e g r a t i o n A r c h i t e c t u r e P a t t e r n s ? I n t h i s s e c t i o n , w e w i l l d e l v e i n t o a n a r r a y o f i n t e g r a t i o n p a t t e r n s , e a c h t a i l o r e d t o p r o v i d e s e a m l e s s i n t e g r a t i o n s o l u t i o n s . T h e s e p a t t e r n s a c t a s s t r u c t u r e d f r a m e w o r k s , f a c i l i t a t i n g c o n n e c t i o n s a n d d a t a e x c h a n g e b e t w e e n d i v e r s e s y s t e m s . B r o a d l y , t h e y f a l l i n t o t h r e e c a t e g o r i e s : R e a l T i m e D a t a I n t e g r a t i o n N e a r R e a l T i m e D a t a I n t e g r a t i o n B a t c h D a t a I n t e g r a t i o n 1 . R e a l T i m e D a t a I n t e g r a t i o n I n v a r i o u s i n d u s t r i e s , r e a l t i m e d a t a i n g e s t i o n s e r v e s a s a p i v o t a l e l e m e n t . L e t s e x p l o r e s o m e p r a c t i c a l r e a l l i f e i l l u s t r a t i o n s o f i t s a p p l i c a t i o n s : S o c i a l m e d i a f e e d s d i s p l a y t h e l a t e s t p o s t s , t r e n d s , a n d a c t i v i t i e s . S m a r t h o m e s u s e r e a l t i m e d a t a t o a u t o m a t e t a s k s . B a n k s u s e r e a l t i m e d a t a t o m o n i t o r t r a n s a c t i o n s a n d i n v e s t m e n t s . T r a n s p o r t a t i o n c o m p a n i e s u s e r e a l t i m e d a t a t o o p t i m i z e d e l i v e r y r o u t e s . O n l i n e r e t a i l e r s u s e r e a l t i m e d a t a t o p e r s o n a l i z e s h o p p i n g e x p e r i e n c e s . U n d e r s t a n d i n g r e a l t i m e d a t a i n g e s t i o n m e c h a n i s m s a n d a r c h i t e c t u r e s i s v i t a l f o r c h o o s i n g t h e b e s t a p p r o a c h f o r y o u r o r g a n i z a t i o n . I n d e e d , t h e r e s a w i d e r a n g e o f R e a l T i m e D a t a I n t e g r a t i o n A r c h i t e c t u r e s t o c h o o s e f r o m . A m o n g t h e m m o s t c o m m o n l y u s e d a r c h i t e c t u r e s a r e : S t r e a m i n g B a s e d A r c h i t e c t u r e E v e n t D r i v e n I n t e g r a t i o n A r c h i t e c t u r e L a m b d a A r c h i t e c t u r e K a p p a A r c h i t e c t u r e E a c h o f t h e s e a r c h i t e c t u r e s o f f e r s i t s u n i q u e a d v a n t a g e s a n d u s e c a s e s , c a t e r i n g t o s p e c i f i c r e q u i r e m e n t s a n d o p e r a t i o n a l n e e d s . a . S t r e a m i n g B a s e d D a t a I n t e g r a t i o n A r c h i t e c t u r e I n a s t r e a m i n g b a s e d a r c h i t e c t u r e , d a t a s t r e a m s a r e c o n t i n u o u s l y i n g e s t e d a s t h e y a r r i v e . T o o l s l i k e A p a c h e K a f k a a r e e m p l o y e d f o r r e a l t i m e d a t a c o l l e c t i o n , p r o c e s s i n g , a n d d i s t r i b u t i o n . T h i s a r c h i t e c t u r e i s i d e a l f o r h a n d l i n g h i g h v e l o c i t y , h i g h v o l u m e d a t a w h i l e e n s u r i n g d a t a q u a l i t y a n d l o w l a t e n c y i n s i g h t s . S t r e a m i n g b a s e d a r c h i t e c t u r e , p o w e r e d b y A p a c h e K a f k a , r e v o l u t i o n i z e s d a t a p r o c e s s i n g . I t i n v o l v e s c o n t i n u o u s d a t a i n g e s t i o n , e n a b l i n g r e a l t i m e c o l l e c t i o n , p r o c e s s i n g , a n d d i s t r i b u t i o n . T h i s a p p r o a c h f a c i l i t a t e s r e a l t i m e d a t a p r o c e s s i n g , h a n d l e s l a r g e v o l u m e s o f d a t a , a n d p r i o r i t i z e s d a t a q u a l i t y a n d l o w l a t e n c y i n s i g h t s . T h e d i a g r a m b e l o w i l l u s t r a t e s t h e v a r i o u s c o m p o n e n t s i n v o l v e d i n a s t r e a m i n g d a t a i n t e g r a t i o n a r c h i t e c t u r e . b . E v e n t D r i v e n I n t e g r a t i o n A r c h i t e c t u r e A n e v e n t d r i v e n a r c h i t e c t u r e i s a h i g h l y s c a l a b l e a n d e f f i c i e n t a p p r o a c h f o r m o d e r n a p p l i c a t i o n s a n d m i c r o s e r v i c e s . T h i s a r c h i t e c t u r e r e s p o n d s t o s p e c i f i c e v e n t s o r t r i g g e r s w i t h i n a s y s t e m b y i n g e s t i n g d a t a a s t h e e v e n t s o c c u r , e n a b l i n g t h e s y s t e m t o r e a c t q u i c k l y t o c h a n g e s . T h i s a l l o w s f o r e f f i c i e n t h a n d l i n g o f l a r g e v o l u m e s o f d a t a f r o m v a r i o u s s o u r c e s . c . L a m b d a I n t e g r a t i o n A r c h i t e c t u r e T h e L a m b d a a r c h i t e c t u r e e m b r a c e s a h y b r i d a p p r o a c h , s k i l l f u l l y b l e n d i n g t h e s t r e n g t h s o f b a t c h a n d r e a l t i m e d a t a i n g e s t i o n . I t c o m p r i s e s t w o p a r a l l e l d a t a p i p e l i n e s , e a c h w i t h a d i s t i n c t p u r p o s e . T h e b a t c h l a y e r e x p e r t l y h a n d l e s t h e p r o c e s s i n g o f h i s t o r i c a l d a t a , w h i l e t h e s p e e d l a y e r s w i f t l y a d d r e s s e s r e a l t i m e d a t a . T h i s a r c h i t e c t u r a l d e s i g n e n s u r e s l o w l a t e n c y i n s i g h t s , u p h o l d i n g d a t a a c c u r a c y a n d c o n s i s t e n c y e v e n i n e x t e n s i v e d i s t r i b u t e d s y s t e m s . d . K a p p a D a t a I n t e g r a t i o n A r c h i t e c t u r e K a p p a a r c h i t e c t u r e i s a s i m p l i f i e d v a r i a t i o n o f L a m b d a a r c h i t e c t u r e s p e c i f i c a l l y d e s i g n e d f o r r e a l t i m e d a t a p r o c e s s i n g . I t e m p l o y s a s o l i t a r y s t r e a m p r o c e s s i n g e n g i n e , s u c h a s A p a c h e F l i n k o r A p a c h e K a f k a S t r e a m s , t o m a n a g e b o t h h i s t o r i c a l a n d r e a l t i m e d a t a , s t r e a m l i n i n g t h e d a t a i n g e s t i o n p i p e l i n e . T h i s a p p r o a c h m i n i m i z e s c o m p l e x i t y a n d m a i n t e n a n c e e x p e n s e s w h i l e s i m u l t a n e o u s l y d e l i v e r i n g r a p i d a n d p r e c i s e i n s i g h t s . 2 . N e a r R e a l T i m e D a t a I n t e g r a t i o n I n n e a r r e a l t i m e d a t a i n t e g r a t i o n , t h e d a t a i s p r o c e s s e d a n d m a d e a v a i l a b l e s h o r t l y a f t e r i t i s g e n e r a t e d , w h i c h i s c r i t i c a l f o r a p p l i c a t i o n s r e q u i r i n g t i m e l y d a t a u p d a t e s . S e v e r a l p a t t e r n s a r e u s e d f o r n e a r r e a l t i m e d a t a i n t e g r a t i o n , a f e w o f t h e m h a v e b e e n h i g h l i g h t e d b e l o w : a . C h a n g e D a t a C a p t u r e — D a t a I n t e g r a t i o n C h a n g e D a t a C a p t u r e ( C D C ) i s a m e t h o d o f c a p t u r i n g c h a n g e s t h a t o c c u r i n a s o u r c e s y s t e m s d a t a a n d p r o p a g a t i n g t h o s e c h a n g e s t o a t a r g e t s y s t e m . b . D a t a R e p l i c a t i o n — D a t a I n t e g r a t i o n A r c h i t e c t u r e W i t h t h e D a t a R e p l i c a t i o n I n t e g r a t i o n A r c h i t e c t u r e , t w o d a t a b a s e s c a n s e a m l e s s l y a n d e f f i c i e n t l y r e p l i c a t e d a t a b a s e d o n s p e c i f i c r e q u i r e m e n t s . T h i s a r c h i t e c t u r e e n s u r e s t h a t t h e t a r g e t d a t a b a s e s t a y s i n s y n c w i t h t h e s o u r c e d a t a b a s e , p r o v i d i n g b o t h s y s t e m s w i t h u p t o d a t e a n d c o n s i s t e n t d a t a . A s a r e s u l t , t h e r e p l i c a t i o n p r o c e s s i s s m o o t h , a l l o w i n g f o r e f f e c t i v e d a t a t r a n s f e r a n d s y n c h r o n i z a t i o n b e t w e e n t h e t w o d a t a b a s e s . c . D a t a V i r t u a l i z a t i o n — D a t a I n t e g r a t i o n A r c h i t e c t u r e I n D a t a V i r t u a l i z a t i o n , a v i r t u a l l a y e r i n t e g r a t e s d i s p a r a t e d a t a s o u r c e s i n t o a u n i f i e d v i e w . I t e l i m i n a t e s d a t a r e p l i c a t i o n , d y n a m i c a l l y r o u t e s q u e r i e s t o s o u r c e s y s t e m s b a s e d o n f a c t o r s l i k e d a t a l o c a l i t y a n d p e r f o r m a n c e , a n d p r o v i d e s a u n i f i e d m e t a d a t a l a y e r . T h e v i r t u a l l a y e r s i m p l i f i e s d a t a m a n a g e m e n t , i m p r o v e s q u e r y p e r f o r m a n c e , a n d f a c i l i t a t e s d a t a g o v e r n a n c e a n d a d v a n c e d i n t e g r a t i o n s c e n a r i o s . I t e m p o w e r s o r g a n i z a t i o n s t o l e v e r a g e t h e i r d a t a a s s e t s e f f e c t i v e l y a n d u n l o c k t h e i r f u l l p o t e n t i a l . 3 . B a t c h P r o c e s s : D a t a I n t e g r a t i o n B a t c h D a t a I n t e g r a t i o n i n v o l v e s c o n s o l i d a t i n g a n d c o n v e y i n g a c o l l e c t i o n o f m e s s a g e s o r r e c o r d s i n a b a t c h t o m i n i m i z e n e t w o r k t r a f f i c a n d o v e r h e a d . B a t c h p r o c e s s i n g g a t h e r s d a t a o v e r a p e r i o d o f t i m e a n d t h e n p r o c e s s e s i t i n b a t c h e s . T h i s a p p r o a c h i s p a r t i c u l a r l y b e n e f i c i a l w h e n h a n d l i n g l a r g e d a t a v o l u m e s o r w h e n t h e p r o c e s s i n g d e m a n d s s u b s t a n t i a l r e s o u r c e s . A d d i t i o n a l l y , t h i s p a t t e r n e n a b l e s t h e r e p l i c a t i o n o f m a s t e r d a t a t o r e p l i c a s t o r a g e f o r a n a l y t i c a l p u r p o s e s . T h e a d v a n t a g e o f t h i s p r o c e s s i s t h e t r a n s m i s s i o n o f r e f i n e d r e s u l t s . T h e t r a d i t i o n a l b a t c h p r o c e s s d a t a i n t e g r a t i o n p a t t e r n s a r e : T r a d i t i o n a l E T L A r c h i t e c t u r e — D a t a I n t e g r a t i o n A r c h i t e c t u r e T h i s a r c h i t e c t u r a l d e s i g n a d h e r e s t o t h e c o n v e n t i o n a l E x t r a c t , T r a n s f o r m , a n d L o a d ( E T L ) p r o c e s s . W i t h i n t h i s a r c h i t e c t u r e , t h e r e a r e s e v e r a l c o m p o n e n t s : E x t r a c t : D a t a i s o b t a i n e d f r o m a v a r i e t y o f s o u r c e s y s t e m s . T r a n s f o r m : D a t a u n d e r g o e s a t r a n s f o r m a t i o n p r o c e s s t o c o n v e r t i t i n t o t h e d e s i r e d f o r m a t . L o a d : T r a n s f o r m e d d a t a i s t h e n l o a d e d i n t o t h e d e s i g n a t e d t a r g e t s y s t e m , s u c h a s a d a t a w a r e h o u s e . I n c r e m e n t a l B a t c h P r o c e s s i n g — D a t a I n t e g r a t i o n A r c h i t e c t u r e T h i s a r c h i t e c t u r e o p t i m i z e s p r o c e s s i n g b y f o c u s i n g o n l y o n n e w o r m o d i f i e d d a t a f r o m t h e p r e v i o u s b a t c h c y c l e . T h i s a p p r o a c h e n h a n c e s e f f i c i e n c y c o m p a r e d t o f u l l b a t c h p r o c e s s i n g a n d a l l e v i a t e s t h e b u r d e n o n t h e s y s t e m s r e s o u r c e s . M i c r o B a t c h P r o c e s s i n g — D a t a I n t e g r a t i o n A r c h i t e c t u r e I n M i c r o B a t c h P r o c e s s i n g , s m a l l b a t c h e s o f d a t a a r e p r o c e s s e d a t r e g u l a r , f r e q u e n t i n t e r v a l s . I t s t r i k e s a b a l a n c e b e t w e e n t r a d i t i o n a l b a t c h p r o c e s s i n g a n d r e a l t i m e p r o c e s s i n g . T h i s a p p r o a c h s i g n i f i c a n t l y r e d u c e s l a t e n c y c o m p a r e d t o c o n v e n t i o n a l b a t c h p r o c e s s i n g t e c h n i q u e s , p r o v i d i n g a n o t a b l e a d v a n t a g e . P a t i o n e d B a t c h P r o c e s s i n g — D a t a I n t e g r a t i o n A r c h i t e c t u r e I n t h i s p a r t i t i o n e d b a t c h p r o c e s s i n g a p p r o a c h , v o l u m i n o u s d a t a s e t s a r e s t r a t e g i c a l l y d i v i d e d i n t o s m a l l e r , m a n a g e a b l e p a r t i t i o n s . T h e s e p a r t i t i o n s c a n t h e n b e e f f i c i e n t l y p r o c e s s e d i n d e p e n d e n t l y , f r e q u e n t l y l e v e r a g i n g t h e p o w e r o f p a r a l l e l i s m . T h i s m e t h o d o l o g y o f f e r s a c o m p e l l i n g a d v a n t a g e b y r e d u c i n g p r o c e s s i n g t i m e s i g n i f i c a n t l y , m a k i n g i t a n a t t r a c t i v e c h o i c e f o r h a n d l i n g l a r g e s c a l e d a t a . C o n c l u s i o n H e r e a r e t h e m a i n p o i n t s t o t a k e a w a y f r o m t h i s a r t i c l e : I t s i m p o r t a n t t o h a v e a s t r o n g d a t a g o v e r n a n c e f r a m e w o r k i n p l a c e w h e n i n t e g r a t i n g d a t a f r o m d i f f e r e n t s o u r c e s y s t e m s . T h e d a t a i n t e g r a t i o n p a t t e r n s s h o u l d b e s e l e c t e d b a s e d o n t h e u s e c a s e s , s u c h a s v o l u m e , v e l o c i t y , a n d v e r a c i t y . T h e r e a r e 3 t y p e s o f D a t a i n t e g r a t i o n s t y l e s , a n d w e s h o u l d c h o o s e t h e a p p r o p r i a t e m o d e l b a s e d o n d i f f e r e n t p a r a m e t e r s . B y S u k a n y a K o n a t a m A L o o k I n t o N e t f l i x S y s t e m A r c h i t e c t u r e E v e r w o n d e r e d h o w N e t f l i x k e e p s y o u g l u e d t o y o u r s c r e e n w i t h u n i n t e r r u p t e d s t r e a m i n g b l i s s ? N e t f l i x A r c h i t e c t u r e i s r e s p o n s i b l e f o r t h e s m o o t h s t r e a m i n g e x p e r i e n c e t h a t a t t r a c t s v i e w e r s w o r l d w i d e b e h i n d t h e s c e n e s . N e t f l i x s s y s t e m a r c h i t e c t u r e e m p h a s i z e s h o w i m p o r t a n t i t i s t o d e t e r m i n e h o w c o n t e n t i s s h a p e d i n t h e f u t u r e . J o i n u s o n a j o u r n e y b e h i n d t h e s c e n e s o f N e t f l i x ’ s s t r e a m i n g u n i v e r s e ! N e t f l i x i s a t e r m t h a t m e a n s e n t e r t a i n m e n t , b i n g e w a t c h i n g , a n d c u t t i n g e d g e s t r e a m i n g s e r v i c e s . N e t f l i x ’ s r a p i d a s c e n t t o p o p u l a r i t y m a y b e a t t r i b u t e d t o i t s v a s t c o n t e n t c o l l e c t i o n , w o r l d w i d e p r e s e n c e , a n d r e s i l i e n t a n d i n v e n t i v e a r c h i t e c t u r e . F r o m i t s s t a r t a s a D V D r e n t a l s e r v i c e i n 1 9 9 7 t o i t s d e v e l o p m e n t i n t o a m a j o r w o r l d w i d e s t r e a m i n g c o m p a n y , N e t f l i x h a s c o n s i s t e n t l y u s e d c u t t i n g e d g e t e c h n o l o g y t o r e v o l u t i o n i z e m e d i a c o n s u m p t i o n . N e t f l i x A r c h i t e c t u r e i s d e s i g n e d t o e f f i c i e n t l y a n d r e l i a b l y p r o v i d e c o n t e n t t o m i l l i o n s o f c o n s u m e r s a t o n c e . T h e s c a l a b i l i t y o f N e t f l i x ’ s i n f r a s t r u c t u r e i s c r i t i c a l , g i v e n i t s 2 0 0 m i l l i o n + m e m b e r s a c r o s s m o r e t h a n 1 9 0 c o u n t r i e s . S o , l e t ’ s d e l v e i n t o t h e i n t r i c a c i e s o f N e t f l i x A r c h i t e c t u r e a n d u n c o v e r h o w i t c o n t i n u e s s h a p i n g h o w w e e n j o y o u r f a v o r i t e s h o w s a n d m o v i e s . W h y U n d e r s t a n d N e t f l i x S y s t e m A r c h i t e c t u r e ? I t ’ s i m p o r t a n t t o u n d e r s t a n d N e t f l i x S y s t e m A r c h i t e c t u r e f o r s e v e r a l r e a s o n s . A b o v e a l l , i t s h e d s l i g h t o n h o w N e t f l i x a c c o m m o d a t e s m i l l i o n s o f c u s t o m e r s t h r o u g h o u t t h e g l o b e w i t h a f l a w l e s s s t r e a m i n g e x p e r i e n c e . W e c a n l e a r n a b o u t t h e t e c h n o l o g y a n d t a c t i c s t h a t u n d e r l i e i t s s u c c e s s b e t t e r b y e x p l o r i n g t h e n u a n c e s o f t h i s a r c h i t e c t u r e . F u r t h e r m o r e , o t h e r i n d u s t r i e s c a n b e n e f i t f r o m u s i n g N e t f l i x ’ s d e s i g n a s a b l u e p r i n t f o r d e v e l o p i n g s c a l a b l e , r e l i a b l e , a n d e f f i c i e n t s y s t e m s . I t s d e s i g n p r i n c i p l e s a n d b e s t p r a c t i c e s c a n t e a c h u s i m p o r t a n t l e s s o n s a b o u t b u i l d i n g a n d o p t i m i z i n g c o m p l i c a t e d d i s t r i b u t e d s y s t e m s . W e m a y a l s o r e c o g n i z e t h e c o n t i n u a l i n n o v a t i o n d r i v i n g t h e d e v e l o p m e n t o f d i g i t a l m e d i a c o n s u m p t i o n b y u n d e r s t a n d i n g N e t f l i x ’ s A r c h i t e c t u r e . U n d e r s t a n d i n g t h e R e q u i r e m e n t s f o r S y s t e m D e s i g n S y s t e m d e s i g n i s c r u c i a l i n d e v e l o p i n g c o m p l e x s o f t w a r e o r t e c h n o l o g i c a l i n f r a s t r u c t u r e . T h e s e s p e c i f i c a t i o n s a c t a s t h e b a s i s a r o u n d w h i c h t h e e n t i r e s y s t e m i s c o n s t r u c t e d , d r i v i n g c h o i c e s a n d f o r m i n g t h e e n d p r o d u c t . H o w e v e r , w h a t a r e t h e p r e r e q u i s i t e s f o r s y s t e m d e s i g n , a n d w h a t m a k e s t h e m c r u c i a l ? L e t ’ s e x p l o r e . F u n c t i o n a l R e q u i r e m e n t s T h e s y s t e m ’ s f u n c t i o n a l r e q u i r e m e n t s s p e c i f y t h e f e a t u r e s , f u n c t i o n s , a n d c a p a b i l i t i e s t h a t i t m u s t i n c l u d e . T h e s e s p e c i f i c a t i o n s o u t l i n e t h e s y s t e m ’ s m a i n o b j e c t i v e a n d d e t a i l h o w v a r i o u s p a r t s o r m o d u l e s i n t e r a c t . F u n c t i o n a l r e q u i r e m e n t s f o r a s t r e a m i n g p l a t f o r m l i k e N e t f l i x , f o r i n s t a n c e , c o u l d e n c o m p a s s t h e f o l l o w i n g , i n c l u d i n g b u t n o t l i m i t e d t o : A c c o u n t c r e a t i o n : U s e r s s h o u l d b e a b l e t o c r e a t e a c c o u n t s e a s i l y , p r o v i d i n g n e c e s s a r y i n f o r m a t i o n f o r r e g i s t r a t i o n . U s e r l o g i n : R e g i s t e r e d u s e r s s h o u l d h a v e t h e a b i l i t y t o s e c u r e l y l o g i n t o t h e i r a c c o u n t s u s i n g a u t h e n t i c a t i o n c r e d e n t i a l s . C o n t e n t s u g g e s t i o n : T h e p l a t f o r m s h o u l d o f f e r p e r s o n a l i z e d c o n t e n t s u g g e s t i o n s b a s e d o n u s e r p r e f e r e n c e s , v i e w i n g h i s t o r y , a n d o t h e r r e l e v a n t d a t a . V i d e o p l a y b a c k c a p a b i l i t i e s : U s e r s s h o u l d b e a b l e t o s t r e a m v i d e o s s e a m l e s s l y , w i t h o p t i o n s f o r p l a y b a c k c o n t r o l s s u c h a s p l a y , p a u s e , r e w i n d , a n d f a s t f o r w a r d . N o n F u n c t i o n a l R e q u i r e m e n t s N o n f u n c t i o n a l r e q u i r e m e n t s d e f i n e t h e s y s t e m ’ s b e h a v i o r u n d e r d i f f e r e n t s c e n a r i o s a n d e n s u r e t h a t i t s a t i s f i e s c e r t a i n q u a l i t y r e q u i r e m e n t s . T h e y c o v e r p e r f o r m a n c e , s c a l a b i l i t y , d e p e n d a b i l i t y , s e c u r i t y , a n d c o m p l i a n c e a s p e c t s o f t h e s y s t e m . N o n f u n c t i o n a l r e q u i r e m e n t s f o r a s t r e a m i n g p l a t f o r m l i k e N e t f l i x , f o r i n s t a n c e , c o u l d i n c l u d e b u t a r e n o t l i m i t e d t o : P e r f o r m a n c e r e q u i r e m e n t s : D u r i n g p e r i o d s o f h i g h u t i l i z a t i o n , t h e s y s t e m m u s t m a i n t a i n l o w l a t e n c y a n d h i g h t h r o u g h p u t . C o m p l i a n c e r e q u i r e m e n t s : R e g a r d i n g u s e r d a t a p r o t e c t i o n , t h e p l a t f o r m m u s t a b i d e b y D a t a P r o t e c t i o n R e g u l a t i o n s s t a n d a r d s . S c a l a b i l i t y r e q u i r e m e n t s : T h e i n f r a s t r u c t u r e m u s t b e s c a l a b l e t o h a n d l e g r o w i n g u s e r t r a f f i c w i t h o u t s a c r i f i c i n g p e r f o r m a n c e . S e c u r i t y r e q u i r e m e n t s : T o p r e v e n t u n w a n t e d a c c e s s t o u s e r i n f o r m a t i o n , s t r o n g a u t h e n t i c a t i o n a n d e n c r y p t i o n p r o c e d u r e s m u s t b e p u t i n p l a c e . R e l i a b i l i t y a n d a v a i l a b i l i t y r e q u i r e m e n t s : F o r u n i n t e r r u p t e d s e r v i c e d e l i v e r y , t h e s y s t e m n e e d s t o i n c l u d e f a i l o v e r m e t h o d s a n d g u a r a n t e e h i g h u p t i m e . N e t f l i x A r c h i t e c t u r e : E m b r a c i n g C l o u d N a t i v e A f t e r a s i g n i f i c a n t s e t b a c k d u e t o d a t a b a s e c o r r u p t i o n i n A u g u s t 2 0 0 8 , N e t f l i x c a m e t o t h e c r u c i a l c o n c l u s i o n t h a t i t w a s n e c e s s a r y t o m o v e a w a y f r o m s i n g l e p o i n t s o f f a i l u r e a n d t o w a r d s h i g h l y d e p e n d a b l e , h o r i z o n t a l l y s c a l a b l e , c l o u d b a s e d s o l u t i o n s . N e t f l i x s t a r t e d a r e v o l u t i o n a r y j o u r n e y b y s e l e c t i n g A m a z o n W e b S e r v i c e s ( A W S ) a s i t s c l o u d p r o v i d e r a n d m o v i n g m o s t o f i t s s e r v i c e s t o t h e c l o u d b y 2 0 1 5 . F o l l o w i n g s e v e n y e a r s o f i n t e n s i v e w o r k , t h e c l o u d m i g r a t i o n w a s f i n i s h e d i n e a r l y J a n u a r y 2 0 1 6 , w h i c h m e a n t t h a t t h e s t r e a m i n g s e r v i c e ’ s l a s t r e m a i n i n g d a t a c e n t e r c o m p o n e n t s w e r e s h u t d o w n . B u t g e t t i n g t o t h e c l o u d w a s n ’ t a s i m p l e t a s k . N e t f l i x a d o p t e d a c l o u d n a t i v e s t r a t e g y , c o m p l e t e l y o v e r h a u l i n g i t s o p e r a t i o n a l m o d e l a n d t e c h n o l o g i c a l s t a c k . T h i s r e q u i r e d e m b r a c i n g N o S Q L d a t a b a s e s , d e n o r m a l i z i n g t h e i r d a t a m o d e l , a n d m o v i n g f r o m a m o n o l i t h i c a p p l i c a t i o n t o h u n d r e d s o f m i c r o s e r v i c e s . C h a n g e s i n c u l t u r e w e r e a l s o n e c e s s a r y , s u c h a s a d o p t i n g D e v O p s p r o c e d u r e s , c o n t i n u o u s d e l i v e r y , a n d a s e l f s e r v i c e e n g i n e e r i n g e n v i r o n m e n t . D e s p i t e t h e d i f f i c u l t i e s , t h i s s h i f t h a s m a d e N e t f l i x a c l o u d n a t i v e b u s i n e s s t h a t i s w e l l p o s i t i o n e d f o r f u t u r e e x p a n s i o n a n d i n n o v a t i o n i n t h e r a p i d l y c h a n g i n g f i e l d o f o n l i n e e n t e r t a i n m e n t . N e t f l i x A r c h i t e c t u r a l T r i a d A s t r o n g a r c h i t e c t u r a l t r i a d — t h e C l i e n t , B a c k e n d , a n d C o n t e n t D e l i v e r y N e t w o r k ( C D N ) — i s r e s p o n s i b l e f o r N e t f l i x ’ s f l a w l e s s u s e r e x p e r i e n c e . W i t h m i l l i o n s o f v i e w e r s g l o b a l l y , e a c h c o m p o n e n t i s e s s e n t i a l t o d e l i v e r i n g c o n t e n t . C l i e n t T h e c l i e n t s i d e a r c h i t e c t u r e l i e s a t t h e h e a r t o f t h e N e t f l i x e x p e r i e n c e . T h i s i n c l u d e s t h e w i d e r a n g e o f d e v i c e s u s e r s u s e t o a c c e s s N e t f l i x , s u c h a s c o m p u t e r s , s m a r t T V s , a n d s m a r t p h o n e s . N e t f l i x u s e s a m i x o f w e b i n t e r f a c e s a n d n a t i v e a p p l i c a t i o n s t o e n s u r e a c o n s i s t e n t u s e r e x p e r i e n c e a c r o s s d i f f e r e n t p l a t f o r m s . R e g a r d l e s s o f t h e d e v i c e , t h e s e c l i e n t s m a n a g e p l a y b a c k c o n t r o l s , u s e r i n t e r a c t i o n s , a n d i n t e r f a c e r e n d e r i n g t o d e l i v e r a u n i f i e d e x p e r i e n c e . U s e r s m a y e a s i l y b r o w s e t h e e x t e n s i v e c o n t e n t l i b r a r y a n d e n j o y c o n t i n u o u s s t r e a m i n g t h a n k s t o t h e c l i e n t s i d e a r c h i t e c t u r e ’ s r e s p o n s i v e o p t i m i z a t i o n . N e t f l i x A r c h i t e c t u r e : B a c k e n d B a c k e n d a r c h i t e c t u r e i s t h e b a c k b o n e o f N e t f l i x ’ s b e h i n d t h e s c e n e s o p e r a t i o n s . T h e m a n a g e m e n t o f u s e r a c c o u n t s , c o n t e n t c a t a l o g s , r e c o m m e n d a t i o n a l g o r i t h m s , b i l l i n g s y s t e m s , a n d o t h e r s y s t e m s i s d o n e b y a c o m p l e x n e t w o r k o f s e r v e r s , d a t a b a s e s , a n d m i c r o s e r v i c e s . I n a d d i t i o n t o h a n d l i n g u s e r d a t a a n d c o o r d i n a t i n g c o n t e n t d e l i v e r y , t h e b a c k e n d p r o c e s s e s u s e r r e q u e s t s . F u r t h e r m o r e , t h e b a c k e n d o p t i m i z e s c o n t e n t d e l i v e r y a n d p e r s o n a l i z e s r e c o m m e n d a t i o n s u s i n g s t a t e o f t h e a r t t e c h n o l o g i e s l i k e b i g d a t a a n a l y t i c s a n d m a c h i n e l e a r n i n g , w h i c h r a i s e s u s e r s a t i s f a c t i o n a n d e n g a g e m e n t . T h e b a c k e n d a r c h i t e c t u r e o f N e t f l i x h a s c h a n g e d s i g n i f i c a n t l y o v e r t i m e . I t m o v e d t o c l o u d i n f r a s t r u c t u r e i n 2 0 0 7 a n d a d o p t e d S p r i n g B o o t a s i t s p r i m a r y J a v a f r a m e w o r k i n 2 0 1 8 . W h e n c o m b i n e d w i t h t h e s c a l a b i l i t y a n d d e p e n d a b i l i t y p r o v i d e d b y A W S ( A m a z o n W e b S e r v i c e s ) , p r o p r i e t a r y t e c h n o l o g i e s l i k e R i b b o n , E u r e k a , a n d H y s t r i x h a v e b e e n c r u c i a l i n e f f e c t i v e l y c o o r d i n a t i n g b a c k e n d o p e r a t i o n s . N e t f l i x A r c h i t e c t u r e : C o n t e n t D e l i v e r y N e t w o r k T h e C o n t e n t D e l i v e r y N e t w o r k c o m p l e t e s N e t f l i x A r c h i t e c t u r a l T r i a n g l e . A C o n t e n t D e l i v e r y N e t w o r k ( C D N ) i s a s t r a t e g i c a l l y p o s i t i o n e d g l o b a l n e t w o r k o f s e r v e r s t h a t a i m s t o d e l i v e r c o n t e n t t o u s e r s w i t h o p t i m a l r e l i a b i l i t y a n d m i n i m u m d e l a y . N e t f l i x r u n s a C o n t e n t D e l i v e r y N e t w o r k ( C D N ) c a l l e d O p e n C o n n e c t . I t r e d u c e s b u f f e r i n g a n d e n s u r e s s m o o t h p l a y b a c k b y c a c h i n g a n d s e r v i n g m a t e r i a l f r o m s i t e s c l o s e r t o u s e r s . E v e n d u r i n g t i m e s o f h i g h d e m a n d , N e t f l i x r e d u c e s c o n g e s t i o n a n d m a x i m i z e s b a n d w i d t h u t i l i z a t i o n b y s p r e a d i n g c o n t e n t o v e r n u m e r o u s s e r v e r s a c r o s s t h e g l o b e . T h i s d e c e n t r a l i z e d m e t h o d o f c o n t e n t d e l i v e r y i m p r o v e s g l o b a l v i e w e r s ’ w a t c h i n g e x p e r i e n c e s , a l s o l o w e r i n g b u f f e r i n g t i m e s a n d i n c r e a s i n g s t r e a m i n g q u a l i t y . C l i e n t S i d e C o m p o n e n t s W e b I n t e r f a c e O v e r t h e p a s t f e w y e a r s , N e t f l i x ’ s W e b I n t e r f a c e h a s s e e n a c o n s i d e r a b l e t r a n s f o r m a t i o n , s w i t c h i n g f r o m S i l v e r l i g h t t o H T M L 5 t o s t r e a m p r e m i u m v i d e o c o n t e n t . W i t h t h i s c h a n g e , t h e r e w o u l d b e n o n e e d t o i n s t a l l a n d m a i n t a i n b r o w s e r p l u g i n s , w h i c h s h o u l d s i m p l i f y t h e u s e r e x p e r i e n c e . N e t f l i x h a s i n c r e a s e d i t s c o m p a t i b i l i t y w i t h a w i d e r a n g e o f o n l i n e b r o w s e r s a n d o p e r a t i n g s y s t e m s , i n c l u d i n g C h r o m e O S , C h r o m e , I n t e r n e t E x p l o r e r , S a f a r i , O p e r a , F i r e f o x , a n d E d g e , s i n c e t h e i n t r o d u c t i o n o f H T M L 5 v i d e o . N e t f l i x ’ s u s e o f H T M L 5 e x t e n d s b e y o n d s i m p l e p l a y b a c k . T h e p l a t f o r m h a s w e l c o m e d H T M L 5 a d o p t i o n a s a n o p p o r t u n i t y t o s u p p o r t n u m e r o u s i n d u s t r y s t a n d a r d s a n d t e c h n o l o g i c a l a d v a n c e m e n t s . M o b i l e A p p l i c a t i o n s T h e e x t e n s i o n o f N e t f l i x ’ s s t r e a m i n g e x p e r i e n c e t o u s e r s o f s m a r t p h o n e s a n d t a b l e t s i s m a d e p o s s i b l e v i a i t s m o b i l e a p p l i c a t i o n s . T h e s e a p p l i c a t i o n s g u a r a n t e e t h a t u s e r s m a y a c c e s s t h e i r f a v o r i t e m a t e r i a l w h i l e o n t h e r o a d . T h e y a r e a v a i l a b l e o n m u l t i p l e p l a t f o r m s , i n c l u d i n g i O S a n d A n d r o i d . B y u t i l i z i n g a c o m b i n a t i o n o f n a t i v e d e v e l o p m e n t a n d p l a t f o r m s p e c i f i c o p t i m i z a t i o n s , N e t f l i x p r o v i d e s a s m o o t h a n d u s e r f r i e n d l y i n t e r f a c e f o r a w i d e r a n g e o f m o b i l e d e v i c e s . W i t h f e a t u r e s l i k e p e r s o n a l i z e d r e c o m m e n d a t i o n s , s e a m l e s s p l a y b a c k , a n d o f f l i n e d o w n l o a d i n g , N e t f l i x ’ s m o b i l e a p p l i c a t i o n s m e e t t h e c h a n g i n g n e e d s o f v i e w e r s o n t h e g o . U s e r s o f t h e N e t f l i x m o b i l e a p p m a y e n j o y c o n t i n u o u s v i e w i n g o f t h e i r f a v o r i t e s e r i e s a n d f i l m s w h i l e d r i v i n g , t r a v e l i n g , o r j u s t l o u n g i n g a r o u n d t h e h o u s e . N e t f l i x i s c o m m i t t e d t o p r o v i d i n g a c a p t i v a t i n g a n d d e l i g h t f u l m o b i l e v i e w i n g e x p e r i e n c e w i t h f r e q u e n t u p g r a d e s a n d i m p r o v e m e n t s . S m a r t T V A p p s T h e G i b b o n r e n d e r i n g l a y e r , a J a v a S c r i p t a p p l i c a t i o n f o r d y n a m i c u p d a t e s , a n d a n a t i v e S o f t w a r e D e v e l o p m e n t K i t ( S D K ) c o m p r i s e t h e c o m p l e x a r c h i t e c t u r e u p o n w h i c h t h e N e t f l i x T V A p p l i c a t i o n i s b a s e d . T h e a p p l i c a t i o n g u a r a n t e e s f l u i d U I r e n d e r i n g a n d r e s p o n s i v e n e s s a c r o s s m u l t i p l e T V p l a t f o r m s b y u t i l i z i n g R e a c t G i b b o n , a c u s t o m i z e d v a r i a n t o f R e a c t . P r i o r i t i z i n g p e r f o r m a n c e o p t i m i z a t i o n m e a n s f o c u s i n g o n m e a s u r e s s u c h a s f r a m e s p e r s e c o n d a n d k e y i n p u t r e s p o n s i v e n e s s . R e n d e r i n g e f f i c i e n c y i s i n c r e a s e d b y m e t h o d s l i k e p r o p i t e r a t i o n r e d u c t i o n a n d i n l i n e c o m p o n e n t c r e a t i o n ; p e r f o r m a n c e i s f u r t h e r o p t i m i z e d b y s t y l e o p t i m i z a t i o n a n d c u s t o m c o m p o n e n t d e v e l o p m e n t . W i t h a c o n s t a n t f o c u s o n e n h a n c i n g t h e T V a p p e x p e r i e n c e f o r c o n s u m e r s a c r o s s m a n y p l a t f o r m s , N e t f l i x c u l t i v a t e s a c u l t u r e o f p e r f o r m a n c e e x c e l l e n c e . R e v a m p i n g t h e P l a y b a c k E x p e r i e n c e : A J o u r n e y T o w a r d s M o d e r n i z a t i o n N e t f l i x h a s c o m p l e t e l y c h a n g e d h o w p e o p l e w a t c h a n d c o n s u m e d i g i t a l m e d i a o v e r t h e l a s t t e n y e a r s . B u t e v e n t h o u g h t h e s t r e a m i n g g i a n t h a s b e e n r e l e a s i n g c u t t i n g e d g e f e a t u r e s r e g u l a r l y , t h e p l a y b a c k i n t e r f a c e ’ s v i s u a l d e s i g n a n d u s e r c o n t r o l s h a v e n ’ t c h a n g e d m u c h s i n c e 2 0 1 3 . A f t e r r e a l i z i n g t h a t t h e p l a y b a c k u s e r i n t e r f a c e n e e d e d t o b e u p d a t e d , t h e W e b U I t e a m s e t o u t t o r e d e s i g n i t . T h e t e a m ’ s t h r e e m a i n c a n v a s e s w e r e P r e P l a y , V i d e o P l a y b a c k , a n d P o s t P l a y . T h e i r g o a l w a s t o i n c r e a s e c u s t o m e r p l e a s u r e a n d e n g a g e m e n t . B y u t i l i z i n g t e c h n o l o g i e s l i k e R e a c t . j s a n d R e d u x t o e x p e d i t e d e v e l o p m e n t a n d e n h a n c e p e r f o r m a n c e , N e t f l i x r e v o l u t i o n i z e d i t s p l a y b a c k u s e r i n t e r f a c e N e t f l i x A r c h i t e c t u r e : B a c k e n d I n f r a s t r u c t u r e C o n t e n t D e l i v e r y N e t w o r k ( C D N ) N e t f l i x ’ s i n f r a s t r u c t u r e d e p e n d s o n i t s C o n t e n t D e l i v e r y N e t w o r k ( C D N ) , a d d i t i o n a l l y r e f e r r e d t o a s N e t f l i x O p e n C o n n e c t , w h i c h a l l o w s c o n t e n t t o b e d e l i v e r e d t o m i l l i o n s o f v i e w e r s g l o b a l l y w i t h e a s e . G l o b a l l y d i s t r i b u t e d , t h e C D N i s e s s e n t i a l t o e n s u r i n g t h a t c u s t o m e r s i n v a r i o u s l o c a t i o n s r e c e i v e h i g h q u a l i t y s t r e a m i n g c o n t e n t . T h e w a y N e t f l i x O p e n C o n n e c t C D N w o r k s i s t h a t s e r v e r s , c a l l e d O p e n C o n n e c t A p p l i a n c e s ( O C A s ) , a r e p o s i t i o n e d s t r a t e g i c a l l y s o t h a t t h e y a r e n e a r I n t e r n e t s e r v i c e p r o v i d e r s ( I S P s ) a n d t h e i r u s e r s . W h e n c o n t e n t d e l i v e r y i s a t i t s p e a k , t h i s p r o x i m i t y r e d u c e s l a t e n c y a n d g u a r a n t e e s e f f e c t i v e p e r f o r m a n c e . N e t f l i x i s a b l e t o m a x i m i z e b a n d w i d t h u t i l i z a t i o n a n d l e s s e n i t s d e p e n d e n c e o n c o s t l y b a c k b o n e c a p a c i t y b y p r e p o s i t i o n i n g c o n t e n t w i t h i n I S P n e t w o r k s , w h i c h i m p r o v e s t h e t o t a l s t r e a m i n g e x p e r i e n c e . S c a l a b i l i t y i s o n e o f N e t f l i x ’ s C D N ’ s p r i m a r y f e a t u r e s . W i t h O C A s i n s t a l l e d i n a b o u t 1 , 0 0 0 l o c a t i o n s a c r o s s t h e g l o b e , i n c l u d i n g i s o l a t e d l o c a l e s l i k e i s l a n d s a n d t h e A m a z o n r a i n f o r e s t , N e t f l i x i s a b l e t o m e e t t h e e x p a n d i n g d e m a n d f o r s t r e a m i n g s e r v i c e s a c r o s s a w i d e r a n g e o f g e o g r a p h i c a r e a s . A d d i t i o n a l l y , N e t f l i x g r a n t s O C A s t o q u a l i f i e d I S P s s o t h e y c a n o f f e r N e t f l i x c o n t e n t s t r a i g h t f r o m t h e i r n e t w o r k s . T h i s s t r a t e g y g u a r a n t e e s i m p r o v e d s t r e a m i n g f o r s u b s c r i b e r s w h i l e a l s o s a v i n g I S P s ’ r u n n i n g e x p e n s e s . N e t f l i x c u l t i v a t e s a w i n w i n r e l a t i o n s h i p w i t h I S P s b y p r o v i d i n g l o c a l i z e d c o n t e n t d i s t r i b u t i o n a n d c o l l a b o r a t i n g w i t h t h e m , w h i c h e n h a n c e s t h e s t r e a m i n g e c o s y s t e m a s a w h o l e . T r a n s f o r m i n g V i d e o P r o c e s s i n g : T h e M i c r o s e r v i c e s R e v o l u t i o n a t N e t f l i x B y i m p l e m e n t i n g m i c r o s e r v i c e s , N e t f l i x h a s t r a n s f o r m e d i t s v i d e o p r o c e s s i n g p i p e l i n e , e n a b l i n g u n m a t c h e d s c a l a b i l i t y a n d f l e x i b i l i t y t o s a t i s f y t h e n e e d s o f s t u d i o o p e r a t i o n s a s w e l l a s m e m b e r s t r e a m i n g . W i t h t h e s w i t c h t o t h e m i c r o s e r v i c e s b a s e d p l a t f o r m f r o m t h e m o n o l i t h i c p l a t f o r m , a n e w a g e o f a g i l i t y a n d f e a t u r e d e v e l o p m e n t v e l o c i t y w a s b r o u g h t i n . E a c h s t e p o f t h e v i d e o p r o c e s s i n g w o r k f l o w i s r e p r e s e n t e d b y a s e p a r a t e m i c r o s e r v i c e , a l l o w i n g f o r s i m p l i f i e d o r c h e s t r a t i o n a n d d e c o u p l e d f u n c t i o n a l i t y . T o g e t h e r , t h e s e s e r v i c e s — w h i c h r a n g e f r o m v i d e o i n s p e c t i o n t o c o m p l e x i t y a n a l y s i s a n d e n c o d i n g — p r o d u c e e x c e l l e n t v i d e o a s s e t s s u i t a b l e f o r s t u d i o a n d s t r e a m i n g u s e c a s e s . M i c r o s e r v i c e s h a v e p r o d u c e d n o t i c e a b l e r e s u l t s b y f a c i l i t a t i n g q u i c k i t e r a t i o n a n d a d a p t a t i o n t o s h i f t i n g b u s i n e s s r e q u i r e m e n t s . P l a y b a c k P r o c e s s i n N e t f l i x O p e n C o n n e c t W o r l d w i d e c u s t o m e r s c a n e n j o y a f l a w l e s s a n d e x c e l l e n t v i e w i n g e x p e r i e n c e t h a n k s t o N e t f l i x O p e n C o n n e c t ’ s p l a y b a c k p r o c e d u r e . I t f u n c t i o n s a s f o l l o w s : H e a l t h r e p o r t i n g : O p e n C o n n e c t A p p l i a n c e s ( O C A s ) r e p o r t t o t h e c a c h e c o n t r o l s e r v i c e s i n A m a z o n W e b S e r v i c e s ( A W S ) o n a r e g u l a r b a s i s r e g a r d i n g t h e i r l e a r n e d r o u t e s , c o n t e n t a v a i l a b i l i t y , a n d o v e r a l l h e a l t h . U s e r r e q u e s t : F r o m t h e N e t f l i x a p p l i c a t i o n h o s t e d o n A W S , a u s e r o n a c l i e n t d e v i c e r e q u e s t s t h a t a T V s h o w o r m o v i e b e p l a y e d b a c k . A u t h o r i z a t i o n a n d f i l e s e l e c t i o n : A f t e r v e r i f y i n g u s e r a u t h o r i z a t i o n a n d l i c e n s i n g , t h e A W S p l a y b a c k a p p l i c a t i o n s e r v i c e s c h o o s e t h e p r e c i s e f i l e s n e e d e d t o p r o c e s s t h e p l a y b a c k r e q u e s t . S t e e r i n g s e r v i c e : T h e A W S s t e e r i n g s e r v i c e c h o o s e s w h i c h O C A s t o s e r v e f i l e s f r o m b a s e d o n t h e d a t a t h a t t h e c a c h e c o n t r o l s e r v i c e h a s s a v e d . T h e p l a y b a c k a p p l i c a t i o n s e r v i c e s r e c e i v e t h e s e O C A s f r o m i t w h e n i t c o n s t r u c t s t h e i r U R L s . C o n t e n t d e l i v e r y : O n t h e c l i e n t d e v i c e , t h e p l a y b a c k a p p l i c a t i o n s e r v i c e s s e n d t h e U R L s o f t h e r e l e v a n t O C A s . W h e n t h e r e q u e s t e d f i l e s a r e s e n t t o t h e c l i e n t d e v i c e o v e r H T T P / H T T P S , t h e c h o s e n O C A s t a r t s s e r v i n g t h e m . B e l o w i s a v i s u a l r e p r e s e n t a t i o n d e m o n s t r a t i n g t h e p l a y b a c k p r o c e s s : D a t a b a s e s i n N e t f l i x A r c h i t e c t u r e L e v e r a g i n g A m a z o n S 3 f o r S e a m l e s s M e d i a S t o r a g e N e t f l i x ’ s a b i l i t y t o w i t h s t a n d t h e A p r i l 2 1 , 2 0 2 2 , A W S o u t a g e d e m o n s t r a t e d t h e v a l u e o f i t s c l o u d i n f r a s t r u c t u r e , p a r t i c u l a r l y i t s r e l i a n c e o n A m a z o n S 3 f o r d a t a s t o r a g e . N e t f l i x ’ s s y s t e m s w e r e b u i l t t o e n d u r e s u c h o u t a g e s b y l e v e r a g i n g s e r v i c e s l i k e S i m p l e D B , S 3 , a n d C a s s a n d r a . N e t f l i x ’ s i n f r a s t r u c t u r e i s b u i l t o n t h e f o u n d a t i o n o f i t s u s e o f A m a z o n S 3 ( S i m p l e S t o r a g e S e r v i c e ) f o r m e d i a s t o r a g e , w h i c h p o w e r s t h e s t r e a m i n g g i a n t ’ s h u g e c o l l e c t i o n o f f i l m s , T V s e r i e s , a n d o r i g i n a l c o n t e n t . P e t a b y t e s o f d a t a a r e n e e d e d t o s e r v i c e m i l l i o n s o f N e t f l i x u s e r s w o r l d w i d e , a n d S 3 i s t h e p e r f e c t c h o i c e f o r s t o r i n g t h i s d a t a s i n c e i t o f f e r s s c a l a b l e , r e l i a b l e , a n d h i g h l y a c c e s s i b l e s t o r a g e . A n o t h e r i m p o r t a n t c o n s i d e r a t i o n t h a t l e d N e t f l i x t o s e l e c t S 3 f o r m e d i a s t o r a g e i s s c a l a b i l i t y . W i t h S 3 , N e t f l i x c a n e a s i l y e x p a n d i t s s t o r a g e c a p a c i t y w i t h o u t h a v i n g t o w o r r y a b o u t a d d i n g m o r e h a r d w a r e o r m a i n t a i n i n g c o m p l i c a t e d s t o r a g e i n f r a s t r u c t u r e a s i t s c o n t e n t c o l l e c t i o n g r o w s . T o m e e t t h e g r o w i n g d e m a n d f o r s t r e a m i n g c o n t e n t w i t h o u t s a c r i f i c i n g u s e r e x p e r i e n c e o r s p e e d , N e t f l i x n e e d s t o b e s c a l a b l e . E m b r a c i n g N o S Q L f o r S c a l a b i l i t y a n d F l e x i b i l i t y T h e n e e d f o r s t r u c t u r e d s t o r a g e a c c e s s t h r o u g h o u t a h i g h l y d i s t r i b u t e d i n f r a s t r u c t u r e d r i v e s N e t f l i x ’ s d a t a b a s e s e l e c t i o n p r o c e s s . N e t f l i x a d o p t e d t h e p a r a d i g m s h i f t t o w a r d s N o S Q L d i s t r i b u t e d d a t a b a s e s a f t e r r e a l i z i n g t h e s h o r t c o m i n g s o f t r a d i t i o n a l r e l a t i o n a l m o d e l s i n t h e c o n t e x t o f I n t e r n e t s c a l e o p e r a t i o n s . I n t h e i r d a t a b a s e e c o s y s t e m , t h r e e e s s e n t i a l N o S Q L s o l u t i o n s s t a n d o u t : C a s s a n d r a , H a d o o p / H B a s e , a n d S i m p l e D B . A m a z o n S i m p l e D B A s N e t f l i x m o v e d t o t h e A W S c l o u d , S i m p l e D B f r o m A m a z o n b e c a m e a n o b v i o u s s o l u t i o n f o r m a n y u s e c a s e s . I t w a s a p p e a l i n g b e c a u s e o f i t s p o w e r f u l q u e r y c a p a b i l i t i e s , a u t o m a t i c r e p l i c a t i o n a c r o s s a v a i l a b i l i t y z o n e s , a n d d u r a b i l i t y . S i m p l e D B ’ s h o s t e d s o l u t i o n r e d u c e d o p e r a t i o n a l o v e r h e a d , w h i c h i s i n l i n e w i t h N e t f l i x ’ s p o l i c y o f u s i n g c l o u d p r o v i d e r s f o r n o n d i f f e r e n t i a t e d o p e r a t i o n s . A p a c h e H B a s e A p a c h e H B a s e e v o l v e d a s a p r a c t i c a l , h i g h p e r f o r m a n c e s o l u t i o n f o r H a d o o p b a s e d s y s t e m s . I t s d y n a m i c p a r t i t i o n i n g s t r a t e g y m a k e s i t e a s i e r t o r e d i s t r i b u t e l o a d a n d c r e a t e c l u s t e r s , w h i c h i s c r u c i a l f o r h a n d l i n g N e t f l i x ’ s g r o w i n g v o l u m e o f d a t a . H B a s e ’ s r o b u s t c o n s i s t e n c y a r c h i t e c t u r e i s e n h a n c e d b y i t s s u p p o r t f o r d i s t r i b u t e d c o u n t e r s , r a n g e q u e r i e s , a n d d a t a c o m p r e s s i o n , w h i c h m a k e s i t a p p r o p r i a t e f o r a v a r i e t y o f u s e c a s e s . A p a c h e C a s s a n d r a T h e o p e n s o u r c e N o S Q L d a t a b a s e C a s s a n d r a p r o v i d e s p e r f o r m a n c e , s c a l a b i l i t y , a n d f l e x i b i l i t y . I t s d y n a m i c c l u s t e r g r o w t h a n d h o r i z o n t a l s c a l a b i l i t y m e e t N e t f l i x ’ s r e q u i r e m e n t f o r u n l i m i t e d s c a l e . B e c a u s e o f i t s a d a p t a b l e c o n s i s t e n c y , r e p l i c a t i o n m e c h a n i s m s , a n d f l e x i b l e d a t a m o d e l , C a s s a n d r a i s p e r f e c t f o r c r o s s r e g i o n a l d e p l o y m e n t s a n d s c a l i n g w i t h o u t s i n g l e p o i n t s o f f a i l u r e . S i n c e e a c h N o S Q L t o o l i s b e s t s u i t e d f o r a c e r t a i n s e t o f u s e c a s e s , N e t f l i x h a s a d o p t e d a n u m b e r o f t h e m . W h i l e C a s s a n d r a e x c e l s i n c r o s s r e g i o n a l d e p l o y m e n t s a n d f a u l t t o l e r a n t s c a l i n g , H B a s e c o n n e c t s w i t h t h e H a d o o p p l a t f o r m n a t u r a l l y . A l e a r n i n g c u r v e a n d o p e r a t i o n a l e x p e n s e a c c o m p a n y a p i l l a r o f N e t f l i x ’ s l o n g t e r m c l o u d s t r a t e g y , N o S Q L a d o p t i o n , b u t t h e b e n e f i t s i n t e r m s o f s c a l a b i l i t y , a v a i l a b i l i t y , a n d p e r f o r m a n c e m a k e t h e i n v e s t m e n t w o r t h w h i l e . M y S Q L i n N e t f l i x ’ s B i l l i n g I n f r a s t r u c t u r e N e t f l i x ’ s b i l l i n g s y s t e m e x p e r i e n c e d a m a j o r t r a n s f o r m a t i o n a s p a r t o f i t s e x t e n s i v e m i g r a t i o n t o A W S c l o u d n a t i v e a r c h i t e c t u r e . B e c a u s e N e t f l i x r e l i e s h e a v i l y o n b i l l i n g f o r i t s o p e r a t i o n s , t h e m o v e t o A W S w a s h a n d l e d c a r e f u l l y t o g u a r a n t e e t h a t t h e r e w o u l d b e a s l i t t l e o f a n i m p a c t o n m e m b e r s ’ e x p e r i e n c e s a s p o s s i b l e a n d t h a t s t r i c t f i n a n c i a l s t a n d a r d s w o u l d b e f o l l o w e d . T r a c k i n g b i l l i n g p e r i o d s , m o n i t o r i n g p a y m e n t s t a t u s e s , a n d p r o v i d i n g d a t a t o f i n a n c i a l s y s t e m s f o r r e p o r t i n g a r e j u s t a f e w o f t h e t a s k s t h a t N e t f l i x ’ s b i l l i n g i n f r a s t r u c t u r e h a n d l e s . T h e b i l l i n g e n g i n e e r i n g t e a m m a n a g e d a c o m p l i c a t e d e c o s y s t e m t h a t i n c l u d e d b a t c h t a s k s , A P I s , c o n n e c t o r s w i t h o t h e r s e r v i c e s , a n d d a t a m a n a g e m e n t t o a c c o m p l i s h t h e s e f u n c t i o n a l i t i e s . T h e s e l e c t i o n o f d a t a b a s e t e c h n o l o g y w a s o n e o f t h e m o s t i m p o r t a n t c h o i c e s m a d e d u r i n g t h e m o v e . M y S Q L w a s c h o s e n a s t h e d a t a b a s e s o l u t i o n d u e t o t h e n e e d f o r s c a l a b i l i t y a n d t h e r e q u i r e m e n t f o r A C I D t r a n s a c t i o n s i n p a y m e n t p r o c e s s i n g . B u i l d i n g r o b u s t t o o l i n g , o p t i m i z i n g c o d e , a n d r e m o v i n g u n n e c e s s a r y d a t a w e r e a l l p a r t o f t h e m i g r a t i o n p r o c e s s i n o r d e r t o a c c o m m o d a t e t h e n e w c l o u d a r c h i t e c t u r e . B e f o r e t r a n s f e r r i n g t h e c u r r e n t m e m b e r d a t a , a t h o r o u g h t e s t i n g p r o c e s s u s i n g c l e a n d a t a s e t s w a s c a r r i e d o u t u s i n g p r o x i e s a n d r e d i r e c t o r s t o h a n d l e t r a f f i c r e d i r e c t i o n . I t w a s a c o m p l i c a t e d p r o c e s s t o m i g r a t e t o M y S Q L o n A W S ; i t r e q u i r e d c a r e f u l p l a n n i n g , m e t h o d i c a l i m p l e m e n t a t i o n , a n d o n g o i n g t e s t i n g a n d i t e r a t i o n . I n s p i t e o f t h e d i f f i c u l t i e s , t h e m o v e w e n t w e l l , a l l o w i n g N e t f l i x t o u s e t h e s c a l a b i l i t y a n d d e p e n d a b i l i t y o f A W S c l o u d s e r v i c e s f o r i t s b i l l i n g s y s t e m . I n s u m m a r y , s w i t c h i n g N e t f l i x ’ s b i l l i n g s y s t e m t o M y S Q L o n A W S i n v o l v e d e x t e n s i v e e n g i n e e r i n g w o r k a n d w i d e r a n g i n g e f f e c t s . N e t f l i x s s y s t e m a r c h i t e c t u r e h a s u p d a t e d i t s b i l l i n g s y s t e m a n d u s e d c l o u d b a s e d s o l u t i o n s t o p r e p a r e f o r u p c o m i n g d e v e l o p m e n t s i n t h e d i g i t a l s p a c e . H e r e i s N e t f l i x ’ s p o s t m i g r a t i o n a r c h i t e c t u r e : C o n t e n t P r o c e s s i n g P i p e l i n e i n N e t f l i x A r c h i t e c t u r e T h e N e t f l i x c o n t e n t p r o c e s s i n g p i p e l i n e i s a s y s t e m a t i c a p p r o a c h f o r h a n d l i n g d i g i t a l a s s e t s t h a t a r e p r o v i d e d b y p a r t n e r s i n c o n t e n t a n d f u l f i l l m e n t . T h e t h r e e m a i n p h a s e s a r e i n g e s t i o n , t r a n s c o d i n g , a n d p a c k a g i n g . I n g e s t i o n S o u r c e f i l e s , s u c h a s a u d i o , t i m e d t e x t , o r v i d e o , a r e t h o r o u g h l y e x a m i n e d f o r a c c u r a c y a n d c o m p l i a n c e t h r o u g h o u t t h e i n g e s t i o n s t a g e . T h e s e v e r i f i c a t i o n s i n c l u d e s e m a n t i c s i g n a l d o m a i n i n s p e c t i o n s , f i l e f o r m a t v a l i d a t i o n , d e c o d a b i l i t y o f c o m p r e s s e d b i t s t r e a m s , c o m p l i a n c e w i t h N e t f l i x d e l i v e r y c r i t e r i a , a n d t h e i n t e g r i t y o f d a t a t r a n s f e r . T r a n s c o d i n g a n d P a c k a g i n g T h e s o u r c e s g o t h r o u g h t r a n s c o d i n g t o p r o d u c e o u t p u t e l e m e n t a r y s t r e a m s w h e n t h e y m a k e i t b e y o n d t h e i n g e s t i o n s t a g e . A f t e r t h a t , t h e s e s t r e a m s a r e e n c r y p t e d a n d p l a c e d i n d i s t r i b u t i o n r e a d y s t r e a m a b l e c o n t a i n e r s . E n s u r i n g S e a m l e s s S t r e a m i n g W i t h N e t f l i x ’ s C a n a r y M o d e l S i n c e c l i e n t a p p l i c a t i o n s a r e t h e m a i n w a y u s e r s e n g a g e w i t h a b r a n d , t h e y m u s t b e o f e x c e l l e n t q u a l i t y f o r g l o b a l d i g i t a l p r o d u c t s . A t N e t f l i x s s y s t e m a r c h i t e c t u r e , s i g n i f i c a n t a m o u n t s o f m o n e y a r e a l l o c a t e d t o w a r d s g u a r a n t e e i n g t h o r o u g h e v a l u a t i o n o f u p d a t e d a p p l i c a t i o n v e r s i o n s . N e v e r t h e l e s s , t h o r o u g h i n t e r n a l t e s t i n g b e c o m e s d i f f i c u l t b e c a u s e N e t f l i x i s a c c e s s i b l e o n t h o u s a n d s o f d e v i c e s a n d i s p o w e r e d b y h u n d r e d s o f i n d e p e n d e n t l y d e p l o y e d m i c r o s e r v i c e s . A s a r e s u l t , i t i s c r u c i a l t o s u p p o r t r e l e a s e d e c i s i o n s w i t h s o l i d f i e l d d a t a a c q u i r e d d u r i n g t h e u p d a t e p r o c e s s . T o e x p e d i t e t h e a s s e s s m e n t o f u p d a t e d c l i e n t a p p l i c a t i o n s , N e t f l i x ’ s s y s t e m a r c h i t e c t u r e h a s f o r m e d a s p e c i a l i z e d t e a m t o m i n e h e a l t h s i g n a l s f r o m t h e f i e l d . D e v e l o p m e n t v e l o c i t y i n c r e a s e d a s a r e s u l t o f t h i s s y s t e m i n v e s t m e n t , i m p r o v i n g a p p l i c a t i o n q u a l i t y a n d d e v e l o p m e n t p r o c e d u r e s . C l i e n t a p p l i c a t i o n s : T h e r e a r e t w o w a y s t h a t N e t f l i x u p g r a d e s i t s c l i e n t a p p s : t h r o u g h d i r e c t d o w n l o a d s a n d a p p s t o r e d e p l o y m e n t s . D i s t r i b u t i o n c o n t r o l i s i n c r e a s e d w i t h d i r e c t d o w n l o a d s . D e p l o y m e n t s t r a t e g i e s : A l t h o u g h t h e a d v a n t a g e s o f r e g u l a r , i n c r e m e n t a l r e l e a s e s f o r c l i e n t a p p s a r e w e l l k n o w n , u p d a t i n g s o f t w a r e p r e s e n t s c e r t a i n d i f f i c u l t i e s . S i n c e e v e r y u s e r ’ s d e v i c e d e l i v e r s d a t a i n a s t r e a m , e f f i c i e n t s i g n a l s a m p l i n g i s c r u c i a l . T h e d e p l o y m e n t s t r a t e g i e s e m p l o y e d b y N e t f l i x a r e c u s t o m i z e d t o t a c k l e t h e d i s t i n c t c h a l l e n g e s p o s e d b y a w i d e r a n g e o f u s e r d e v i c e s a n d c o m p l e x m i c r o s e r v i c e s . T h e s t r a t e g y d i f f e r s b a s e d o n t h e k i n d o f c l i e n t — f o r e x a m p l e , s m a r t T V s v s m o b i l e a p p l i c a t i o n s . N e w c l i e n t a p p l i c a t i o n v e r s i o n s a r e p r o g r e s s i v e l y m a d e a v a i l a b l e t h r o u g h s t a g e d r o l l o u t s , w h i c h p r o v i d e p r o m p t f a i l u r e h a n d l i n g a n d i n t e l l i g e n t b a c k e n d s e r v i c e s c a l i n g . D u r i n g r o l l o u t s , k e e p i n g a n e y e o n c l i e n t s i d e e r r o r r a t e s a n d a d o p t i o n r a t e s g u a r a n t e e s c o n s i s t e n c y a n d e f f e c t i v e n e s s i n t h e d e p l o y m e n t p r o c e d u r e . S t a g e d r o l l o u t s : T o r e d u c e r i s k s a n d s c a l e b a c k e n d s e r v i c e s w i s e l y , s t a g e d r o l l o u t s e n t a i l p r o g r e s s i v e l y d e p l o y i n g n e w s o f t w a r e v e r s i o n s . A B t e s t s / c l i e n t c a n a r i e s : N e t f l i x e m p l o y s a n i n t e n s e v a r i a t i o n o f A / B t e s t i n g k n o w n a s “ C l i e n t C a n a r i e s , ” w h i c h i n v o l v e s t e s t i n g c o m p l e t e a p p s t o g u a r a n t e e t i m e l y u p g r a d e s w i t h i n a f e w h o u r s . O r c h e s t r a t i o n : O r c h e s t r a t i o n l e s s e n s t h e w o r k l o a d a s s o c i a t e d w i t h f r e q u e n t d e p l o y m e n t s a n d a n a l y s i s . I t i s u s e f u l f o r m a n a g i n g A / B t e s t s a n d c l i e n t c a n a r i e s . I n s u m m a r y , m i l l i o n s o f c u s t o m e r s m a y e n j o y f l a w l e s s s t r e a m i n g e x p e r i e n c e s t h a n k s t o N e t f l i x ’ s u s e o f t h e c l i e n t c a n a r y m o d e l , w h i c h g u a r a n t e e s f r e q u e n t a p p u p d a t e s . N e t f l i x A r c h i t e c t u r e D i a g r a m N e t f l i x s y s t e m A r c h i t e c t u r e i s a c o m p l e x e c o s y s t e m m a d e u p o f P y t h o n a n d J a v a w i t h S p r i n g B o o t f o r b a c k e n d s e r v i c e s , a n d A p a c h e K a f k a a n d F l i n k f o r d a t a p r o c e s s i n g a n d r e a l t i m e e v e n t s t r e a m i n g . R e d u x , R e a c t . j s , a n d H T M L 5 o n t h e f r o n t e n d p r o v i d e a c a p t i v a t i n g u s e r e x p e r i e n c e . N u m e r o u s d a t a b a s e s o f f e r r e a l t i m e a n a l y t i c s a n d h a n d l e e n o r m o u s v o l u m e s o f m e d i a c o n t e n t , i n c l u d i n g C a s s a n d r a , H B a s e , S i m p l e D B , M y S Q L , a n d A m a z o n S 3 . J e n k i n s a n d S p i n n a k e r h e l p w i t h c o n t i n u o u s i n t e g r a t i o n a n d d e p l o y m e n t , a n d A W S p o w e r s t h e e n t i r e i n f r a s t r u c t u r e w i t h s c a l a b i l i t y , d e p e n d a b i l i t y , a n d g l o b a l r e a c h . N e t f l i x ’ s d e d i c a t i o n t o p r o v i d i n g f l a w l e s s e n t e r t a i n m e n t e x p e r i e n c e s t o i t s v a s t w o r l d w i d e a u d i e n c e i s d e m o n s t r a t e d b y t h e f a c t t h a t t h e s e t e c h n o l o g i e s o n l y m a k e u p a s m a l l p o r t i o n o f i t s h u g e t e c h s t a c k . C o n c l u s i o n o f N e t f l i x A r c h i t e c t u r e N e t f l i x S y s t e m A r c h i t e c t u r e h a s r e v o l u t i o n i z e d t h e e n t e r t a i n m e n t i n d u s t r y . T h r o u g h o u t i t s e v o l u t i o n f r o m a D V D r e n t a l s e r v i c e t o a m a j o r w o r l d w i d e s t r e a m i n g p l a y e r , N e t f l i x ’ s t e c h n o l o g i c a l i n f r a s t r u c t u r e h a s b e e n e s s e n t i a l t o i t s s u c c e s s . N e t f l i x A r c h i t e c t u r e , s u p p o r t e d b y A m a z o n W e b S e r v i c e s ( A W S ) , g u a r a n t e e s u n i n t e r r u p t e d s t r e a m i n g f o r a g l o b a l u s e r b a s e . N e t f l i x e n s u r e s f a u l t l e s s c o n t e n t d e l i v e r y a c r o s s d e v i c e s w i t h i t s C l i e n t , B a c k e n d , a n d C o n t e n t D e l i v e r y N e t w o r k ( C D N ) . T h e i n n o v a t i v e u s a g e o f H T M L 5 a n d p e r s o n a l i z e d s u g g e s t i o n s b y N e t f l i x S y s t e m A r c h i t e c t u r e i m p r o v e s u s e r e x p e r i e n c e . D e s p i t e s o m e o b s t a c l e s a l o n g t h e w a y , N e t f l i x c a m e o u t s t r o n g e r a f t e r m a k i n g t h e s w i t c h t o a c l o u d n a t i v e s e t u p . I n t h e q u i c k l y e v o l v i n g f i e l d o f o n l i n e e n t e r t a i n m e n t , N e t f l i x h a s p o s i t i o n e d i t s e l f f o r f u t u r e d e v e l o p m e n t a n d i n n o v a t i o n b y e m b r a c i n g m i c r o s e r v i c e s , N o S Q L d a t a b a s e s , a n d c l o u d b a s e d s o l u t i o n s . A n y t e c h v e n t u r e c a n b e n e f i t f r o m u n d e r s t a n d i n g N e t f l i x s s y s t e m . P u t s i m p l y , N e t f l i x s S y s t e m A r c h i t e c t u r e a i m s t o t r a n s f o r m t h e w a y w e c o n s u m e m e d i a — i t ’ s n o t j u s t a b o u t t e c h n o l o g y . T h i s a r c h i t e c t u r e s e c r e t l y m a k e s s u r e t h a t e v e r y t h i n g r u n s w e l l w h e n v i e w e r s b i n g e w a t c h , i n c r e a s i n g e v e r y o n e ’ s e n j o y m e n t o f t h e e n t e r t a i n m e n t . B y R a h u l S h i v a l k a r C u l t u r e a n d M e t h o d o l o g i e s A g i l e C a r e e r D e v e l o p m e n t M e t h o d o l o g i e s T e a m M a n a g e m e n t H o w T o U s e M e t r i c S c o r e c a r d s i n E v a l u a t i n g P r o d u c t i o n R e a d i n e s s ( A n d W h y Y o u S h o u l d ) J u l y 1 0 , 2 0 2 4 b y J u s t i n R e o c k A p p l y i n g t h e P a r e t o P r i n c i p l e T o L e a r n a N e w P r o g r a m m i n g L a n g u a g e J u l y 5 , 2 0 2 4 b y K r i s h n a V i n n a k o t a O p e r a t i o n a l T e s t i n g T u t o r i a l : C o m p r e h e n s i v e G u i d e W i t h B e s t P r a c t i c e s M a y 1 6 , 2 0 2 3 b y H a r s h i t P a u l D a t a E n g i n e e r i n g A I / M L B i g D a t a D a t a b a s e s I o T A I : D o Y o u T r u s t I t ? J u l y 1 1 , 2 0 2 4 b y V o l o d y a L o m b r o z o C r e a t e J W T U s i n g D a t a W e a v e J W T L i b r a r y J u l y 1 1 , 2 0 2 4 b y U j a l a K u m a r Y a d a v E x p l a i n a b l e A I : M a k i n g t h e B l a c k B o x T r a n s p a r e n t M a y 1 6 , 2 0 2 3 b y Y i f e i W a n g C O R E S o f t w a r e D e s i g n a n d A r c h i t e c t u r e C l o u d A r c h i t e c t u r e I n t e g r a t i o n M i c r o s e r v i c e s P e r f o r m a n c e C r e a t e J W T U s i n g D a t a W e a v e J W T L i b r a r y J u l y 1 1 , 2 0 2 4 b y U j a l a K u m a r Y a d a v A H a n d s O n G u i d e T o O p e n T e l e m e t r y : I n t r o t o O b s e r v a b i l i t y J u l y 1 1 , 2 0 2 4 b y E r i c D . S c h a b e l l C O R E L o w C o d e v s . T r a d i t i o n a l D e v e l o p m e n t : A C o m p r e h e n s i v e C o m p a r i s o n M a y 1 6 , 2 0 2 3 b y T i e n N g u y e n C o d i n g F r a m e w o r k s J a v a J a v a S c r i p t L a n g u a g e s T o o l s I m p l e m e n t i n g M i c r o F r o n t e n d s i n A n g u l a r : S t e p B y S t e p G u i d e J u l y 1 1 , 2 0 2 4 b y T a p e s h M e h t a C r e a t e J W T U s i n g D a t a W e a v e J W T L i b r a r y J u l y 1 1 , 2 0 2 4 b y U j a l a K u m a r Y a d a v S c a l i n g E v e n t D r i v e n A p p l i c a t i o n s M a d e E a s y W i t h S v e l t o s C r o s s C l u s t e r C o n f i g u r a t i o n M a y 1 5 , 2 0 2 3 b y G i a n l u c a M a r d e n t e T e s t i n g , D e p l o y m e n t , a n d M a i n t e n a n c e D e p l o y m e n t D e v O p s a n d C I / C D M a i n t e n a n c e M o n i t o r i n g a n d O b s e r v a b i l i t y I m p l e m e n t i n g M i c r o F r o n t e n d s i n A n g u l a r : S t e p B y S t e p G u i d e J u l y 1 1 , 2 0 2 4 b y T a p e s h M e h t a A I : D o Y o u T r u s t I t ? J u l y 1 1 , 2 0 2 4 b y V o l o d y a L o m b r o z o L o w C o d e v s . T r a d i t i o n a l D e v e l o p m e n t : A C o m p r e h e n s i v e C o m p a r i s o n M a y 1 6 , 2 0 2 3 b y T i e n N g u y e n P o p u l a r A I / M L J a v a J a v a S c r i p t O p e n S o u r c e I m p l e m e n t i n g M i c r o F r o n t e n d s i n A n g u l a r : S t e p B y S t e p G u i d e J u l y 1 1 , 2 0 2 4 b y T a p e s h M e h t a A I : D o Y o u T r u s t I t ? J u l y 1 1 , 2 0 2 4 b y V o l o d y a L o m b r o z o F i v e I n t e l l i J I d e a P l u g i n s T h a t W i l l C h a n g e t h e W a y Y o u C o d e M a y 1 5 , 2 0 2 3 b y T o x i c D e v A B O U T U S A b o u t D Z o n e S e n d f e e d b a c k C o m m u n i t y r e s e a r c h S i t e m a p A D V E R T I S E A d v e r t i s e w i t h D Z o n e C O N T R I B U T E O N D Z O N E A r t i c l e S u b m i s s i o n G u i d e l i n e s B e c o m e a C o n t r i b u t o r C o r e P r o g r a m V i s i t t h e W r i t e r s Z o n e L E G A L T e r m s o f S e r v i c e P r i v a c y P o l i c y C O N T A C T U S 3 3 4 3 P e r i m e t e r H i l l D r i v e S u i t e 1 0 0 N a s h v i l l e , T N 3 7 2 1 1 s u p p o r t @ d z o n e . c o m L e t s b e f r i e n d s :
站点概括关于dzone.com说明:
dzone.com由网友主动性提交被黑狱科技自动秒收录导航网-虚拟货源网 激活码商城网整理收录的,黑狱科技自动秒收录导航网-虚拟货源网 激活码商城网仅提供dzone.com的基础信息并免费向大众网友展示,dzone.com的是IP地址:34.206.21.47 [美国弗吉尼亚阿什本 亚马逊云],dzone.com的百度权重为0、百度手机权重为0、百度收录为0条、360收录为0条、搜狗收录为0条、谷歌收录为0条、百度来访流量大约在-之间、百度手机端来访流量大约在-之间、dzone.com的备案号是-、备案人叫-、被百度收录的关键词有5个、手机端关键词有0个、该站点迄今为止已经创建26年1个月25天。
内容声明:1、本站收录的内容来源于大数据收集,版权归原网站所有!
2、本站收录的内容若侵害到您的利益,请联系我们进行删除处理!
3、本站不接受违规信息,如您发现违规内容,请联系我们进行清除处理!
4、本文地址:http://sl.heiyukj.com/links/02c632b18ae27f3832ec.html,复制请保留版权链接!
湘西州人民政府门户网站由湘西州人民政府主办、湘西州大数据资源中心承办,是湘西州政府和各部门在互联网上发布政府信息和提供在线服务的综合平台,权威发布州政府重大决策部署和重要政策文件以及各类便民提示,搭建政府与公众互动的交流渠道,展示魅力湘西风土人情和时代风貌
药智网是中国健康产业大数据服务平台,提供医药相关的所有数据信息,并汇聚数十万医药人才为您解决药品研发、生产、销售、技术转让等各个环节所遇到的难题!
找软件,找在线工具,找官网就上探索兔!
大洼区人民政府,大洼政府,盘锦市大洼区人民政府,盘锦市大洼政府