This blog is about issues, solutions and thoughts related to product development. This includes tips and tricks that I have learned, solutions to problems I have faced, and other concepts I have found interesting and useful. This blog is intended to provide information to help other developers facing the same issues as well as providing me a method to document things in a well-known location for my own future reference.
Sunday, 28 May 2017
GIDS (Great Indian Developer Summit) 2017 - My Experience
GIDS has established
itself as the gold standard conference and expo for the software practitioner
ecosystem. Over 45,000 attendees have benefited from the platform since its
founding in 2008. I have got an opportunity to attend world class summit GIDS-2017 first time. I was able to meet lot
of enthusiastic developers from different parts of the country. Overall I have
experienced great learning, wonderful speakers and cool products showcased in
this summit. I would like to share my GIDS learning experience in this
blog. Also, I am curious to share my photo that I clicked during lunch time in GIDs Bangalore.
It was a five day summit and each day has a dedicated stream to
be presented like Web & Mobile, Java & Dynamic Lang, Data &
Cloud, Devops & Architecture. I have attended Devops & Architecture
stream where there were around 20-30 presentations based on this stream. Also
there were different companies who showcased their products and
new ideas. Listing couple of those products and providing references to get
more detail.
- Salesforce Heroku: Heroku is like Platform as a Service where you can deploy and run applications.
- Salesforce PredictionIO : PredictionIO is a Machine Learning framework that you can run on Heroku and use for tasks like intelligent recommendations based on users’ past actions.
- Flock: A faster way for your team to communicate.
- Zoho Creator: Create custom apps for your unique business needs.
- NodeRed: NodeRed is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
- MetamindIO: Smarter AI for developers.
- NVDA: NVDA (NonVisual Desktop Access) is a free “screen reader” which enables blind and vision impaired people to use computers. It reads the text on the screen in a computerised voice. You can control what is read to you by moving the cursor to the relevant area of text with a mouse or the arrows on your keyboard.
- Chaos Monkey: Open sources cloud-testing tool.
- CUBA Platform: CUBA Platform is an open source framework for the rapid development of enterprise applications.
Let me also share some key points that I found great during
presentations.
Evolutionary Architecture ( By Neal Ford)
For many years software architecture was described as the 'parts
that are hard to change later'. But then microservices showed that if
architects build evolvability into the architecture, changes become easier.
World is moving towards micro services based architecture and avoiding to have
monolithic which becomes Big Ball of Mud later. Common concerns of a product
like notifications, events, caching, security should not be directly plugged
but its good idea to have all these as services which can be de-plugged or
replaced easily. To get more insight about this talk, you can refer this link.
Journey of Enterprise
Continuous Delivery - ( By PayPal Developer)
In this presentation, one of the developer from PayPal has
demonstrated how PayPal achieved continuous delivery for a scale of 3500
dev, 2K+ applications, 15K deploys a month? And he shared comparison between
old vs new deployment life cycle benchmarks which you really find verify
impressive.
2013
|
Today
|
|
Build
Time
|
Hours
|
Minutes
|
Release
Duration
|
5-6
Days
|
<
10 Minutes
|
Team
involves for Release
|
Release Management
Release Engineering & Dev Teams
|
Any
individual (on a single click)
|
Feedback time on quality
analysis
|
Minimum
1 day
|
<
30 Minutes
|
Due to limitation in different continuous integration tools like Jenkins, GO and Bamboo, PayPal has decided
to built its own in-house tool ECD (Enterprise Continuous Delivery) using
Sprint Batch, Jersey and AngularJS with existing capabilities of Jenkins. ECD
has got its additional features like automated creation flow, flexibility to
extended steps, parallel processing, simple user interface and YAML based
definition. PayPal has got continuous and fast delivery processing after adapting
Micro Services Architecture, Docker Cloud Platform and ECD (in-house continuous
delivery tool). Most of the IT organizations are looking for continuous and fast delivery
and thinking to avoid traditional monolithic architecture pattern.
Designing Systems for the
Remaining 15% of Population
According to WHO, there are around 1.2
billion people with disabilities in the world who face various difficulties in
working with digital systems. If as IT solution provider, we can remove the
barriers in accessing these systems for users with disabilities, we can expand
our markets. Such fixes would not only expand markets for users with
disabilities, but many of these fixes would improve usability for people
without disabilities.
How as developer we should contribute:
- Consistent Navigation
- Simple interface (well spaced UI controls, good gap between UI controls, simple language)
- Device independent input (key board uses, touch screen etc.)
- Multi-sensory (text alternative for images, contrast, caption/subtitle/transcript )
- Problematically access (for web - HTML structure as indented, for desktop - using standard controls etc.)
From Spaghetti to Microservices
Architecture ( By Stefano Tempesta )
This session explores the agility of architecting fine-grained
microservice applications that benefit continuous integration and development
practices, and accelerated delivery of new functions into production, with the
help of Azure Service Fabric. It
also presents the Publish-Subscribe design pattern of an enterprise-level
service bus built on Azure Service Bus, which guarantees message queueing and
delivery, on-premises and in the cloud.
My Takeaways from GIDS
- Evolutionary architectural practices and key notes by Neal Ford
- Latest technology trends for continuous delivery
- Microservices architecture and it's challenges
- Considering designing aspects for users who are differently abled
- Different products/ideas (listed above) which are showcased
- Sample project creation on Salesforce Heroku platform
- MEAN vs LAMP architecture
- Google's AMP (Accelerated Mobile Pages)
- Basics of lambda architecture, batch/speed/serving layer and VoltDB
At last I would like to conclude, overall it was enriching
experience where I got to know different architectural aspects, latest
technology trends and different new products in the market.
Subscribe to:
Posts (Atom)