Saturday, October 3, 2020

Launched Vedcraft - A place for Software Architects!

The idea of Vedcraft came into existence a few years back while mentoring a programmer to be groomed as a software architect. In hindsight, when I was working as a senior software engineer, I wished to find a place to get connected with my mentor and share the practical knowledge of software design and software architecture. 

Vedcraft is an honest effort to help in grooming software programmers as software architects. In addition, seasoned architects can help groom aspiring architects and also collaborate, and share their knowledge.

Vedcraft has initially designed with the following focus areas in mind and will continuously evolve as it progresses.

  • Architecture – with focus on sharing foundational elements of software architecture as a practice
  • Learning Path – with focus on providing a clear path to be groomed as an architect
  • Certifications – with focus on providing knowledge, learning, and experience on architecture certifications
  • Tech Trends – with focus on sharing upcoming architecture trends and technologies
  • Tech Events – with focus on providing information on key industry technology events and sharing learning from those events


 

 Please share your feedback and comments to ensure that this initiative becomes successful and looking forward to your support.

A glimpse of website launched:

 



 

 

Monday, June 15, 2020

5 Essential Tips on Getting Certified as AWS Certified Solutions Architect – Associate (2020)


AWS has launched new version of AWS Certified Solutions Architect – Associate (SAA-C02) in March 2020 and based on my journey of getting certified, would like to share my experience to make you successful. Here are 5 key tips you can follow to make sure your journey also results in success:
Key success path for any certification is to put a target date (1-2 months of preparation) and focus on a daily basis to make consistent progress. Don't over-prepare and don't procrastinate as well.

Best of Luck!!

Disclaimer:
All data and information provided on this site is for informational purposes only. This site makes no representations as to accuracy, completeness, correctness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis.This is a personal weblog. The opinions expressed here represent my own and not those of my employer or any other organization.




Thursday, April 16, 2020

Using Enterprise Architecture Framework (TOGAF) in an Agile Way

Ensuring your organization follows best practices, frameworks, tools & deliverables recommended by an Enterprise Architecture framework like TOGAF is a daunting task. Often, we start with high-energy and commitment but the journey to get it in practice in your organization is not an easy path.

A pragmatic & progressive way towards building an enterprise architecture capability is similar to Agile methodology where we build the product incrementally. Considering a similar mindset, we can incrementally build enterprise capability and every cycle of TOGAF ADM helps towards achieving the same.

Key idea is to identify the top 3 deliverables or artifacts relevant to your organization and also use TOGAF framework in conjunction with the Agile framework in practice. 

Here is an example of going through various phases of TOGAF and brainstorm on identifying Top 3 Deliverables as an output of the first cycle across various phases.  




In conclusion, starting small and build on top of it is key to the success of getting enterprise architecture practice gets established in your organization.

Reference:  
https://pubs.opengroup.org/architecture/togaf9-doc/arch/

Wednesday, March 4, 2020

3 Key Metrics for Measuring Software Quality

As a software architect, software quality is always on top of the priority and we are measured by the quality we deliver. While we have many tools to measure & control software quality, but before the how part, the first step is to figure out what to measure for quality?

In my experience and expertise, there are three dimensions of quality as part of delivering product/software:
  1. Build Quality: Code quality meeting functional & non-functional requirements
  2. Delivery Quality: Delivering Code does not always help; business/executive team likes to measure success in terms of cost, time & quality
  3. Functional Quality: To ensure code propagated to production meets all testing nuances
For each of the dimensions, having a defined "Quality Index" based on metrics applicable for your organization or product helps to build and deliver a better quality product.




Once the metrics have been defined, automating capturing/measuring these metrics, monitoring regularly and acting based on the information to improve iteratively helps to improve progressively.

Based on above, Software Quality Index needs to be defined, measured and baselined for each product:
To conclude, strategy to define software quality is usually tailored for each organization & does not need to be an afterthought.

Friday, December 22, 2017

Emerging role of PaaS (Platform as a service) in building cloud-native applications

Challenges & opportunities for cloud-native applications

Current technology landscape for cloud-native apps is evolving and Platform-as-a-Service (PaaS) solutions are constantly changing to meet the demands such architecture. As customers need flexibility and openness in terms of choosing PaaS solution (without any vendor or technology lock-in), a key need is to provide a neutral view in terms of:
  • Which PaaS solution is the right fit for my enterprise (considering unique opportunities and challenges in each enterprise)?
  • How does it help in realizing the vision of migrating toward cloud-native apps (with microservices as an architectural style of business services)?
The overarching problem of choosing the right technology solution & partner towards enterprise-level cloud-native apps creates an opportunity for all of us to innovate, build and implement the right-fit solution in a progressive manner.

Capabilities of Platform as a service for cloud-native applications

A reference architecture outlined below denotes the key set of capabilities required for building cloud-native apps and helps in choosing the right platform offering these capabilities:


Key platform as a service (PaaS) solution options

CloudFoundry & Kubernetes are great initiatives towards standardization of PaaS solutions but the consensus towards a standardized approach towards PaaS is still in an early stage.

Considering current market landscape with both serverless and other emerging trends, current PaaS solutions can be visualized as below (there are many variations coming out of options shown here by different vendors):

Conclusion

Cloud-native apps development is an evolving field and considering the novelty of the solution, industry players and standards bodies (such as IEEE) are still firming up standards and best practices. As there is no silver bullet in choosing any solution and enterprise context, governance and required capabilities drive the recommended platform as a service (PaaS) solution in supporting cloud-native applications. 

Disclaimer:
All data and information provided on this site is for informational purposes only. This site makes no representations as to accuracy, completeness, correctness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis.This is a personal weblog. The opinions expressed here represent my own and not those of my employer or any other organization.



Wednesday, September 20, 2017

NGINX | Big leap towards cloud-native application platform from a high-performance web-server

NGINX has recently (Sep 6-8) organized NGINX Conference 2017 in Portland (OR) and would like to highlight some of the key announcements made by NGINX experts in this blog. There is a paradigm shift by NGINX in recent years of offering a comprehensive application platform for Cloud-native Microservices not just a high-performance web server and the same message has been consistently delivered in this conference.

NGINX CTO (Igor Sysoev) announced their aggressive strategy to move beyond web server and offer a unique application platform for cloud-native microservice application platform with the same level of high performance. Also, it is supported by almost all major cloud vendors in the market today - AWS, Azure, OpenShift, GCP, etc.

As per w3tech figuresNGINX is now #1 web-server for 1 million busiest sites in the world. NGINX has achieved this only 5 years and it is a great achievement for opensource community.
Also, a lightweight technology like NGINX to support challenging demands of Microservices (such as monitoring, high performance, hot deployment, lightweight containers, less/zero maintenance, etc.) has been highlighted and a similar approach will be extended to the new application platform.

The overall application platform has 3 key components:

1. NGINX Controller
  • Security using RBAC (load balancing config by app owners, self-control).
  • Centralized traffic management (routing, push button LB addition, upstream servers management, SSL keys management).
  • Centralized monitoring (application metrics, requests per sec, bandwidth usage, consolidated dashboard).

2. NGINX Unit
  • A brand new lightweight open-source application server.
  • Unique in the industry to support multiple languages in one application server.
  • Current beta version supports Python, PHP & Go. Java & NodeJs support to be available soon.

3. NGINX/NGINX Plus Web Server
  • High-performance web server, which is the backbone of the entire application platform.

In conclusion, big aspirations by NGINX as a company to move forward aggressively towards establishing themselves as a cloud-native platform. Keep watching NGINX!!

References:


Saturday, March 18, 2017

5 Key Takeaways from Google Cloud Next '17 Keynote Session

Technology helps in diminishing physical boundaries and watching Google Cloud Next 2017 keynote session on my TV through YouTube was a great example to prove this theory.

Cloud has been at the top of CxO's priority list and technology events such as AWS's re:Invent and Microsoft's Build 2016 re-emphasized Cloud's perseverance. Google's Cloud Next 2017 continues the trend and here are key takeaways from Google Cloud Next's Keynote on Day 1:

#1 - G-Suite adoption by key industry players in quick time
Google highlighted the adoption of G-Suite (Gmail, Docs, Drive, Calendar) by business powerhouses such as Colgate-Palmolive and Verizon and very excited to point that with good planning, it can be achieved in the timeframe of 3-6 months. 
"Google challenges old notions and showcases that it is possible to move large-scale infrastructure in months as against multi-year approaches."
A quick Google Search reveals that Colgate & Verizon has migrated 28K users & 150K users respectively in months. Read more by clicking here.

G-Suite Solution

#2 - Cloud is an incredible & cool place where everybody wants to go


Google highlighted their Cloud capabilities with examples such as Customer Planet Labs, which takes picture of Earth every 3 hours and stores in Google Cloud.

With increased security, 99.999% up-time, scalability, faster time-to-market, competitive pricing and flexibility, Google Cloud is a promising future and will be putting itself in elite category very soon.

#3 - Future is Fast Data, Analytics, AI, Deep & Machine Learning
EBay ShopBot, which uses AI, deep learning (beyond machine learning), computer vision and natural language understanding to create a great technical differentiator.

Fei-Fei Li (Chief Scientist at Google Cloud AI) talked about many such experiences (such as the scale of thousands of people having their own self-driving cars, using AI to improve the quality of human life). 
Demo of Cloud Vision API was awesome, which extends capabilities from image to video analysis using video intelligence API. 

#4 - Key industry players put faith in Google Cloud
Google invited their esteemed clients to talk about their experience with Google and their passion was contagious.
  • EBay - R.J. Pitman talked about Google Home example (along with live demo) as integration with EBay product catalog to find information about products using voice-commands. 
  • HSBC - Darryl W (Global CIO) shared their Cloud & Cloud-scale data analytics (over 100 PB of data with large computing needs to do simulations) and their plan to movement towards GCP.
  • Disney - Mike W. (CTO) talked about their Cloud-first approach with 500 projects in Cloud involving Image Recognition, Personalization, etc,
  • SAP - Talked about SAP HANA (in-memory product), which is now available on GCP. SAP Cloud Platform (uses Cloud Foundry) chose GCP over other vendors considering scalability support & containerization.
  • Verizon - Alan D. (VP) talked about G-Suite usage for the 150K workforce.
  • Colgate-Palmolive - Mike C. (CIO) talked about using G-Suite for collaboration & workspace productivity.
  • Home Depot - Paul G (SVP) talked about moving from on-premises to Cloud along particularly data analytics environment.

#5 - Better uses of money...Eric Schmidt
And, finally Eric S. pointed out that Google put $30B in infrastructure and we should not try to replicate the same and use the money to better use. In his own words:
"We put thirty billion dollars - and I know because I approved it. So it's real, right, into this platform. Please do not attempt to duplicate it.You have better uses of your money. - Eric S."

To conclude, an exciting time ahead in Cloud marketplace with Google launching differentiating GCP capabilities in competition with Amazon's AWS and Microsoft's Azure. Google's cloud roadmap looks very promising and its brand in terms of scalability, reliability, and availability makes Google Cloud Platform a very compelling option. Personally, I believe Google's offering in Big Data, Machine Learning, and AI-related services seems to be their core competence in a highly competitive Cloud marketplace.